270 lines
8.8 KiB
C#
270 lines
8.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using _0_Framework.Application;
|
|
using _0_Framework.InfraStructure;
|
|
using Company.Domain.InsuranceYearlySalaryAgg;
|
|
using CompanyManagment.App.Contracts.InsuranceYearlySalary;
|
|
|
|
namespace CompanyManagment.EFCore.Repository;
|
|
|
|
public class InsuranceYearlySalaryRepository : RepositoryBase<long, InsuranceYearlySalary> , IInsuranceYearlySalaryRepository
|
|
{
|
|
private readonly CompanyContext _context;
|
|
public InsuranceYearlySalaryRepository(CompanyContext context) : base(context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public EditInsuranceYearlySalary GetDetails(long id)
|
|
{
|
|
return _context.InsuranceYearlySalaries.Select(x => new EditInsuranceYearlySalary()
|
|
{
|
|
Id = x.id,
|
|
StartDateFa = x.StartDate.ToFarsi(),
|
|
EndDateFa = x.EndDate.ToFarsi(),
|
|
|
|
Group1 = x.Group1,
|
|
Group2 = x.Group2,
|
|
Group3 = x.Group3,
|
|
Group4 = x.Group4,
|
|
Group5 = x.Group5,
|
|
Group6 = x.Group6,
|
|
Group7 = x.Group7,
|
|
Group8 = x.Group8,
|
|
Group9 = x.Group9,
|
|
Group10 = x.Group10,
|
|
Group11 = x.Group11,
|
|
Group12 = x.Group12,
|
|
Group13 = x.Group13,
|
|
Group14 = x.Group14,
|
|
Group15 = x.Group15,
|
|
Group16 = x.Group16,
|
|
Group17 = x.Group17,
|
|
Group18 = x.Group18,
|
|
Group19 = x.Group19,
|
|
Group20 = x.Group20,
|
|
Group21 = x.Group21,
|
|
Group22 = x.Group22,
|
|
Group23 = x.Group23,
|
|
Group24 = x.Group24,
|
|
Group25 = x.Group25,
|
|
Group26 = x.Group26,
|
|
Group27 = x.Group27,
|
|
Group28 = x.Group28,
|
|
Group29 = x.Group29,
|
|
Group30 = x.Group30,
|
|
|
|
Group1Str = x.Group1.ToMoney(),
|
|
Group2Str = x.Group2.ToMoney(),
|
|
Group3Str = x.Group3.ToMoney(),
|
|
Group4Str = x.Group4.ToMoney(),
|
|
Group5Str = x.Group5.ToMoney(),
|
|
Group6Str = x.Group6.ToMoney(),
|
|
Group7Str = x.Group7.ToMoney(),
|
|
Group8Str = x.Group8.ToMoney(),
|
|
Group9Str = x.Group9.ToMoney(),
|
|
Group10Str = x.Group10.ToMoney(),
|
|
Group11Str = x.Group11.ToMoney(),
|
|
Group12Str = x.Group12.ToMoney(),
|
|
Group13Str = x.Group13.ToMoney(),
|
|
Group14Str = x.Group14.ToMoney(),
|
|
Group15Str = x.Group15.ToMoney(),
|
|
Group16Str = x.Group16.ToMoney(),
|
|
Group17Str = x.Group17.ToMoney(),
|
|
Group18Str = x.Group18.ToMoney(),
|
|
Group19Str = x.Group19.ToMoney(),
|
|
Group20Str = x.Group20.ToMoney(),
|
|
Group21Str = x.Group21.ToMoney(),
|
|
Group22Str = x.Group22.ToMoney(),
|
|
Group23Str = x.Group23.ToMoney(),
|
|
Group24Str = x.Group24.ToMoney(),
|
|
Group25Str = x.Group25.ToMoney(),
|
|
Group26Str = x.Group26.ToMoney(),
|
|
Group27Str = x.Group27.ToMoney(),
|
|
Group28Str = x.Group28.ToMoney(),
|
|
Group29Str = x.Group29.ToMoney(),
|
|
Group30Str = x.Group30.ToMoney(),
|
|
|
|
}).FirstOrDefault(x => x.Id == id);
|
|
}
|
|
|
|
public List<InsuranceYearlySalaryViewModel> Search(InsuranceYearlySalarySearchModel searchModel)
|
|
{
|
|
var query = _context.InsuranceYearlySalaries.Select(x => new InsuranceYearlySalaryViewModel()
|
|
{
|
|
Id = x.id,
|
|
StartDateFa = x.StartDate.ToFarsi(),
|
|
EndDateFa = x.EndDate.ToFarsi(),
|
|
Year = x.Year,
|
|
YearSt = Convert.ToString(x.Year),
|
|
|
|
Group1Str = x.Group1.ToMoney(),
|
|
Group2Str = x.Group2.ToMoney(),
|
|
Group3Str = x.Group3.ToMoney(),
|
|
Group4Str = x.Group4.ToMoney(),
|
|
Group5Str = x.Group5.ToMoney(),
|
|
Group6Str = x.Group6.ToMoney(),
|
|
Group7Str = x.Group7.ToMoney(),
|
|
Group8Str = x.Group8.ToMoney(),
|
|
Group9Str = x.Group9.ToMoney(),
|
|
Group10Str = x.Group10.ToMoney(),
|
|
Group11Str = x.Group11.ToMoney(),
|
|
Group12Str = x.Group12.ToMoney(),
|
|
Group13Str = x.Group13.ToMoney(),
|
|
Group14Str = x.Group14.ToMoney(),
|
|
Group15Str = x.Group15.ToMoney(),
|
|
Group16Str = x.Group16.ToMoney(),
|
|
Group17Str = x.Group17.ToMoney(),
|
|
Group18Str = x.Group18.ToMoney(),
|
|
Group19Str = x.Group19.ToMoney(),
|
|
Group20Str = x.Group20.ToMoney(),
|
|
Group21Str = x.Group21.ToMoney(),
|
|
Group22Str = x.Group22.ToMoney(),
|
|
Group23Str = x.Group23.ToMoney(),
|
|
Group24Str = x.Group24.ToMoney(),
|
|
Group25Str = x.Group25.ToMoney(),
|
|
Group26Str = x.Group26.ToMoney(),
|
|
Group27Str = x.Group27.ToMoney(),
|
|
Group28Str = x.Group28.ToMoney(),
|
|
Group29Str = x.Group29.ToMoney(),
|
|
Group30Str = x.Group30.ToMoney(),
|
|
});
|
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(searchModel.YearSt))
|
|
query = query.Where(x => x.YearSt == searchModel.YearSt);
|
|
|
|
|
|
return query.OrderByDescending(x => x.Year).ToList();
|
|
}
|
|
|
|
public OperationResult RemoveClassifiedSalary(long id)
|
|
{
|
|
var op = new OperationResult();
|
|
var res = _context.InsuranceYearlySalaries.FirstOrDefault(x => x.id == id);
|
|
if (res != null)
|
|
{
|
|
_context.InsuranceYearlySalaries.Remove(res);
|
|
_context.SaveChanges();
|
|
return op.Succcedded();
|
|
}
|
|
else
|
|
{
|
|
return op.Failed("خطا در حذف");
|
|
}
|
|
}
|
|
|
|
public double GetBaseYearByDate(DateTime startDate, int years)
|
|
{
|
|
if (years == 0)
|
|
return 0;
|
|
var query = _context.InsuranceYearlySalaries.FirstOrDefault(x =>
|
|
x.StartDate <= startDate && x.EndDate > startDate);
|
|
|
|
if (query != null)
|
|
{
|
|
double result = 0;
|
|
switch (years)
|
|
{
|
|
case 1:
|
|
result = query.Group1;
|
|
break;
|
|
case 2:
|
|
result = query.Group2;
|
|
break;
|
|
case 3:
|
|
result = query.Group3;
|
|
break;
|
|
case 4:
|
|
result = query.Group4;
|
|
break;
|
|
case 5:
|
|
result = query.Group5;
|
|
break;
|
|
case 6:
|
|
result = query.Group6;
|
|
break;
|
|
case 7:
|
|
result = query.Group7;
|
|
break;
|
|
case 8:
|
|
result = query.Group8;
|
|
break;
|
|
case 9:
|
|
result = query.Group9;
|
|
break;
|
|
case 10:
|
|
result = query.Group10;
|
|
break;
|
|
case 11:
|
|
result = query.Group11;
|
|
break;
|
|
case 12:
|
|
result = query.Group12;
|
|
break;
|
|
case 13:
|
|
result = query.Group13;
|
|
break;
|
|
case 14:
|
|
result = query.Group14;
|
|
break;
|
|
case 15:
|
|
result = query.Group15;
|
|
break;
|
|
case 16:
|
|
result = query.Group16;
|
|
break;
|
|
case 17:
|
|
result = query.Group17;
|
|
break;
|
|
case 18:
|
|
result = query.Group18;
|
|
break;
|
|
case 19:
|
|
result = query.Group19;
|
|
break;
|
|
case 20:
|
|
result = query.Group20;
|
|
break;
|
|
case 21:
|
|
result = query.Group21;
|
|
break;
|
|
case 22:
|
|
result = query.Group22;
|
|
break;
|
|
case 23:
|
|
result = query.Group23;
|
|
break;
|
|
case 24:
|
|
result = query.Group24;
|
|
break;
|
|
case 25:
|
|
result = query.Group25;
|
|
break;
|
|
case 26:
|
|
result = query.Group26;
|
|
break;
|
|
case 27:
|
|
result = query.Group27;
|
|
break;
|
|
case 28:
|
|
result = query.Group28;
|
|
break;
|
|
case 29:
|
|
result = query.Group29;
|
|
break;
|
|
case 30:
|
|
result = query.Group30;
|
|
break;
|
|
|
|
}
|
|
|
|
return result;
|
|
}
|
|
else
|
|
{
|
|
return 0;
|
|
}
|
|
}
|
|
} |