public MediatorResponse <AgencyUserViewModel> Authorize(ClaimsPrincipal principal) { var viewModel = new AgencyUserViewModel(); if (string.IsNullOrEmpty(principal?.Identity?.Name)) { return(GetMediatorResponse(AgencyUserMediatorCodes.Authorize.EmptyUsername, viewModel, AuthorizeMessages.EmptyUsername, UserMessageLevel.Error)); } var authorisationGroupClaim = _configurationService.Get <ManageWebConfiguration>().AuthorisationGroupClaim; if (!principal.IsInGroup(authorisationGroupClaim)) { return(GetMediatorResponse(AgencyUserMediatorCodes.Authorize.MissingServicePermission, viewModel, AuthorizeMessages.MissingServicePermission, UserMessageLevel.Error)); } var username = principal.Identity.Name; viewModel = _agencyUserProvider.GetOrCreateAgencyUser(username); // Redirect to session return URL (if any). var returnUrl = _userDataProvider.Pop(UserDataItemNames.ReturnUrl); if (returnUrl.IsValidReturnUrl()) { return(GetMediatorResponse(AgencyUserMediatorCodes.Authorize.ReturnUrl, viewModel, parameters: returnUrl)); } return(GetMediatorResponse(AgencyUserMediatorCodes.Authorize.Ok, viewModel)); }
public OperationResult ValidateUser(AgencyUserViewModel user) { OperationResult operationResult; operationResult = this._user.ValidateUser(user); return(operationResult); }
public MediatorResponse <AgencyUserViewModel> SaveAgencyUser(ClaimsPrincipal principal, AgencyUserViewModel viewModel) { var username = principal.Identity.Name; viewModel = _agencyUserProvider.SaveAgencyUser(username, viewModel); return(GetMediatorResponse(AgencyUserMediatorCodes.Authorize.Ok, viewModel)); }
public async Task <OperationResult> ValidateUser(AgencyUserViewModel agencyUser) { try { string pathURL = string.Format("/Users/ValidateUser"); return(await this.ExecutePOSTAPICallSimple <OperationResult, AgencyUserViewModel>(pathURL, agencyUser)); } catch (Exception e) { logger.LogError(e, e.Message); throw e; } }
public AgencyUserViewModel SaveAgencyUser(string username, AgencyUserViewModel viewModel) { var agencyUser = _userProfileService.GetAgencyUser(username); var roles = _userProfileService.GetRoles().ToList(); if (!string.IsNullOrEmpty(viewModel.RoleId)) { var role = roles.Single(r => r.Id == viewModel.RoleId); agencyUser.Role = role; } agencyUser.RegionalTeam = viewModel.RegionalTeam; _userProfileService.SaveUser(agencyUser); return(GetAgencyUserViewModel(agencyUser, roles)); }
public OperationResult ValidateUser(AgencyUserViewModel user) { OperationResult operationResult = new OperationResult(); try { if (user == null) { throw new LogicValidationException("No se recibió un datos del usuario"); } if (string.IsNullOrEmpty(user.Email) || string.IsNullOrEmpty(user.Password)) { throw new LogicValidationException("No se enviaron los datos correctamente"); } var userDb = _dbContext.AgencyUsers.FirstOrDefault(a => a.Email == user.Email && a.Password == user.Password); if (userDb != null) { operationResult.Result = true; operationResult.Data = new { userId = userDb.UserID }; } else { operationResult.Message = "Los datos son incorrectos o el usuario no existe"; } } catch (LogicValidationException lv) { operationResult.Message = lv.Message; logger.LogWarning(lv, lv.Message); } catch (Exception e) { operationResult.Message = "Ocurrió un error en el sistema. Porfavor informar el administrador."; logger.LogError(e, e.Message); } return(operationResult); }