using Back.Data.Contracts; using Back.Data.Models; using Microsoft.EntityFrameworkCore; using Shared.DTOs; namespace Back.Services { public class ServPromotion { private readonly IAsyncRepository _repoPromotion; private readonly IAsyncRepository _repoPromotionDetails; public ServPromotion(IAsyncRepository repoPromotion, IAsyncRepository repoPromotionDetails) { _repoPromotion = repoPromotion; _repoPromotionDetails = repoPromotionDetails; } public async Task> GetAll() { return await _repoPromotion.Get(w => w.Status) .Include(inc => inc.PromotionDetails).ThenInclude(tinc => tinc.Permission) .Select(s => new PromotionDto { ID = s.ID, Name = s.Name, promotionDetails = s.PromotionDetails.Select(s => new PromotionDetailDto { ID = s.ID, APrice = s.APrice, CreditAmount = s.CreditAmount, PermissionID = s.PermissionID, PermissionTitle = s.Permission.Title }).ToList() }).ToListAsync(); } } }