AuthenticationExample.Web.Controllers.SessionController.Create C# (CSharp) Method

Create() private method

private Create ( AuthenticationExample.Web.ViewModels.SessionViewModel sessionViewModel ) : System.Web.Mvc.ActionResult
sessionViewModel AuthenticationExample.Web.ViewModels.SessionViewModel
return System.Web.Mvc.ActionResult
		public ActionResult Create(SessionViewModel sessionViewModel)
		{
			User user = null;
			if (ModelState.IsValid)
			{
				user = _repository.GetAll<User>().SingleOrDefault(x => x.Username == sessionViewModel.Username);
				if (user == null)
				{
					ModelState.AddModelError(string.Empty, errorMessage);
				}
			}

			if (ModelState.IsValid)
			{
				if (!Cryptography.Verify(user.Password, sessionViewModel.Password))
				{
					ModelState.AddModelError(string.Empty, errorMessage);
				}
			}

			if (ModelState.IsValid)
			{
				_authenticator.SetCookie(user.Username);
				var returnUrl = sessionViewModel.ReturnUrl;
				if (returnUrl != null)
				{
					Uri returnUri;
					if (Uri.TryCreate(returnUrl, UriKind.Relative, out returnUri))
					{
						return Redirect(sessionViewModel.ReturnUrl);
					}
				}

				return RedirectToAction("Index", "Home");
			}

			return View("New", sessionViewModel);
		}