public async Task <ActionResult> Login(LoginModel model, string returnUrl = "/") { LoginVM viewModel = new LoginVM(); var authent = new AuthenticationInfo { UserName = model.UserName, Password = model.Password }; AuthenticationOut authentResult = null; try { authentResult = await accountService.AuthenticationAsync(authent); } catch (Exception ex) { string s = ex.Message; //TODO:Лог } switch (authentResult.Result.Type) { case ResultRequestType.Success: IEnumerable <string> roles = await accountService.AuthorizationAsync(model.UserName); if (roles.Count() > 0) { var userInfo = userManagerService.Get(authentResult.UserId); var userProfile = await userProfileService.GetAsync(userInfo.ProfileId); SignIn(authentResult.UserId, $"{model.UserName} {userProfile.FirstName.ToUpper()[0]}.{userProfile.Patronymic.ToUpper()[0]}. ", roles); viewModel.URI = string.IsNullOrWhiteSpace(returnUrl) ? "/" : returnUrl; viewModel.Result.Type = ResultRequestType.Success; } else { //TODO: лог viewModel.Result.Type = ResultRequestType.Error; viewModel.Result.Message = $"Пользователь с guid'ом - {authentResult.UserId} не включен не в одну из ролей"; } break; case ResultRequestType.Error: case ResultRequestType.Warning: case ResultRequestType.Info: viewModel = mapper.Map <AuthenticationOut, LoginVM>(authentResult); break; } return(RedirectToLocal(returnUrl)); }
public async Task <UserProfileOut> Get(Guid id) { UserProfileOut result = await userProfileService.GetAsync(id); return(result); }