using System; using System.Collections.Generic; using System.Linq; using _0_Framework.Application; using _0_Framework.InfraStructure; using Company.Domain.ClassifiedSalaryAgg; using CompanyManagment.App.Contracts.ClassifiedSalary; namespace CompanyManagment.EFCore.Repository; public class ClassifiedSalaryRepository : RepositoryBase, IClassifiedSalaryRepository { private readonly CompanyContext _context; public ClassifiedSalaryRepository(CompanyContext context) : base(context) { _context = context; } public EditClassifiedSalary GetDetails(long id) { return _context.ClassifiedSalaries.Select(x => new EditClassifiedSalary() { 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, 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(), }).FirstOrDefault(x => x.Id == id); } public List Search(ClassifiedSalarySearchModel searchModel) { var query = _context.ClassifiedSalaries.Select(x => new ClassifiedSalaryViewMode() { Id = x.id, StartDateFa = x.StartDate.ToFarsi(), EndDateFa = x.EndDate.ToFarsi(), Year = x.Year, YearSt = Convert.ToString(x.Year), Group1 = x.Group1.ToMoney(), Group2 = x.Group2.ToMoney(), Group3 = x.Group3.ToMoney(), Group4 = x.Group4.ToMoney(), Group5 = x.Group5.ToMoney(), Group6 = x.Group6.ToMoney(), Group7 = x.Group7.ToMoney(), Group8 = x.Group8.ToMoney(), Group9 = x.Group9.ToMoney(), Group10 = x.Group10.ToMoney(), Group11 = x.Group11.ToMoney(), Group12 = x.Group12.ToMoney(), Group13 = x.Group13.ToMoney(), Group14 = x.Group14.ToMoney(), Group15 = x.Group15.ToMoney(), Group16 = x.Group16.ToMoney(), Group17 = x.Group17.ToMoney(), Group18 = x.Group18.ToMoney(), Group19 = x.Group19.ToMoney(), Group20 = x.Group20.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.ClassifiedSalaries.FirstOrDefault(x => x.id == id); if (res != null) { _context.ClassifiedSalaries.Remove(res); _context.SaveChanges(); return op.Succcedded(); } else { return op.Failed("خطا در حذف"); } } }