public FiscalReceiptAddedEvent(FiscalReceipt receipt) { Receipt = receipt; }
public static bool Validate(FiscalReceipt fiscalReceipt) { if (fiscalReceipt == null) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.Number)) { return(false); } if (fiscalReceipt.Items == null || !fiscalReceipt.Items.Any()) { return(false); } if (fiscalReceipt.Items != null && !fiscalReceipt.Items.All(FiscalReceiptItemValidator.Validate)) { return(false); } if (fiscalReceipt.DiscountsAndMarkups != null && !fiscalReceipt.DiscountsAndMarkups.All(FiscalReceiptDiscountOrMarkupValidator.Validate)) { return(false); } if (fiscalReceipt.TotalsPerVatRate == null || !fiscalReceipt.TotalsPerVatRate.Any()) { return(false); } if (!fiscalReceipt.TotalsPerVatRate.All(FiscalReceiptTotalValidator.Validate)) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.TaxPayerName)) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.TaxPayerAddress)) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.TaxPayerNip)) { return(false); } else { if (!NipValidator.Validate(fiscalReceipt.TaxPayerNip)) { return(false); } } if (string.IsNullOrWhiteSpace(fiscalReceipt.AddressOfSalePlace)) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.NameOfSalePlace)) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.CurrencyCode)) { return(false); } if (string.IsNullOrWhiteSpace(fiscalReceipt.PaymentForm)) { return(false); } if (fiscalReceipt.TimeAndDateOfSale < new DateTime(2005, 1, 1)) { return(false); } if (!fiscalReceipt.Items.Select(i => i.VatRateLetter).Distinct().OrderBy(v => v) .SequenceEqual(fiscalReceipt.TotalsPerVatRate.Select(t => t.VatRateLetter).Distinct().OrderBy(v => v))) { return(false); } if (fiscalReceipt.DiscountsAndMarkups != null && fiscalReceipt.DiscountsAndMarkups.Select(dm => dm.VatRateLetter).Distinct() .Except(fiscalReceipt.Items.Select(i => i.VatRateLetter).Distinct()) .Any()) { return(false); } if (fiscalReceipt.TotalsPerVatRate.Count > fiscalReceipt.TotalsPerVatRate.Select(t => t.VatRateLetter).Distinct().Count()) { return(false); } return(true); }
public static void Validate_Returns_False_Given_Invalid_Receipt(FiscalReceipt invalidReceipt) { var isValid = FiscalReceiptValidator.Validate(invalidReceipt); Assert.False(isValid); }
public FiscalReceipt Create(FiscalReceipt fiscalReceipt) { ujpDbContext.FiscalReceipt.Add(fiscalReceipt); return(fiscalReceipt); }