diff --git a/Complex.Application/Services/TransactionServices/TransactionService.cs b/Complex.Application/Services/TransactionServices/TransactionService.cs index 18d5aec..45cb0dd 100644 --- a/Complex.Application/Services/TransactionServices/TransactionService.cs +++ b/Complex.Application/Services/TransactionServices/TransactionService.cs @@ -16,12 +16,8 @@ namespace Complex.Application.Services.TransactionServices { public interface ITransactionService { - /* - گزارش پرداختی های یک واحد - گزارش وضعیت پرداخت واحدهای یک مجتمع - ثبت یک تراکنش شارژ - - */ + ResultDto> UnitsByTransStateList(Guid complexId, Guid? UnitId, CommonRequestDto commonRequestDto); + ResultDto PayCosts(List UnitCostIds, Guid UnitId, long Amount, string UserPhone, string Description); } public class TransactionService : ITransactionService diff --git a/Complex.EndPoint/Controllers/TransactionController.cs b/Complex.EndPoint/Controllers/TransactionController.cs new file mode 100644 index 0000000..ee4ae90 --- /dev/null +++ b/Complex.EndPoint/Controllers/TransactionController.cs @@ -0,0 +1,50 @@ +using Complex.Application.Common; +using Complex.Application.Services.TransactionServices; +using Complex.Common.Dto; +using Complex.EndPoint.Utility; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; + +namespace Complex.EndPoint.Controllers +{ + [ApiController] + [ApiVersion("1")] + [Route("api/v{version:apiVersion}/[controller]/[action]")] + [Authorize] + public class TransactionController : Controller + { + private readonly ITransactionService _transactionService; + + public TransactionController(ITransactionService transactionService) + { + _transactionService = transactionService; + } + + [HttpPost] + public ResultDto> TransactionsList(TransactionListRequest request) + { + return _transactionService.UnitsByTransStateList(request.ComplexId, request.UnitId, request.CommonRequest); + } + + [HttpPost] + public ResultDto PayCosts(PayCostsRequest request) + { + return _transactionService.PayCosts(request.UnitCostIds, request.UnitId, request.Amount, User.GetUserId(), request.Description); + } + } + + public class TransactionListRequest + { + public Guid ComplexId { get; set; } + public Guid? UnitId { get; set; } + public CommonRequestDto CommonRequest { get; set; } + } + + public class PayCostsRequest + { + public List UnitCostIds { get; set; } + public Guid UnitId { get; set; } + public long Amount { get; set; } + public string? Description { get; set; } + } +}