Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        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));
        }