using System.Dynamic; using Microsoft.AspNetCore.Mvc; using SharedModels.DataTransferObjects.Model; using SharedModels.QueryParameters; using SharedModels.QueryParameters.Objects; namespace Server.Services; public interface ICompanyManagementService { Task<(bool isSucceed, IActionResult? actionResult, CompanyDto company)> AddCompany(CreateCompanyDto createCompanyDto); Task<(bool isSucceed, IActionResult? actionResult, IEnumerable companies, PagingMetadata pagingMetadata)> GetCompanies(CompanyParameters parameters); Task<(bool isSucceed, IActionResult? actionResult, ExpandoObject company)> GetCompany(int id, string? fields); Task<(bool isSucceed, IActionResult? actionResult, CompanyDto company)> UpdateCompany(UpdateCompanyDto updateCompanyDto); Task<(bool isSucceed, IActionResult? actionResult)> DeleteCompany(int id); Task IsCompanyExists(int id); }