Files
Backend-Api/CompanyManagment.EFCore/Repository/ClassifiedSalaryRepository.cs
2024-07-05 21:36:15 +03:30

129 lines
4.3 KiB
C#

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<long, ClassifiedSalary>, 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<ClassifiedSalaryViewMode> 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("خطا در حذف");
}
}
}