public async Task <SaleDto> GetOne(Guid id) { var sale = await _saleRepository.GetById(id, x => x.Include(s => s.Client).Include(s => s.Payment).Include(s => s.Details).ThenInclude(d => d.Product)); if (sale == null) { throw new KeyNotFoundException($"Sale with id: {id} not found."); } sale.Details = sale.Details.Where(x => !x.IsDeleted).ToList(); var saleDto = _mapper.Map <Sale, SaleDto>(sale); var payment = sale.Payment; switch (saleDto.PaymentType) { case Util.Enums.ePaymentTypes.Cash: saleDto.Cash = _mapper.Map <Cash, CashDto>((Cash)payment); break; case Util.Enums.ePaymentTypes.OwnFees: OwnFees owF = (OwnFees)payment; owF.FeeList = (await _feeRepository.GetAll()).Where(x => x.OwnFeesId == owF.Id).OrderBy(x => x.ExpirationDate).ToList(); saleDto.OwnFees = _mapper.Map <OwnFees, OwnFeesDto>(owF); break; case Util.Enums.ePaymentTypes.CreditCard: saleDto.CreditCard = _mapper.Map <CreditCard, CreditCardDto>((CreditCard)payment); break; case Util.Enums.ePaymentTypes.DebitCard: saleDto.DebitCard = _mapper.Map <DebitCard, DebitCardDto>((DebitCard)payment); break; case Util.Enums.ePaymentTypes.Cheques: saleDto.Cheques = _mapper.Map <ChequesPayment, ChequesPaymentDto>((ChequesPayment)payment); saleDto.Cheques.ListOfCheques = _mapper.Map <IEnumerable <Cheque>, IEnumerable <ChequeDto> >( (await _chequeRepository.GetAll()).Where(x => x.ChequesPaymentId == saleDto.Cheques.Id) ).ToList(); break; default: break; } return(saleDto); }
public IEnumerable <Fee> GetAll(string cardNumber) { var fees = _feeRepository.GetAll(cardNumber); return(fees); }
public IActionResult Index() { var fees = _fees.GetAll(); return(View("Index", fees)); }