Пример #1
0
 public FiscalReceiptAddedEvent(FiscalReceipt receipt)
 {
     Receipt = receipt;
 }
Пример #2
0
 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);
 }
Пример #3
0
        public static void Validate_Returns_False_Given_Invalid_Receipt(FiscalReceipt invalidReceipt)
        {
            var isValid = FiscalReceiptValidator.Validate(invalidReceipt);

            Assert.False(isValid);
        }
Пример #4
0
 public FiscalReceipt Create(FiscalReceipt fiscalReceipt)
 {
     ujpDbContext.FiscalReceipt.Add(fiscalReceipt);
     return(fiscalReceipt);
 }