public async Task <IActionResult> Add(NewReceiptVM receiptVM) { var existingValidation = await _receiptRepository.VerifyExistingReceiptInMeasurement(receiptVM.Measurement.Id, receiptVM.Contract.Id); if (existingValidation.IsFailure) { return(ErrorContent(existingValidation.Error)); } var contract = await _contractRepository.GetById(receiptVM.Contract.Id); var receipt = Receipt.Create(receiptVM.Measurement.Id, receiptVM.Contract.Id, receiptVM.CurrentRead, receiptVM.NewRead); var chargeList = await _chargeRepository.GetValidChargeActive(); receipt.CalculateTotalAmount(contract, chargeList); await _receiptRepository.Save(receipt); return(Ok()); }
public async Task <IActionResult> ReceiptByMeasurement(int?id) { var measurement = await _measurementRepository.GetById(id.Value); var receipt = new NewReceiptVM() { Measurement = new MeasurementDetailVM() { Id = measurement.Id, DateFrom = measurement.DateFrom, DateTo = measurement.DateTo, MaxPaymentDate = measurement.MaxPaymentDate, Month = measurement.Month, Year = measurement.Year }, Receipts = await _receiptRepository.GetReceiptDetailsByMeasurement(measurement.Id) }; ViewData["ContractCollection"] = new SelectList(await _contractRepository.GetValidData(), "Value", "Text"); return(View(receipt)); }