insuranc index -> OnGetCreate ....

This commit is contained in:
SamSys
2025-01-19 17:48:13 +03:30
parent 91ac849180
commit dfa78474bf
7 changed files with 122 additions and 52 deletions

View File

@@ -63,5 +63,15 @@ public interface IWorkshopRepository : IRepository<long, Workshop>
PersonalContractingPartyViewModel GetPersonalContractingPartyByWorkshopId(long workshopId);
List<WorkshopViewModel> GetWorkshopsByClientAccountId(long clientAccountId);
#endregion
#endregion
#region Insurance
/// <summary>
/// لیست انتخاب کارگاه در مودال ایجاد بیمه
/// </summary>
/// <returns></returns>
List<WorkshopViewModel> GetWorkshopSelectListInsuransce();
#endregion
}

View File

@@ -60,4 +60,14 @@ public interface IWorkshopApplication
#endregion
AccountViewModel GetClientAccountByWorkshopId(long workshopId);
#region Insurance
/// <summary>
/// لیست انتخاب کارگاه در مودال ایجاد بیمه
/// </summary>
/// <returns></returns>
List<WorkshopViewModel> GetWorkshopSelectListInsuransce();
#endregion
}

View File

@@ -16,6 +16,7 @@ using CompanyManagment.App.Contracts.RollCallService;
using CompanyManagment.App.Contracts.Workshop;
using CompanyManagment.App.Contracts.WorkshopPlan;
using CompanyManagment.EFCore.Migrations;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration.UserSecrets;
using Microsoft.Identity.Client;
using Workshop = Company.Domain.WorkshopAgg.Workshop;
@@ -748,10 +749,21 @@ public class WorkshopAppliction : IWorkshopApplication
return _personalContractingPartyRepository.GetAccountByPersonalContractingParty(contractingParty.id);
}
//public List<ConnectedPersonnelViewModel> GetConnectedPersonnelsForMain(long workshopId)
//{
// return _workshopRepository.GetConnectedPersonnelsForMain(workshopId);
//}
#endregion
//public List<ConnectedPersonnelViewModel> GetConnectedPersonnelsForMain(long workshopId)
//{
// return _workshopRepository.GetConnectedPersonnelsForMain(workshopId);
//}
#endregion
#region Insurance
public List<WorkshopViewModel> GetWorkshopSelectListInsuransce()
{
return _workshopRepository.GetWorkshopSelectListInsuransce();
}
#endregion
}

View File

@@ -136,29 +136,41 @@ public class EmployerRepository : RepositoryBase<long, Employer>, IEmployerRepos
{
var emps = _context.WorkshopEmployers.Where(x => x.WorkshopId == workshopId)
.Select(x => x.EmployerId).ToList();
var employerlist = _context.Employers.Where(x => emps.Contains(x.id)).ToList();
var employers = new List<EmprViewModel>();
foreach (var element in employerlist)
{
var employer = new EmprViewModel()
var result = _context.WorkshopEmployers.Where(x => x.WorkshopId == workshopId).Include(x=>x.Employer)
.Select(x=> new EmprViewModel()
{
EmployerFullName = element.FName + " " + element.LName,
Id = element.id,
FName = element.FName,
EmployerLName = element.EmployerLName,
IsLegal = element.IsLegal,
LName = element.LName,
IsBlockContractingParty = _context.PersonalContractingParties.FirstOrDefault(x => x.id == element.ContractingPartyId)?.IsBlock,
};
employers.Add(employer);
}
EmployerFullName = x.Employer.FName + " " + x.Employer.LName,
Id = x.Employer.id,
FName = x.Employer.FName,
EmployerLName = x.Employer.EmployerLName,
IsLegal = x.Employer.IsLegal,
LName = x.Employer.LName,
IsBlockContractingParty = _context.PersonalContractingParties
.Where(p => p.Employers.Any(e => e.id == x.Employer.id))
.Select(p => p.IsBlock)
.FirstOrDefault(),
});
//var employerlist = _context.Employers.Where(x => emps.Contains(x.id)).ToList();
//var employers = new List<EmprViewModel>();
//foreach (var element in employerlist)
//{
// var employer = new EmprViewModel()
// {
// EmployerFullName = element.FName + " " + element.LName,
// Id = element.id,
// FName = element.FName,
// EmployerLName = element.EmployerLName,
// IsLegal = element.IsLegal,
// LName = element.LName,
// IsBlockContractingParty = _context.PersonalContractingParties.FirstOrDefault(x => x.id == element.ContractingPartyId)?.IsBlock,
// };
// employers.Add(employer);
//}
return employers;
return result.ToList();
}
public List<EmployerViewModel> GetEmployerByContracrtingPartyID(long contractingPartyId)

View File

@@ -316,8 +316,7 @@ public class InsuranceListRepository : RepositoryBase<long, InsuranceList>, IIns
public List<InsuranceListViewModel> OptimizedSearch(InsuranceListSearchModel searchModel)
{
var cornometr = new Stopwatch();
cornometr.Start();
var acountId = _authHelper.CurrentAccountId();
var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId);
@@ -444,9 +443,6 @@ public class InsuranceListRepository : RepositoryBase<long, InsuranceList>, IIns
//var testquery = query.Where(x => x.Year == searchModel.Year).AsEnumerable();
Console.WriteLine("Optimized Search Time : " + cornometr.Elapsed);
cornometr.Stop();
return query.ToList();
}
public List<InsuranceListViewModel> Search(InsuranceListSearchModel searchModel)

