예제 #1
0
		public virtual ActionResult Create(CarrierModel model)
		{
			if(string.IsNullOrWhiteSpace(model.Authentication.NewPassword))
				ModelState.AddModelError("NewPassword", Validation.EmplyPassword);

			if(!ModelState.IsValid)
			{
				BindBag();

				return View();
			}

			try
			{
				var id = _carriers.Add(model.Name, model.Email, model.Phone, model.Contact, model.Address,
					model.Authentication.Login, model.Authentication.NewPassword, _identity.Language);

				_carriers.SetCities(id, model.Cities);

				return RedirectToAction(MVC.Carrier.Edit(id));
			}
			catch(DublicateLoginException)
			{
				ModelState.AddModelError("Authentication.Login", Validation.LoginExists);

				BindBag();

				return View();
			}
		}
예제 #2
0
		public virtual ActionResult Edit(long id, CarrierModel model)
		{
			if(!ModelState.IsValid)
			{
				BindBag();

				return View();
			}

			try
			{
				_carriers.Update(id, model.Name, model.Email, model.Phone, model.Contact, model.Address, model.Authentication.Login);

				_carriers.SetCities(id, model.Cities);

				if(!string.IsNullOrWhiteSpace(model.Authentication.NewPassword))
				{
					var data = _carriers.Get(id);

					_users.SetPassword(data.UserId, model.Authentication.NewPassword);
				}

				return RedirectToAction(MVC.Carrier.Edit(id));
			}
			catch(DublicateLoginException)
			{
				ModelState.AddModelError("Authentication.Login", Validation.LoginExists);

				BindBag();

				return View();
			}
		}
예제 #3
0
		public virtual ViewResult Edit(long id)
		{
			BindBag();

			var data = _carriers.Get(id);

			var model = new CarrierModel
			{
				Authentication = new AuthenticationModel(data.Login),
				Email = data.Email,
				Cities = _carriers.GetCities(id),
				Name = data.Name,
				Contact = data.Contact,
				Phone = data.Phone,
				Address = data.Address
			};

			return View(model);
		}