570 lines
25 KiB
C#
570 lines
25 KiB
C#
using _0_Framework.Application;
|
|
using AccountMangement.Infrastructure.EFCore;
|
|
using Company.Domain.ReportClientAgg;
|
|
using CompanyManagment.App.Contracts.ReportClient;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace CompanyManagment.EFCore.Repository;
|
|
public class ReportClientRepository : IReportClientRepository
|
|
{
|
|
private readonly CompanyContext _context;
|
|
private readonly AccountContext _accountContext;
|
|
private readonly IAuthHelper _authHelper;
|
|
|
|
public ReportClientRepository(CompanyContext context, AccountContext accountContext, IAuthHelper authHelper)
|
|
{
|
|
_context = context;
|
|
_accountContext = accountContext;
|
|
_authHelper = authHelper;
|
|
}
|
|
|
|
public List<CheckoutReportViewModel> GetAllCheckoutReport(long workshopId, CheckoutReportSearchModel searchModel)
|
|
{
|
|
#region CheckValidtWorkshop
|
|
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var contracingPartyAcc = _context.ContractingPartyAccounts.FirstOrDefault(x => x.AccountId == accountId);
|
|
if (contracingPartyAcc == null)
|
|
{
|
|
return new List<CheckoutReportViewModel>();
|
|
}
|
|
var employers = _context.Employers.Where(x => x.ContractingPartyId == contracingPartyAcc.PersonalContractingPartyId).Select(x => x.id).ToList();
|
|
if (!employers.Any())
|
|
{
|
|
return new List<CheckoutReportViewModel>();
|
|
}
|
|
var workshopIds = _context.WorkshopEmployers.Where(x => employers.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList();
|
|
if (!workshopIds.Contains(workshopId))
|
|
{
|
|
return new List<CheckoutReportViewModel>();
|
|
}
|
|
#endregion
|
|
var query = _context.CheckoutSet.Select(x => new CheckoutReportViewModel()
|
|
{
|
|
Id = x.id,
|
|
EmployeeId = x.EmployeeId,
|
|
WorkshopId = x.WorkshopId,
|
|
Year = x.Year,
|
|
Month = x.Month,
|
|
EmployeeFullName = x.EmployeeFullName,
|
|
NationalCode = x.NationalCode,
|
|
SumOfWorkingDays = x.SumOfWorkingDays,
|
|
ContractStartGr = x.ContractStart,
|
|
ContractEndGr = x.ContractEnd,
|
|
MonthlySalary = x.MonthlySalary.ToMoney(),
|
|
BaseYearsPay = x.BaseYearsPay.ToMoney(),
|
|
ConsumableItems = x.ConsumableItems.ToMoney(),
|
|
HousingAllowance = x.HousingAllowance.ToMoney(),
|
|
OvertimePay = x.OvertimePay.ToMoney(),
|
|
NightworkPay = x.NightworkPay.ToMoney(),
|
|
FridayPay = x.FridayPay.ToMoney(),
|
|
MissionPay = x.MissionPay.ToMoney(),
|
|
ShiftPay = x.ShiftPay.ToMoney(),
|
|
FamilyAllowance = x.FamilyAllowance.ToMoney(),
|
|
BonusesPay = x.BonusesPay.ToMoney(),
|
|
YearsPay = x.YearsPay.ToMoney(),
|
|
LeavePay = x.LeavePay.ToMoney(),
|
|
InsuranceDeduction = x.InsuranceDeduction.ToMoney(),
|
|
TaxDeducation = x.TaxDeducation.ToMoney(),
|
|
InstallmentDeduction = x.InstallmentDeduction.ToMoney(),
|
|
SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(),
|
|
AbsenceDeduction = x.AbsenceDeduction.ToMoney(),
|
|
TotalClaims = x.TotalClaims,
|
|
TotalDeductions = x.TotalDeductions,
|
|
TotalPayment = x.TotalPayment.ToMoney(),
|
|
RewardPay = x.RewardPay.ToMoney(),
|
|
MarriedAllowance = x.MarriedAllowance.ToMoney(),
|
|
}).Where(x => x.WorkshopId == workshopId);
|
|
|
|
if (searchModel.EmployeeId > 0)
|
|
query = query.Where(x => x.EmployeeId == searchModel.EmployeeId);
|
|
|
|
if (!string.IsNullOrWhiteSpace(searchModel.Year) && !string.IsNullOrWhiteSpace(searchModel.Month))
|
|
{
|
|
var y = searchModel.Year + "/" + searchModel.Month + "/01";
|
|
string y2 = string.Empty;
|
|
int month = Convert.ToInt32(searchModel.Month);
|
|
int year = Convert.ToInt32(searchModel.Year);
|
|
|
|
if (month <= 6)
|
|
{
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/31";
|
|
}
|
|
else if (month > 6 && month < 12)
|
|
{
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
}
|
|
else if (month == 12)
|
|
{
|
|
switch (year)
|
|
{
|
|
case 1346:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1350:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1354:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1358:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1362:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1366:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1370:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1375:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1379:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1383:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1387:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1391:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1395:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1399:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1403:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1408:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1412:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1416:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1420:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1424:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1428:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1432:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1436:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1441:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1445:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
|
|
default:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/29";
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
var start = y.ToGeorgianDateTime();
|
|
var end = y2.ToGeorgianDateTime();
|
|
|
|
query = query.Where(x => x.ContractStartGr >= start && x.ContractStartGr < end && x.ContractEndGr > start && x.ContractEndGr <= end ||
|
|
x.ContractStartGr <= start && x.ContractEndGr >= end || start <= x.ContractStartGr && end > x.ContractStartGr || end >= x.ContractEndGr && start < x.ContractEndGr);
|
|
}
|
|
|
|
return query.OrderByDescending(x => x.ContractStartGr).Skip(searchModel.PageIndex).Take(30).ToList();
|
|
}
|
|
|
|
public CheckoutReportTotalsViewModel GetAllSumCheckoutReport(long workshopId, CheckoutReportSearchModel searchModel)
|
|
{
|
|
string result = "0";
|
|
#region CheckValidtWorkshop
|
|
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var contracingPartyAcc = _context.ContractingPartyAccounts.FirstOrDefault(x => x.AccountId == accountId);
|
|
if (contracingPartyAcc == null)
|
|
{
|
|
return new CheckoutReportTotalsViewModel();
|
|
}
|
|
var employers = _context.Employers.Where(x => x.ContractingPartyId == contracingPartyAcc.PersonalContractingPartyId).Select(x => x.id).ToList();
|
|
if (!employers.Any())
|
|
{
|
|
return new CheckoutReportTotalsViewModel();
|
|
}
|
|
var workshopIds = _context.WorkshopEmployers.Where(x => employers.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList();
|
|
if (!workshopIds.Contains(workshopId))
|
|
{
|
|
return new CheckoutReportTotalsViewModel();
|
|
}
|
|
#endregion
|
|
var query = _context.CheckoutSet.Select(x => new CheckoutReportViewModel()
|
|
{
|
|
Id = x.id,
|
|
EmployeeId = x.EmployeeId,
|
|
WorkshopId = x.WorkshopId,
|
|
Year = x.Year,
|
|
Month = x.Month,
|
|
EmployeeFullName = x.EmployeeFullName,
|
|
NationalCode = x.NationalCode,
|
|
SumOfWorkingDays = x.SumOfWorkingDays,
|
|
ContractStartGr = x.ContractStart,
|
|
ContractEndGr = x.ContractEnd,
|
|
MonthlySalaryDouble = x.MonthlySalary,
|
|
BaseYearsPayDouble = x.BaseYearsPay,
|
|
ConsumableItemsDouble = x.ConsumableItems,
|
|
HousingAllowanceDouble = x.HousingAllowance,
|
|
OvertimePayDouble = x.OvertimePay,
|
|
NightworkPayDouble = x.NightworkPay,
|
|
FridayPayDouble = x.FridayPay,
|
|
MissionPayDouble = x.MissionPay,
|
|
ShiftPayDouble = x.ShiftPay,
|
|
FamilyAllowanceDouble = x.FamilyAllowance,
|
|
BonusesPayDouble = x.BonusesPay,
|
|
YearsPayDouble = x.YearsPay,
|
|
LeavePayDouble = x.LeavePay,
|
|
InsuranceDeductionDouble = x.InsuranceDeduction,
|
|
TaxDeducationDouble = x.TaxDeducation,
|
|
InstallmentDeductionDouble = x.InstallmentDeduction,
|
|
SalaryAidDeductionDouble = x.SalaryAidDeduction,
|
|
AbsenceDeductionDouble = x.AbsenceDeduction,
|
|
TotalClaims = x.TotalClaims,
|
|
TotalDeductions = x.TotalDeductions,
|
|
TotalPaymentDouble = x.TotalPayment,
|
|
RewardPayDouble = x.RewardPay,
|
|
MarriedAllowanceDouble = x.MarriedAllowance,
|
|
}).Where(x => x.WorkshopId == workshopId);
|
|
|
|
if (searchModel.EmployeeId > 0)
|
|
query = query.Where(x => x.EmployeeId == searchModel.EmployeeId);
|
|
|
|
if (!string.IsNullOrWhiteSpace(searchModel.Year) && !string.IsNullOrWhiteSpace(searchModel.Month))
|
|
{
|
|
var y = searchModel.Year + "/" + searchModel.Month + "/01";
|
|
string y2 = string.Empty;
|
|
int month = Convert.ToInt32(searchModel.Month);
|
|
int year = Convert.ToInt32(searchModel.Year);
|
|
|
|
if (month <= 6)
|
|
{
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/31";
|
|
}
|
|
else if (month > 6 && month < 12)
|
|
{
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
}
|
|
else if (month == 12)
|
|
{
|
|
switch (year)
|
|
{
|
|
case 1346:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1350:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1354:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1358:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1362:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1366:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1370:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1375:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1379:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1383:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1387:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1391:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1395:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1399:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1403:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1408:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1412:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1416:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1420:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1424:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1428:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1432:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1436:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1441:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1445:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
|
|
default:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/29";
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
var start = y.ToGeorgianDateTime();
|
|
var end = y2.ToGeorgianDateTime();
|
|
|
|
query = query.Where(x => x.ContractStartGr >= start && x.ContractStartGr < end && x.ContractEndGr > start && x.ContractEndGr <= end ||
|
|
x.ContractStartGr <= start && x.ContractEndGr >= end || start <= x.ContractStartGr && end > x.ContractStartGr || end >= x.ContractEndGr && start < x.ContractEndGr);
|
|
}
|
|
|
|
var list = query.ToList();
|
|
|
|
return new CheckoutReportTotalsViewModel()
|
|
{
|
|
MonthlySalarySum = (list.Sum(x => x.MonthlySalaryDouble)).ToMoney(),
|
|
BaseYearsPaySum = (list.Sum(x => x.BaseYearsPayDouble)).ToMoney(),
|
|
ConsumableItemsSum = (list.Sum(x => x.ConsumableItemsDouble)).ToMoney(),
|
|
HousingAllowanceSum = (list.Sum(x => x.HousingAllowanceDouble)).ToMoney(),
|
|
OvertimePaySum = (list.Sum(x => x.OvertimePayDouble)).ToMoney(),
|
|
NightworkPaySum = (list.Sum(x => x.NightworkPayDouble)).ToMoney(),
|
|
FridayPaySum = (list.Sum(x => x.FridayPayDouble)).ToMoney(),
|
|
MissionPaySum = (list.Sum(x => x.MissionPayDouble)).ToMoney(),
|
|
ShiftPaySum = (list.Sum(x => x.ShiftPayDouble)).ToMoney(),
|
|
FamilyAllowanceSum = (list.Sum(x => x.FamilyAllowanceDouble)).ToMoney(),
|
|
BonusesPaySum = (list.Sum(x => x.BonusesPayDouble)).ToMoney(),
|
|
YearsPaySum = (list.Sum(x => x.YearsPayDouble)).ToMoney(),
|
|
LeavePaySum = (list.Sum(x => x.LeavePayDouble)).ToMoney(),
|
|
InsuranceDeductionSum = (list.Sum(x => x.InsuranceDeductionDouble)).ToMoney(),
|
|
TaxDeducationSum = (list.Sum(x => x.TaxDeducationDouble)).ToMoney(),
|
|
InstallmentDeductionSum = (list.Sum(x => x.InstallmentDeductionDouble)).ToMoney(),
|
|
SalaryAidDeductionSum = (list.Sum(x => x.SalaryAidDeductionDouble)).ToMoney(),
|
|
AbsenceDeductionSum = (list.Sum(x => x.AbsenceDeductionDouble)).ToMoney(),
|
|
//TotalClaims = (list.Sum(x => x.AbsenceDeductionDouble)).ToMoney(),
|
|
//TotalDeductions = (list.Sum(x => x.AbsenceDeductionDouble)).ToMoney(),
|
|
TotalPaymentSum = (list.Sum(x => x.TotalPaymentDouble)).ToMoney(),
|
|
RewardPaySum = (list.Sum(x => x.RewardPayDouble)).ToMoneyNullable(),
|
|
MarriedAllowanceSum = (list.Sum(x => x.MarriedAllowanceDouble)).ToMoney(),
|
|
};
|
|
}
|
|
|
|
public List<CheckoutReportViewModel> GetAllCheckoutReportPrintAll(long workshopId, CheckoutReportSearchModel searchModel)
|
|
{
|
|
#region CheckValidtWorkshop
|
|
|
|
var accountId = _authHelper.CurrentAccountId();
|
|
var contracingPartyAcc = _context.ContractingPartyAccounts.FirstOrDefault(x => x.AccountId == accountId);
|
|
if (contracingPartyAcc == null)
|
|
{
|
|
return new List<CheckoutReportViewModel>();
|
|
}
|
|
var employers = _context.Employers.Where(x => x.ContractingPartyId == contracingPartyAcc.PersonalContractingPartyId).Select(x => x.id).ToList();
|
|
if (!employers.Any())
|
|
{
|
|
return new List<CheckoutReportViewModel>();
|
|
}
|
|
var workshopIds = _context.WorkshopEmployers.Where(x => employers.Contains(x.EmployerId)).Select(x => x.WorkshopId).ToList();
|
|
if (!workshopIds.Contains(workshopId))
|
|
{
|
|
return new List<CheckoutReportViewModel>();
|
|
}
|
|
#endregion
|
|
var query = _context.CheckoutSet.Select(x => new CheckoutReportViewModel()
|
|
{
|
|
Id = x.id,
|
|
EmployeeId = x.EmployeeId,
|
|
WorkshopId = x.WorkshopId,
|
|
Year = x.Year,
|
|
Month = x.Month,
|
|
EmployeeFullName = x.EmployeeFullName,
|
|
NationalCode = x.NationalCode,
|
|
SumOfWorkingDays = x.SumOfWorkingDays,
|
|
ContractStartGr = x.ContractStart,
|
|
ContractEndGr = x.ContractEnd,
|
|
MonthlySalary = x.MonthlySalary.ToMoney(),
|
|
BaseYearsPay = x.BaseYearsPay.ToMoney(),
|
|
ConsumableItems = x.ConsumableItems.ToMoney(),
|
|
HousingAllowance = x.HousingAllowance.ToMoney(),
|
|
OvertimePay = x.OvertimePay.ToMoney(),
|
|
NightworkPay = x.NightworkPay.ToMoney(),
|
|
FridayPay = x.FridayPay.ToMoney(),
|
|
MissionPay = x.MissionPay.ToMoney(),
|
|
ShiftPay = x.ShiftPay.ToMoney(),
|
|
FamilyAllowance = x.FamilyAllowance.ToMoney(),
|
|
BonusesPay = x.BonusesPay.ToMoney(),
|
|
YearsPay = x.YearsPay.ToMoney(),
|
|
LeavePay = x.LeavePay.ToMoney(),
|
|
InsuranceDeduction = x.InsuranceDeduction.ToMoney(),
|
|
TaxDeducation = x.TaxDeducation.ToMoney(),
|
|
InstallmentDeduction = x.InstallmentDeduction.ToMoney(),
|
|
SalaryAidDeduction = x.SalaryAidDeduction.ToMoney(),
|
|
AbsenceDeduction = x.AbsenceDeduction.ToMoney(),
|
|
TotalClaims = x.TotalClaims,
|
|
TotalDeductions = x.TotalDeductions,
|
|
TotalPayment = x.TotalPayment.ToMoney(),
|
|
RewardPay = x.RewardPay.ToMoney(),
|
|
MarriedAllowance = x.MarriedAllowance.ToMoney(),
|
|
}).Where(x => x.WorkshopId == workshopId);
|
|
|
|
if (searchModel.EmployeeId > 0)
|
|
query = query.Where(x => x.EmployeeId == searchModel.EmployeeId);
|
|
|
|
if (!string.IsNullOrWhiteSpace(searchModel.Year) && !string.IsNullOrWhiteSpace(searchModel.Month))
|
|
{
|
|
var y = searchModel.Year + "/" + searchModel.Month + "/01";
|
|
string y2 = string.Empty;
|
|
int month = Convert.ToInt32(searchModel.Month);
|
|
int year = Convert.ToInt32(searchModel.Year);
|
|
|
|
if (month <= 6)
|
|
{
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/31";
|
|
}
|
|
else if (month > 6 && month < 12)
|
|
{
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
}
|
|
else if (month == 12)
|
|
{
|
|
switch (year)
|
|
{
|
|
case 1346:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1350:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1354:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1358:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1362:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1366:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1370:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1375:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1379:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1383:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1387:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1391:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1395:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1399:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1403:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1408:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1412:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1416:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1420:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1424:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1428:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1432:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1436:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1441:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
case 1445:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/30";
|
|
break;
|
|
|
|
default:
|
|
y2 = $"{searchModel.Year}/{searchModel.Month}/29";
|
|
break;
|
|
|
|
}
|
|
}
|
|
|
|
var start = y.ToGeorgianDateTime();
|
|
var end = y2.ToGeorgianDateTime();
|
|
|
|
query = query.Where(x => x.ContractStartGr >= start && x.ContractStartGr < end && x.ContractEndGr > start && x.ContractEndGr <= end ||
|
|
x.ContractStartGr <= start && x.ContractEndGr >= end || start <= x.ContractStartGr && end > x.ContractStartGr || end >= x.ContractEndGr && start < x.ContractEndGr);
|
|
}
|
|
|
|
return query.OrderByDescending(x => x.ContractStartGr).ToList();
|
|
}
|
|
}
|