54 lines
1.6 KiB
C#
54 lines
1.6 KiB
C#
using AutoMapper;
|
|
using FaKrosnoEfDataModel.Dtos;
|
|
using FaKrosnoEfDataModel.Entities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace FaKrosnoEfDataModel.Services;
|
|
|
|
public class ProductService : ServiceBase<ProductDto>, IProductService
|
|
{
|
|
public ProductService(FaKrosnoDbContext context, IMapper mapper) : base(context, mapper)
|
|
{
|
|
}
|
|
|
|
public async Task<IEnumerable<ProductDto?>> GetEntities()
|
|
{
|
|
IList<ProductDto> products = (await GetAll()).ToList();
|
|
|
|
return products;
|
|
}
|
|
|
|
public async Task<IEnumerable<ProductDto?>> GetEntitiesToFix(string indexName)
|
|
{
|
|
IList<RecipientDto> recipients =
|
|
(await Context.Recipients.ToListAsync()).Select(x => Mapper.Map<RecipientDto>(x)).ToList();
|
|
IList<ProductDto> products = (await GetAll()).ToList();
|
|
|
|
IEnumerable<ProductDto> productDtos = products.Where(x => x?.FaIdx == indexName);
|
|
|
|
foreach (ProductDto productDto in productDtos)
|
|
{
|
|
RecipientDto? recipient = recipients.FirstOrDefault(x => x.ID == productDto.RecipientID);
|
|
|
|
if (recipient != null)
|
|
{
|
|
productDto.Recipient = recipient;
|
|
productDto.RecipientName = recipient.RecipientDesc;
|
|
}
|
|
}
|
|
|
|
return productDtos;
|
|
}
|
|
|
|
public async Task UpdateEntity(ProductDto entity)
|
|
{
|
|
Product? product = await Context.Products.FirstOrDefaultAsync(x => x.ID == entity.ID);
|
|
|
|
if (product != null)
|
|
{
|
|
product.FaIdx = entity.FaIdx;
|
|
Context.Products.Update(product);
|
|
await Context.SaveChangesAsync();
|
|
}
|
|
}
|
|
} |