From c844867cab9520862027f6a6d8d3876d2e2a8a71 Mon Sep 17 00:00:00 2001 From: mahan Date: Thu, 5 Feb 2026 15:00:56 +0330 Subject: [PATCH] add OnPostCreateFromExcelData method to SalaryAidController for bulk salary aid creation from Excel data --- .../SalaryAidApplication.cs | 2 +- .../Client/Controllers/SalaryAidController.cs | 25 ++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/CompanyManagment.Application/SalaryAidApplication.cs b/CompanyManagment.Application/SalaryAidApplication.cs index f9df6543..6ed0491e 100644 --- a/CompanyManagment.Application/SalaryAidApplication.cs +++ b/CompanyManagment.Application/SalaryAidApplication.cs @@ -433,7 +433,7 @@ public class SalaryAidApplication : ISalaryAidApplication var checkouts = _checkoutRepository.GetByWorkshopIdEmployeeIdInDate( command.WorkshopId, employeeId, calculationDateGr).GetAwaiter().GetResult(); - checkouts?.SetAmountConflict(true); + checkouts?.SetAmountConflict(true); } } diff --git a/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs b/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs index 21dc7c74..b53d659c 100644 --- a/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs +++ b/ServiceHost/Areas/Client/Controllers/SalaryAidController.cs @@ -2,6 +2,7 @@ using _0_Framework.Application; using CompanyManagement.Infrastructure.Excel.SalaryAid; using CompanyManagment.App.Contracts.SalaryAid; using Microsoft.AspNetCore.Mvc; +using Microsoft.Build.Evaluation; using ServiceHost.BaseControllers; namespace ServiceHost.Areas.Client.Controllers; @@ -60,7 +61,7 @@ public class SalaryAidController:ClientBaseController return result; } - [HttpGet("edit")] + [HttpGet("{id}")] public ActionResult EditDetails(long id) { var data = _salaryAidApplication.GetDetails(id); @@ -88,6 +89,28 @@ public class SalaryAidController:ClientBaseController return validation; } + [HttpPost("create-from-excel")] + public async Task> OnPostCreateFromExcelData(List data) + { + var commands = data.Select(x => new CreateSalaryAidViewModel() + { + WorkshopId = x.WorkshopId, + Amount = x.Amount.ToMoney(), + EmployeeIds = [x.EmployeeId], + SalaryDateTime = x.SalaryAidDateTime, + NationalCode = x.NationalCode, + CalculationMonth = x.calculationMonth, + CalculationYear = x.calculationYear + }).ToList(); + + OperationResult result = await _salaryAidApplication.CreateRangeAsync(commands); + + return new JsonResult(new + { + result.IsSuccedded, + result.Message + }); + } } public class ValidateExcelRequest