public void InvoiceValidatorTest()
        {
            var invoice = CreateInvoice();

            IValidator validator = new InvoiceValidator();
            var        result    = validator.Validate(invoice);

            Assert.IsTrue(result.IsValid);
        }
        public void InvoicenValidatorNoValidTest()
        {
            var invoice = CreateInvoice();

            invoice.SerieDocumento = "G001";

            IValidator validator = new InvoiceValidator();
            var        result    = validator.Validate(invoice);

            Assert.IsFalse(result.IsValid);
            Assert.AreEqual(1, result.Errors.Count);
        }
Example #3
0
        public static Invoice ByCustomer(string customer, string invoiceNumber)
        {
            Enforce
            .Argument(() => customer)
            .Argument(() => invoiceNumber);

            var invoice = new Invoice {
                Customer = customer, Number = invoiceNumber
            };

            InvoiceValidator.Validate(invoice);

            return(invoice);
        }
        public IActionResult Save(int vehicleId, InvoiceFormModel formModel)
        {
            try
            {
                var validator = new InvoiceValidator();
                var results   = validator.Validate(formModel);

                if (results.Errors.Any())
                {
                    foreach (var error in results.Errors)
                    {
                        ModelState.AddModelError(error.PropertyName, error.ErrorMessage);
                    }
                }

                if (!ModelState.IsValid)
                {
                    return(View("InvoiceForm", formModel));
                }

                var invoice = (formModel.InvoiceId == AppStrings.NotSet) ?
                              _mapper.Map <Invoice>(formModel) :
                              _mapper.Map <InvoiceFormModel, Invoice>(formModel, _invoiceService.GetInvoice(formModel.InvoiceId));

                _invoiceService.SaveInvoice(invoice);

                TempData["SuccessMessage"] = AppStrings.InvoiceSavedSuccessMsg;
                return(RedirectToAction("Details", "Vehicle", new { id = vehicleId }));
            }
            catch (VehicleNotFoundException ex)
            {
                _logger.LogWarning(ex.Message);
                TempData["ErrorMessage"] = AppStrings.GenericErrorMsg;
                return(RedirectToAction("Index", "Vehicle"));
            }
            catch (Exception ex)
            {
                _logger.LogWarning($"Error occurred while attempting to save repair. {ex.Message}");
                TempData["ErrorMessage"] = AppStrings.GenericErrorMsg;
                return(RedirectToAction("Index", "Vehicle"));
            }
        }