using Complex.Application.Services.Basic; //using Complex.Application.Services.Transaction; using Complex.Common.Dto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Complex.EndPoint.Controllers { /// /// مدیریت شارژ /// [ApiController] [ApiVersion("1")] [Route("api/v{version:apiVersion}/[controller]/[action]")] //[Route("[controller]/[action]")] [Authorize] public class ManageCostController : Controller { private ILogger _logger; private CostService _costCycleService; public ManageCostController(CostService costCycleService, ILogger logger) { _costCycleService = costCycleService; _logger = logger; } [HttpPost] public ResultDto InsertCostCycle(CostCycleDto costCycleDto) { return _costCycleService.InsertCostCycle(costCycleDto); } [HttpPost] public ResultDto EditCostCycle(CostCycleDto costCycleDto) { return _costCycleService.EditCostCycle(costCycleDto); } /// /// لیست مدیریت شارژ یا هر گونه مخارج گرفته می شود /// /// /// /// /// [HttpPost] public ResultDto> CostCyclsList([FromForm] Guid ComplexId, [FromForm] DateTime? StartDate = null, [FromForm] DateTime? EndDate = null, [FromForm] Guid? UnitId = null) { return _costCycleService.CostCyclsList(ComplexId, !StartDate.HasValue ? null : DateOnly.FromDateTime(StartDate.Value), !EndDate.HasValue ? null : DateOnly.FromDateTime(EndDate.Value), UnitId: UnitId); } /// /// بدهی یک واحد /// /// /// /// [HttpPost] public ResultDto CalculateCostForUnit(Guid unitId, int? incomeCostTitleId) { return _costCycleService.CalculateCostForUnit(unitId, incomeCostTitleId); } /// /// لیست بدهی های یک واحد /// [HttpPost] public ResultDto> CalculateAllCostForUnit(List unitIds) { return _costCycleService.CalculateAllCostForUnits(unitIds); } /// /// تاریخچه پرداختی ها و باقیمانده از آن /// [HttpPost] public ResultDto> CostsForUnit(List unitIds, int? incomeCostTitleId, DateTime startDate, DateTime endDate) { return _costCycleService.CostsForUnits(unitIds, incomeCostTitleId, DateOnly.FromDateTime(startDate), DateOnly.FromDateTime(endDate)); } } }