Files
Backend-Api/CompanyManagment.EFCore/Repository/TaxLeftWorkItemRepository.cs
2024-07-09 19:31:25 +03:30

50 lines
1.7 KiB
C#

using System.Collections.Generic;
using System.Linq;
using _0_Framework.Application;
using _0_Framework.InfraStructure;
using Company.Domain.TaxLeftWorkItemAgg;
using CompanyManagment.App.Contracts.TaxLeftWorkItem;
namespace CompanyManagment.EFCore.Repository;
public class TaxLeftWorkItemRepository : RepositoryBase<long, TaxLeftWorkItem>, ITaxLeftWorkItemRepository
{
private readonly CompanyContext _context;
public TaxLeftWorkItemRepository(CompanyContext context) : base(context)
{
_context = context;
}
public EditTaxLeftWorkItem GetDetails(long id)
{
return _context.TaxLeftWorkItems.Select(x => new EditTaxLeftWorkItem
{
Id = x.id,
StartWork = x.StartWork,
StartWorkFa = x.StartWork.ToFarsi(),
LeftWork = x.LeftWork,
LeftWorkFa = x.LeftWork.ToFarsi(),
TaxLeftWorkCategoryId = x.TaxLeftWorkCategoryId
}).OrderByDescending(x=>x.StartWork).FirstOrDefault(x => x.Id == id);
}
public List<TaxLeftWorkItemViewModel> Search(TaxLeftWorkItemSerachModel searchModel)
{
var query = _context.TaxLeftWorkItems.Select(x => new TaxLeftWorkItemViewModel
{
Id = x.id,
StartWork = x.StartWork,
StartWorkFa = x.StartWork.ToFarsi(),
LeftWork = x.LeftWork,
LeftWorkFa = x.LeftWork.ToFarsi(),
TaxLeftWorkCategoryId = x.TaxLeftWorkCategoryId
});
if (searchModel.TaxLeftWorkCategoryId > 0)
{
query = query.Where(x => x.TaxLeftWorkCategoryId == searchModel.TaxLeftWorkCategoryId);
}
return query.OrderByDescending(x => x.StartWork).ToList();
}
}