Files
Backend-Api/ServiceHost/Areas/Admin/Pages/Company/InsuranceJobItem/Index.cshtml.cs
2025-05-20 22:15:06 +03:30

103 lines
3.6 KiB
C#

using CompanyManagment.App.Contracts.DateSalary;
using CompanyManagment.App.Contracts.DateSalaryItem;
using CompanyManagment.App.Contracts.InsuranceJob;
using CompanyManagment.App.Contracts.Job;
using CompanyManagment.App.Contracts.Percentage;
using CompanyManagment.App.Contracts.YearlySalary;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
namespace ServiceHost.Areas.Admin.Pages.Company.InsuranceJobItem;
public class IndexModel : PageModel
{
private readonly IDateSalaryApplication _dateSalaryApplication;
private readonly IDateSalaryItemApplication _dateSalaryItemApplication;
private readonly IInsuranceJobApplication _insuranceJobApplication;
//public SelectList Jobs;
private readonly IJobApplication _jobApplication;
private readonly IPercentageApplication _percentageApplication;
private readonly IYearlySalaryApplication _yearlySalaryApplication;
public List<DateSalaryViewModel> InsuranceJobAmountList;
public InsuranceJobSearchModel SearchModel;
public List<string> YearlyList;
public IndexModel(IJobApplication jobApplication, IInsuranceJobApplication insuranceJobApplication,
IYearlySalaryApplication yearlySalaryApplication, IPercentageApplication percentageApplication,
IDateSalaryApplication dateSalaryApplication, IDateSalaryItemApplication dateSalaryItemApplication)
{
_jobApplication = jobApplication;
_insuranceJobApplication = insuranceJobApplication;
_yearlySalaryApplication = yearlySalaryApplication;
_percentageApplication = percentageApplication;
_dateSalaryApplication = dateSalaryApplication;
_dateSalaryItemApplication = dateSalaryItemApplication;
}
public void OnGet(DateSalarySearchModel searchModel)
{
YearlyList = _yearlySalaryApplication.GetYears();
InsuranceJobAmountList = _dateSalaryApplication.Search(searchModel);
}
public IActionResult OnGetCreate()
{
var searchModel = new PercentageSearchModel();
var list = _percentageApplication.Search(searchModel);
return Partial("Create", list);
}
public IActionResult OnPostCreateDateSalaryItem(CreateDateSalaryForInsuranceJob command)
{
var result = _dateSalaryApplication.CreateDateSalaryItemForInsuranceJob(command);
return new JsonResult(result);
}
public IActionResult OnGetEdit(long id)
{
var searchModel = new DateSalaryItemSearchModel();
searchModel.DateSalaryId = id;
var dateSalary = _dateSalaryApplication.GetDetails(id);
var dateSalaryItems = _dateSalaryItemApplication.Search(searchModel);
var searchModelPercentage = new PercentageSearchModel();
var percentageList = _percentageApplication.Search(searchModelPercentage);
//var percentagIds = dateSalaryItems.Select(x => x.PercentageId).ToList();
//var percentages = percentageList.Where(x => !percentagIds.Contains(x.Id)).ToList();
//foreach (var item in percentages)
//{
// var obj = new DateSalaryItemViewModel();
// obj.Percent = item.Percent;
// obj.PercentageId = item.Id;
// obj.Salary = null;
// obj.DateSalaryId = id;
// obj.Id = 0;
// obj.StrSalary = "";
// dateSalaryItems.Add(obj);
//}
var list = new CreateDateSalaryForInsuranceJob();
list.EndDateFa = dateSalary.EndDateFa;
list.StartDateFa = dateSalary.StartDateFa;
list.Id = dateSalary.Id;
list.DateSalaryItems = dateSalaryItems;
return Partial("Edit", list);
}
public IActionResult OnPostEdit(CreateDateSalaryForInsuranceJob command)
{
var result = _dateSalaryApplication.EditDateSalaryItemForInsuranceJob(command);
return new JsonResult(result);
}
public IActionResult OnPostRemoveInsuranceJobItem(long id)
{
var result = _dateSalaryApplication.Remove(id);
return new JsonResult(result);
}
}