156 lines
6.9 KiB
C#
156 lines
6.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using _0_Framework.Application;
|
|
using _0_Framework.InfraStructure;
|
|
|
|
using Company.Domain.InsuranceJobAndJobsAgg;
|
|
using Company.Domain.InsuranceJobItemAgg;
|
|
using CompanyManagment.App.Contracts.InsuranceJobItem;
|
|
using CompanyManagment.App.Contracts.Job;
|
|
|
|
namespace CompanyManagment.EFCore.Repository;
|
|
|
|
public class InsuranceJobItemRepository : RepositoryBase<long, InsuranceJobItem>, IInsuranceJobItemRepositpry
|
|
{
|
|
private readonly CompanyContext _context;
|
|
public InsuranceJobItemRepository(CompanyContext context) : base(context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public void CreateInsuranceJobItem(InsuranceJobItemViewModel model)
|
|
{
|
|
|
|
InsuranceJobItem incuranceJobItemObj = new InsuranceJobItem(model.PercentageLessThan, model.SalaeyLessThan,
|
|
model.PercentageMoreThan, model.SalaryMoreThan, model.InsuranceJobId, model.StartDate,model.EndDate);
|
|
_context.InsuranceJobItems.Add(incuranceJobItemObj);
|
|
_context.SaveChanges();
|
|
List<InsuranceJobAndJobs> insuranceJobAndJobsList = new List<InsuranceJobAndJobs>();
|
|
foreach (var item in model.JobIds)
|
|
{
|
|
var insuranceJobAndJobsObj = new InsuranceJobAndJobs();
|
|
insuranceJobAndJobsObj.JobId = item;
|
|
insuranceJobAndJobsObj.InsuranceJobItemId = incuranceJobItemObj.id;
|
|
insuranceJobAndJobsList.Add(insuranceJobAndJobsObj);
|
|
}
|
|
_context.InsuranceJobAndJobsSet.AddRange(insuranceJobAndJobsList);
|
|
_context.SaveChanges();
|
|
|
|
}
|
|
|
|
public DetailsInsuranceJobItem GetDetails(long id)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
public List<InsuranceJobItemViewModel> GetInsuranceJobItemByInsuranceJobId(long Id, string year, string month)
|
|
{
|
|
|
|
//var list = _context.InsuranceJobItems.Where(x => x.InsuranceJobId == Id).ToList().Select(x=>new InsuranceJobItemViewModel()
|
|
//{
|
|
// Id =x.id,
|
|
// PercentageLessThan=x.PercentageLessThan,
|
|
// PercentageMoreThan=x.PercentageMoreThan,
|
|
// SalaeyLessThan=x.SalaeyLessThan,
|
|
// SalaryMoreThan = x.SalaryMoreThan,
|
|
// SalaeyLessThanString = x.SalaryMoreThan.ToMoney(),
|
|
// SalaryMoreThanString = x.SalaryMoreThan.ToMoney(),
|
|
// InsuranceJobId = x.InsuranceJobId,
|
|
// JobIds = _context.InsuranceJobAndJobsSet.Where(p => p.InsuranceJobItemId == x.id).Select(p=>p.JobId).ToList()
|
|
//});
|
|
|
|
|
|
|
|
|
|
|
|
//var insuranceJobItemIds = _context.InsuranceJobAndJobsSet.Where(x => x.JobId == Id).Select(x=>x.InsuranceJobItemId).ToList();
|
|
//var insuranceJobItems = _context.InsuranceJobItems.Where(x => insuranceJobItemIds.Contains(x.InsuranceJobId)).ToList();
|
|
//var list = new List<InsuranceJobItemViewModel>();
|
|
|
|
//foreach (var item in insuranceJobItems)
|
|
//{
|
|
// var obj = new InsuranceJobItemViewModel();
|
|
// obj.Id = item.id;
|
|
// obj.PercentageLessThan = item.PercentageLessThan;
|
|
// obj.PercentageMoreThan = item.PercentageMoreThan;
|
|
// obj.SalaeyLessThan = item.SalaeyLessThan;
|
|
// obj.SalaryMoreThan = item.SalaryMoreThan;
|
|
// obj.SalaeyLessThanString = item.SalaryMoreThan.ToMoney();
|
|
// obj.SalaryMoreThanString = item.SalaryMoreThan.ToMoney();
|
|
// obj.InsuranceJobId = item.InsuranceJobId;
|
|
// obj.JobIds = _context.InsuranceJobAndJobsSet.Where(p => p.InsuranceJobItemId == item.id)
|
|
// .Select(p => p.JobId).ToList();
|
|
// obj.JobList = _context.Jobs.Where(x => obj.JobIds.Contains(x.id)).ToList().Select(x =>
|
|
// new JobViewModel()
|
|
// {
|
|
// Id = x.id,
|
|
// JobName = x.JobName,
|
|
// JobCode = x.JobCode,
|
|
// }).ToList();
|
|
|
|
// list.Add(obj);
|
|
//}
|
|
var searcheDate = ($"{year}/{month}/01").ToGeorgianDateTime();
|
|
var insuranceJobItems = _context.InsuranceJobItems.Where(i => i.InsuranceJobId == Id && i.StartDate <= searcheDate && i.EndDate >= searcheDate).ToList();
|
|
var list = new List<InsuranceJobItemViewModel>();
|
|
|
|
foreach (var item in insuranceJobItems)
|
|
{
|
|
var obj = new InsuranceJobItemViewModel();
|
|
obj.Id = item.id;
|
|
obj.PercentageLessThan = item.PercentageLessThan;
|
|
obj.PercentageMoreThan = item.PercentageMoreThan;
|
|
obj.SalaeyLessThan = item.SalaeyLessThan;
|
|
obj.SalaryMoreThan = item.SalaryMoreThan;
|
|
obj.SalaeyLessThanString = item.SalaryMoreThan.ToMoney();
|
|
obj.SalaryMoreThanString = item.SalaryMoreThan.ToMoney();
|
|
obj.InsuranceJobId = item.InsuranceJobId;
|
|
obj.StartDate = item.StartDate;
|
|
obj.EndDate = item.EndDate;
|
|
obj.JobIds = _context.InsuranceJobAndJobsSet.Where(p => p.InsuranceJobItemId == item.id)
|
|
.Select(p => p.JobId).ToList();
|
|
obj.JobList = _context.Jobs.Where(x => obj.JobIds.Contains(x.id)).ToList().Select(x =>
|
|
new JobViewModel()
|
|
{
|
|
Id = x.id,
|
|
JobName = x.JobName,
|
|
JobCode = x.JobCode,
|
|
}).ToList();
|
|
|
|
list.Add(obj);
|
|
}
|
|
return list.ToList();
|
|
}
|
|
|
|
|
|
public InsuranceJobItemViewModel GetInsuranceJobItemByInsuranceJobIdForFixedSalary(long insuranceJobId, long jobId, string year, string month)
|
|
{
|
|
var searcheDate = ($"{year}/{month}/01").ToGeorgianDateTime();
|
|
var insuranceJobItemViewModel = new InsuranceJobItemViewModel();
|
|
var insuranceJobItems = _context.InsuranceJobItems.Where(i => i.InsuranceJobId == insuranceJobId && i.StartDate <= searcheDate && i.EndDate >= searcheDate).ToList();
|
|
var insuranceJobItemIds = insuranceJobItems.Select(x => x.id).ToList();
|
|
var jobAndJob = _context.InsuranceJobAndJobsSet
|
|
.Where(x => insuranceJobItemIds.Contains(x.InsuranceJobItemId) && x.JobId == jobId).FirstOrDefault();
|
|
if (jobAndJob != null)
|
|
{
|
|
var item = insuranceJobItems.Where(x => x.id == jobAndJob.InsuranceJobItemId).FirstOrDefault();
|
|
|
|
insuranceJobItemViewModel.Id = item.id;
|
|
insuranceJobItemViewModel.PercentageLessThan = item.PercentageLessThan;
|
|
insuranceJobItemViewModel.PercentageMoreThan = item.PercentageMoreThan;
|
|
insuranceJobItemViewModel.SalaeyLessThan = item.SalaeyLessThan;
|
|
insuranceJobItemViewModel.SalaryMoreThan = item.SalaryMoreThan;
|
|
insuranceJobItemViewModel.SalaeyLessThanString = item.SalaryMoreThan.ToMoney();
|
|
insuranceJobItemViewModel.SalaryMoreThanString = item.SalaryMoreThan.ToMoney();
|
|
insuranceJobItemViewModel.InsuranceJobId = item.InsuranceJobId;
|
|
}
|
|
|
|
return insuranceJobItemViewModel;
|
|
}
|
|
|
|
public List<InsuranceJobItemViewModel> Search(InsuranceJobItemSearchModel searchModel)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
} |