예제 #1
0
        public void Build_different_act_if_payer_name_changed()
        {
            var invoices = new List <Invoice>();

            invoices.Add(new Invoice(payer, new Period(2011, Interval.January), DateTime.Now));
            payer.JuridicalName = "ООО 'Хвосты и плетки'";
            invoices.Add(new Invoice(payer, new Period(2011, Interval.January), DateTime.Now));
            var acts = Act.Build(invoices, DateTime.Now).ToList();

            Assert.That(acts.Count, Is.EqualTo(2));
            Assert.That(acts[0].PayerName, Is.EqualTo("ООО 'Рога и копыта'"));
            Assert.That(acts[1].PayerName, Is.EqualTo("ООО 'Хвосты и плетки'"));
        }
예제 #2
0
        public void Build([ARDataBind("buildFilter", AutoLoad = AutoLoadBehavior.NullIfInvalidKey)] DocumentBuilderFilter filter, DateTime actDate)
        {
            var sourceInvoices = filter.Find <Invoice>();
            var invoices       = sourceInvoices
                                 .Where(i => !DbSession.Query <Act>().Any(a => a.Payer == i.Payer && a.Period == i.Period)).ToList();
            var createdTime = DateTime.Now;

            foreach (var act in Act.Build(invoices, actDate))
            {
                DbSession.Save(act);
            }
            var destinationFilter = filter.ToDocumentFilter();

            destinationFilter.CreatedOn = createdTime;
            RedirectToAction("Index", destinationFilter.GetQueryString());
        }
예제 #3
0
        public void Do_not_build_duplicate_document()
        {
            var payer   = DataMother.CreatePayerForBillingDocumentTest();
            var invoice = new Invoice(payer, new Period(2010, Interval.December), DateTime.Now);

            session.Save(invoice);

            var acts = Act.Build(new List <Invoice> {
                invoice
            }, DateTime.Now);

            acts.Each(a => session.Save(a));

            Assert.That(acts.Count(), Is.EqualTo(1));

            acts = Act.Build(new List <Invoice> {
                invoice
            }, DateTime.Now);
            Assert.That(acts.Count(), Is.EqualTo(0));
        }