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"); }
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); }