private PaymentResultDto ConvertPaymentResultInDto(PaymentResult result) { var dto = new PaymentResultDto { PaymentId = result.PaymentId, ClientId = result.ClientId, SalesDate = result.SalesDate.ToString("yyyy-MM-dd"), Quantity = result.Quantity, ProductName = result.ProductName, UnitPrice = result.UnitPrice, ProductPrice = result.ProductPrice }; return(dto); }
public async Task <PaymentResultDto> GeneratePaymentAsync(GeneratePaymentDto generatePaymentDto) { PaymentResultDto paymentResultDto = new PaymentResultDto { FullDiscount = 0, FullPrice = 0 }; generatePaymentDto.Order.OrderItems .ForEach(x => paymentResultDto.FullPrice += x.MenuItemPrice * x.NumberOfItems); int regularGuestDiscount = 0; if (generatePaymentDto.RegularGuest != null) { regularGuestDiscount = (int)(paymentResultDto.FullPrice * (generatePaymentDto.RegularGuest.Discount / 100.00)); } int discountDiscount = 0; if (generatePaymentDto.Discount != null) { if (generatePaymentDto.Discount.Type == "Price") { discountDiscount = generatePaymentDto.Discount.Value; } else { discountDiscount = (int)(paymentResultDto.FullPrice * (generatePaymentDto.Discount.Value / 100.00)); } bool success = await _repository .SetDiscountUsedAsync(generatePaymentDto.Discount.ToEntity()); } paymentResultDto.FullDiscount = regularGuestDiscount + discountDiscount; paymentResultDto.Result = paymentResultDto.FullPrice - paymentResultDto.FullDiscount; if (paymentResultDto.Result < 0) { paymentResultDto.Result = 0; } return(paymentResultDto); }