* Added required methods to services

This commit is contained in:
2025-04-03 09:27:32 +02:00
parent 94c4586c35
commit d7f49829a2
7 changed files with 41 additions and 27 deletions

View File

@@ -11,6 +11,11 @@ namespace FaKrosnoEfDataModel.Queries
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailDetails)
.ThenInclude(x => x.ScheduleOrderDetailDetailMiscs).Include(x => x.ScheduleOrderMiscs));
public static readonly Func<FaKrosnoDbContext, int, IEnumerable<ScheduleOrder?>> GetEntitiesByPurchaser =
EF.CompileQuery((FaKrosnoDbContext context, int purchaser) => context.ScheduleOrders
.Include(x => x.Recipient).ThenInclude(x => x.Purchaser).Include(x => x.ScheduleOrderDetails)
.ThenInclude(x => x.ScheduleOrderDetailMiscs).Where(x => x.Recipient.Purchaser.ID == purchaser));
public static readonly Func<FaKrosnoDbContext, DateTime, IEnumerable<ScheduleOrder?>> GetEntitiesByDate =
EF.CompileQuery((FaKrosnoDbContext context, DateTime fromDate) => context.ScheduleOrders
.Include(x => x.Recipient).ThenInclude(x => x.Purchaser).Include(x => x.ScheduleOrderDetails)

View File

@@ -11,7 +11,7 @@ namespace FaKrosnoEfDataModel.Services
{
Task<IEnumerable<ScheduleOrderDetailDto>?> GetScheduleOrderDetailsAsync(int scheduleOrderId);
Task<IEnumerable<ScheduleOrderDetailMiscDto>?> GetScheduleOrderDetailMiscsAsync(
IList<int> scheduleOrderDetailIds, string miscName);
Task<IEnumerable<ScheduleOrderDetailDetailDto>> GetScheduleOrderDetailsDetailsByIdAsync(
int scheduleOrderDetailId);
}
}

View File

@@ -12,7 +12,7 @@ namespace FaKrosnoEfDataModel.Services
Task<IEnumerable<ScheduleOrderDto?>> GetEntities();
Task<ScheduleOrderDto?> GetById(int id);
Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientId(int recipientId);
Task<IList<ScheduleOrderDto>> GetByPurchaserId(int purchaserId);
Task<IEnumerable<ScheduleOrderDto>> GetByPurchaserId(int purchaserId);
Task<IEnumerable<ScheduleOrderDto?>> GetEntitiesByLastUpdateDate(DateTime date);
Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientAndLastUpdateDate(int recipientId, DateTime date);
}

View File

@@ -1,9 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AutoMapper;
using AutoMapper;
using AutoMapper.QueryableExtensions;
using FaKrosnoEfDataModel.Dtos;
using Microsoft.EntityFrameworkCore;
@@ -22,10 +17,10 @@ namespace FaKrosnoEfDataModel.Services
.ProjectTo<ScheduleOrderDetailDto>(Mapper.ConfigurationProvider).ToListAsync();
}
public async Task<IEnumerable<ScheduleOrderDetailMiscDto>?> GetScheduleOrderDetailMiscsAsync(IList<int> scheduleOrderDetailIds, string miscName)
public async Task<IEnumerable<ScheduleOrderDetailDetailDto>> GetScheduleOrderDetailsDetailsByIdAsync(int scheduleOrderDetailId)
{
return await Context.ScheduleOrderDetailMiscs.Where(x => x.ID == scheduleOrderDetailIds.First())
.ProjectTo<ScheduleOrderDetailMiscDto>(Mapper.ConfigurationProvider).ToListAsync();
return await Context.ScheduleOrderDetailDetails.Where(x => x.ScheduleOrderDetailID == scheduleOrderDetailId)
.ProjectTo<ScheduleOrderDetailDetailDto>(Mapper.ConfigurationProvider).ToListAsync();
}
}
}

View File

@@ -26,13 +26,12 @@ namespace FaKrosnoEfDataModel.Services
return scheduleOrders.Where(x => x?.RecipientID == recipientId);
}
public async Task<IList<ScheduleOrderDto>> GetByPurchaserId(int purchaserId)
public async Task<IEnumerable<ScheduleOrderDto>> GetByPurchaserId(int purchaserId)
{
return await Context.ScheduleOrders.Include(x => x.Recipient).ThenInclude(x => x.Purchaser)
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailMiscs)
.Include(x => x.ScheduleOrderDetails).ThenInclude(x => x.ScheduleOrderDetailDetails)
.Where(x => x.Recipient.Purchaser.ID == purchaserId).Select(x => Mapper.Map<ScheduleOrderDto>(x))
.ToListAsync();
IEnumerable<ScheduleOrder?> scheduleOrders =
(await Task.FromResult(ScheduleOrderQueries.GetEntitiesByPurchaser(Context, purchaserId))).ToList();
return scheduleOrders.Select(x => Mapper.Map<ScheduleOrderDto>(x));
}
public async Task<IEnumerable<ScheduleOrderDto?>> GetByRecipientAndLastUpdateDate(int recipientId, DateTime date)