/// <summary> /// Signin with a user /// </summary> /// <param name="user">The user</param> /// <param name="ct">The cancellation token</param> /// <returns>Bearer</returns> public async Task <Bearer> Signin(Models.Account.User user, CancellationToken ct) { var watch = Stopwatch.StartNew(); var restClient = new RestClient(Constants.PopcornApiEndpoint); var request = new RestRequest("/{segment}", Method.POST); request.AddUrlSegment("segment", "oauth/token"); request.AddParameter("username", user.Username); request.AddParameter("password", user.Password); request.AddParameter("grant_type", "password"); var response = await restClient.ExecutePostTaskAsync(request, ct); if (response.ErrorException != null) { throw new Exception(); } if (response.StatusCode == HttpStatusCode.BadRequest) { } var bearer = await Task.Run(() => JsonConvert.DeserializeObject <Bearer>(response.Content), ct); watch.Stop(); var elapsedMs = watch.ElapsedMilliseconds; Logger.Debug( $"Signin ({user.Username}, {user.Fullname}, {user.Email}) in {elapsedMs} milliseconds."); return(bearer); }
/// <summary> /// Open signin modal /// </summary> /// <returns>Task</returns> private async Task OpenSigninModal() { var signinDialog = new SigninDialog(new SigninDialogSettings()); await DialogCoordinator.ShowMetroDialogAsync(this, signinDialog); var signinDialogResult = await signinDialog.WaitForButtonPressAsync(); await DialogCoordinator.HideMetroDialogAsync(this, signinDialog); if (signinDialogResult == null) { return; } if (signinDialogResult.ShouldSignup) { var user = await OpenSignupModal(); if (user == null) { return; } await Signin(user); } else { var user = new Models.Account.User { Username = signinDialogResult.Username, Password = signinDialogResult.Password }; await Signin(user); } }
public async Task <IdentityResult> RegisterUser(Models.Account.User userModel) { IdentityUser user = new IdentityUser { UserName = userModel.UserName }; var result = await _userManager.CreateAsync(user, userModel.Password); return(result); }
public async Task <IHttpActionResult> Register(Models.Account.User user) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } IdentityResult result = await _repo.RegisterUser(user); IHttpActionResult errorResult = GetErrorResult(result); if (errorResult != null) { return(errorResult); } return(Ok()); }
public ActionResult AddUser() { var model = new Models.Account.User(); return View(model); }
/// <summary> /// Open signin modal /// </summary> /// <returns>Task</returns> private async Task OpenSigninModal() { var signinDialog = new SigninDialog(new SigninDialogSettings()); await DialogCoordinator.ShowMetroDialogAsync(this, signinDialog); var signinDialogResult = await signinDialog.WaitForButtonPressAsync(); await DialogCoordinator.HideMetroDialogAsync(this, signinDialog); if (signinDialogResult == null) return; if (signinDialogResult.ShouldSignup) { var user = await OpenSignupModal(); if (user == null) return; await Signin(user); } else { var user = new Models.Account.User { Username = signinDialogResult.Username, Password = signinDialogResult.Password }; await Signin(user); } }
public Models.Account.User GetUser(string key, string userName) { var user = new Models.Account.User(); try { using (var ctx = new AssessmentEntities()) { var guid = Guid.Parse(key); var userObj = ctx.User.FirstOrDefault(x => x.Guid == guid && x.UserName == userName); if (userObj != null) { var roles = new List<string>(); var roleObj = userObj.UserRole; foreach (var item in roleObj.OrderBy(x => x.RoleId)) { if (!item.Disabled) { var role = item.Role; if (!role.Disabled) roles.Add(item.Role.Name); } } user.Roles = roles; user.Id = userObj.Id; user.UserName = userObj.UserName; user.FirstName = userObj.FirstName; user.LastName = userObj.LastName; user.CompanyName = userObj.CompanyName; user.Email = userObj.Email; if (userObj.EndDate.HasValue) user.EndDate = (DateTime)userObj.EndDate; user.LastLoginDate = userObj.LastLoginDate; user.Status = (Models.Account.UserStatus)userObj.StatusId; user.Deleted = userObj.Deleted; } else { Logger.Log(LogLevel.Error, "Error in GetUser [key = " + key + ", user name = " + userName + "]: user not found"); } } } catch (Exception e) { user.Status = Models.Account.UserStatus.Undefined; Logger.Log(LogLevel.Error, "Error in GetUser [key = " + key + ", user name = " + userName + "]: " + e.Message); } return user; }
/// <summary> /// Signin user /// </summary> /// <param name="user">The user to signin</param> /// <returns>Task</returns> private async Task Signin(Models.Account.User user) { var bearer = await UserService.Signin(user, new CancellationToken()); }