Add project files.
This commit is contained in:
51
FaKrosnoEfDataModel/Services/ScheduleOrderService.cs
Normal file
51
FaKrosnoEfDataModel/Services/ScheduleOrderService.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using AutoMapper;
|
||||
using FaKrosnoEfDataModel.Dtos;
|
||||
using FaKrosnoEfDataModel.Entities;
|
||||
using FaKrosnoEfDataModel.Queries;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FaKrosnoEfDataModel.Services
|
||||
{
|
||||
public class ScheduleOrderService : ServiceBase<ScheduleOrderDto>, IScheduleOrderService
|
||||
{
|
||||
public ScheduleOrderService(FaKrosnoDbContext context, IMapper mapper) : base(context, mapper)
|
||||
{
|
||||
}
|
||||
|
||||
public override async Task<ScheduleOrderDto?> GetById(int id)
|
||||
{
|
||||
var scheduleOrder = await Task.FromResult(ScheduleOrderQueries.GetById(Context, id));
|
||||
|
||||
return scheduleOrder != null ? Mapper.Map<ScheduleOrderDto>(scheduleOrder) : null;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientId(int recipientId)
|
||||
{
|
||||
IList<ScheduleOrderDto> scheduleOrders = (await GetAll()).ToList();
|
||||
|
||||
return scheduleOrders.Where(x => x?.RecipientID == recipientId);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientAndLastUpdateDate(int recipientId, DateTime date)
|
||||
{
|
||||
IList<ScheduleOrderDto?> scheduleOrders = (await GetEntitiesByLastUpdateDate(date)).ToList();
|
||||
|
||||
return scheduleOrders.Where(x => x?.RecipientID == recipientId && x.LastUpdateDate >= date);
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetEntities()
|
||||
{
|
||||
IList<ScheduleOrder> scheduleOrders = await Context.ScheduleOrders.Include(x => x.Recipient)
|
||||
.ThenInclude(x => x.Purchaser).ToListAsync();
|
||||
|
||||
return Mapper.Map<IEnumerable<ScheduleOrderDto>>(scheduleOrders);
|
||||
}
|
||||
public async Task<IEnumerable<ScheduleOrderDto?>> GetEntitiesByLastUpdateDate(DateTime date)
|
||||
{
|
||||
IList<ScheduleOrder?> scheduleOrders =
|
||||
(await Task.FromResult(ScheduleOrderQueries.GetEntitiesByDate(Context, date))).ToList();
|
||||
|
||||
return Mapper.Map<IEnumerable<ScheduleOrderDto>>(scheduleOrders);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user