View File

@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using _0_Framework.Application;
@@ -106,17 +107,14 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
}
public List<WorkshopViewModel> GetWorkshopAccount()
{
var AcountID = _authHelper.CurrentAccountId();
//var workshopAcounts = _context.WorkshopAccounts.Where(x => x.AccountId == AcountID)
// .Select(x => x.WorkshopId).ToList();
var workshopAcountsList = _context.WorkshopAccounts.Where(x => x.AccountId == AcountID);
//var res = (e => contractData.Contains(e.Id))
var workshopAcounts = workshopAcountsList.Select(x => x.WorkshopId).ToList();
var cornometr = new Stopwatch();
cornometr.Start();
var acountId = _authHelper.CurrentAccountId();
var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId);
var work = _context.Workshops
.Include(x => x.WorkshopEmployers).ThenInclude(x=>x.Employer).ToList();
var result =work
var result = _context.Workshops.Where(x => workshopIds.Contains(x.id) && x.IsActiveString == "true")
.Include(x => x.WorkshopEmployers).ThenInclude(x=>x.Employer)
.Select(x => new WorkshopViewModel
{
Id = x.id,
@@ -146,8 +144,12 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
HasRollCallFreeVip = x.HasRollCallFreeVip,
EmpList = x.WorkshopEmployers.Select(y => new EmployerViewModel() { Id = y.EmployerId, FullName = y.Employer.FullName }).ToList()
}).Where(e => workshopAcounts.Contains(e.Id)).ToList();
return result.Where(x => x.IsActiveString == "true").ToList();
});
Console.WriteLine("old list Time : " + cornometr.Elapsed);
cornometr.Stop();
return result.ToList();
}
public EditWorkshop GetDetails(long id)
@@ -1066,6 +1068,7 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
}
#endregion
#region NewByHeydari
//public List<WorkshopViewModel> GetWorkshopByWorkshopIds(List<long> workshopIds)
@@ -1513,4 +1516,30 @@ public class WorkshopRepository : RepositoryBase<long, Company.Domain.WorkshopAg
}
#endregion
#region Insurance
public List<WorkshopViewModel> GetWorkshopSelectListInsuransce()
{
var cornometr = new Stopwatch();
cornometr.Start();
var acountId = _authHelper.CurrentAccountId();
var workshopIds = _context.WorkshopAccounts.Where(x => x.AccountId == acountId).Select(x => x.WorkshopId);
var res = _context.Workshops
.Where(x=> workshopIds.Contains(x.id) && !string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false" && x.IsActiveString == "true")
.Select(x=> new WorkshopViewModel()
{
Id = x.id,
WorkshopFullName = x.WorkshopFullName,
});
Console.WriteLine("Optimized list Time : " + cornometr.Elapsed);
cornometr.Stop();
return res.ToList();
}
#endregion
}

View File

@@ -56,6 +56,9 @@ public class IndexModel : PageModel
_webHostEnvironment = webHostEnvironment;
}
#region MainPageList
public void OnGet()
{
var date = DateTime.Now.ToFarsi();
@@ -77,17 +80,17 @@ public class IndexModel : PageModel
{
var searchResult = _insuranceListApplication.Search(searchModel);
//foreach (var item in searchResult)
//{
// item.Month = item.Month.GetMonthByNumber();
//}
var result = new MainViewModel();
result.MainList = searchResult;
return Partial("./MainSearch", result);
}
}
#endregion
/// <summary>
/// دکمه ایجاد لیست بیمه
/// </summary>
@@ -100,13 +103,11 @@ public class IndexModel : PageModel
var day = Convert.ToInt32(date.Substring(8, 2));
var persianDate = new PersianDateTime(year, month, day);
var persianBeforeDate = persianDate.AddMonths(-1).ToString("yyyy/MM/dd");
//کارگاه هایی نوع ارسال لیست بیمه آنها مشخص شده
var workshopList = _workshopApplication.GetWorkshopAccount().Where(x =>
!string.IsNullOrWhiteSpace(x.TypeOfInsuranceSend) && x.TypeOfInsuranceSend != "false").ToList();
var workshopList = _workshopApplication.GetWorkshopSelectListInsuransce();
var command = new CreateInsuranceList
{
//WorkShopSelectList = new SelectList(_workshopApplication.GetWorkshopAccount(),"Id", "WorkshopFullName"),
WorkShopSelectList = new SelectList(workshopList, "Id", "WorkshopFullName"),
YearList = _yearlySalaryApplication.GetYears(),
//ماه قبل
@@ -560,7 +561,7 @@ public class IndexModel : PageModel
public IActionResult OnGetEdit(long id)
{
var insurance = _insuranceListApplication.GetDetailsForEdit(id);
var workshopList = _workshopApplication.GetWorkshopAccount();
var workshopList = _workshopApplication.GetWorkshopSelectListInsuransce();
var workshopObj = workshopList.Where(x => x.Id == insurance.WorkshopId)?.FirstOrDefault();
insurance.WorkshopName = workshopObj == null ? string.Empty : workshopObj.WorkshopFullName;
insurance.TypeOfInsuranceSend = workshopObj.TypeOfInsuranceSend;