public void Add( [DataBind("contacts")] Contact[] contacts, uint clientId, string comment) { var client = Client.FindAndCheck <Client>(clientId); var address = new Address(client); RecreateOnlyIfNullBinder.Prepare(this); BindObjectInstance(address, "address", AutoLoadBehavior.NewRootInstanceIfInvalidKey); if (client.Payers.Count > 1 && address.AvaliableForUsers != null && address.AvaliableForUsers.Count > 0) { address.AvaliableForUsers.Each(u => DbSession.Refresh(u)); if (address.AvaliableForUsers.All(u => u.Payer.Id != address.LegalEntity.Payer.Id)) { Add(client.Id); PropertyBag["client"] = client; PropertyBag["address"] = address; Error("Ошибка регистрации: попытка зарегистрировать пользователя и адрес в различных Плательщиках"); return; } } client.AddAddress(address); address.UpdateContacts(contacts); DbSession.Save(address); address.Maintain(DbSession); address.CreateFtpDirectory(); address.AddBillingComment(comment); new Mailer(DbSession).Registred(address, comment, Defaults); Notify("Адрес доставки создан"); RedirectUsingRoute("client", "show", new { client.Id }); }
public void Edit(uint id) { Binder.Validator = Validator; var act = DbSession.Load <Act>(id); PropertyBag["act"] = act; PropertyBag["references"] = DbSession.Query <Nomenclature>().OrderBy(n => n.Name).ToList(); if (IsPost) { RecreateOnlyIfNullBinder.Prepare(this, "act.Parts"); BindObjectInstance(act, "act"); if (IsValid(act)) { act.CalculateSum(); DbSession.Save(act); Mail().ActModified(act); Notify("Сохранено"); RedirectUsingRoute("Acts", "Edit", new { act.Id }); } } }
public void Edit(uint id) { RenderView("/Payers/NewInvoice"); var invoice = DbSession.Load <Invoice>(id); PropertyBag["invoice"] = invoice; PropertyBag["references"] = DbSession.Query <Nomenclature>().OrderBy(n => n.Name).ToList(); if (IsPost) { RecreateOnlyIfNullBinder.Prepare(this, "invoice.Parts"); BindObjectInstance(invoice, "invoice"); if (IsValid(invoice)) { invoice.CalculateSum(); Mail().InvoiceModified(invoice); DbSession.Save(invoice); Notify("Сохранено"); Redirect("Invoices", "Edit", new { invoice.Id }); } } }