Exemple #1
0
        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)));
        }
Exemple #2
0
        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)));
        }