public virtual ActionResult Create(ClientModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { if (!EmailsHelper.Validate(model.Emails)) { ModelState.AddModelError("Emails", @"Emails format is invalid"); } if (!ModelState.IsValid) { BindBag(null); return(View()); } long clientId = 0; var passwordDefined = !string.IsNullOrWhiteSpace(model.Authentication.NewPassword); if (passwordDefined) { try { clientId = _manager.Add(model, transitModel); if (model.ContractFile != null) { MergeContract(model, clientId); } } catch (DublicateLoginException) { ModelState.AddModelError("Login", Validation.LoginExists); } } else { ModelState.AddModelError("NewPassword", Validation.EmplyPassword); } if (!ModelState.IsValid) { BindBag(null); return(View()); } return(RedirectToAction(MVC.Client.Edit(clientId))); }
public virtual ActionResult Edit(long?id, ClientModel model, [Bind(Prefix = "Transit")] TransitEditModel transitModel) { if (!EmailsHelper.Validate(model.Emails)) { ModelState.AddModelError("Emails", @"Emails format is invalid"); } if (!ModelState.IsValid) { BindBag(id); return(View()); } var client = _clients.GetCurrentClientData(id); try { ClientCantChangeDefaultSenderId(model, client); ClientCantChangeCalculationSettings(model, client); _manager.Update(client.ClientId, model, transitModel); MergeContract(model, client.ClientId); } catch (DublicateLoginException) { ModelState.AddModelError("Login", Validation.LoginExists); } if (!ModelState.IsValid) { BindBag(id); return(View()); } return(RedirectToAction(MVC.Client.Edit(client.ClientId))); }