public ActionResult LogOn(LogOnModel model, string returnUrl) { if (ModelState.IsValid) { if (!string.IsNullOrWhiteSpace(model.UserName)) { var command = new AddUserRequest {UserName = model.UserName}; if (ServerProvider.MakeRequest(command).Status != Statuses.Ok) { ModelState.AddModelError("", "Пользователь " + model.UserName + " уже в сети."); } else { FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Redirect(returnUrl); } return RedirectToAction("Index", "Home"); } } else { ModelState.AddModelError("", "Имя пользователя или пароль указаны неверно."); } } // Появление этого сообщения означает наличие ошибки; повторное отображение формы return View(model); }
public override void DoWork(IEnumerable<string> args) { if (Utils.CheckArgs(ArgsNeed, args.Count())) { if (Utils.IsNotLoggedIn()) { var request = new AddUserRequest {UserName = args.ToArray()[0]}; var response = ServerProvider.MakeRequest(request); if (response.Status == Statuses.Ok) { CurrentUser.Name = args.ToArray()[0]; CurrentUser.StartPulse(); Console.WriteLine("You logged in as: " + CurrentUser.Name); } else { Console.WriteLine(response.Status == Statuses.DuplicateUser ? "This user already logged in." : "Bad status"); } } } }