コード例 #1
0
        public void NewAct(uint id)
        {
            var payer = DbSession.Load <Payer>(id);
            var act   = new Act(payer, DateTime.Now);

            PropertyBag["act"]        = act;
            PropertyBag["references"] = DbSession.Query <Nomenclature>().OrderBy(n => n.Name).ToList();

            if (IsPost)
            {
                BindObjectInstance(act, "act");
                if (IsValid(act))
                {
                    act.SetPayer(payer);
                    act.CalculateSum();
                    DbSession.Save(act);
                    Notify("Акт сформирован");
                    Redirect("Billing", "Edit", new { BillingCode = payer.Id });
                }
            }
            else
            {
                act.Parts.Add(new ActPart(act));
            }
            RenderView("/Acts/Edit");
        }
コード例 #2
0
        public void Calculate_sum()
        {
            DataMother.TestClient(c => {
                c.Payers.Clear();
                c.Payers.Add(payer);
            });
            var act = new Act(payer, DateTime.Now);

            act.Parts.Add(new ActPart(act)
            {
                Name  = "Тест",
                Count = 1,
                Cost  = 100
            });
            act.CalculateSum();
            session.Save(act);

            var filter = new PayerDocumentFilter {
                Region     = payer.Clients.First().HomeRegion,
                SearchText = payer.Id.ToString()
            };
            var acts = filter.Find <Act>(session);

            Assert.AreEqual(100, filter.Sum);
            Assert.AreEqual(1, acts.Count);
        }