Files
FA_WEB/FaKrosnoEfDataModel/Services/ProductService.cs

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();
}
}
}