Exemple #1
0
        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));
        }
Exemple #2
0
        public OperationResult ValidateUser(AgencyUserViewModel user)
        {
            OperationResult operationResult;

            operationResult = this._user.ValidateUser(user);

            return(operationResult);
        }
Exemple #3
0
        public MediatorResponse <AgencyUserViewModel> SaveAgencyUser(ClaimsPrincipal principal,
                                                                     AgencyUserViewModel viewModel)
        {
            var username = principal.Identity.Name;

            viewModel = _agencyUserProvider.SaveAgencyUser(username, viewModel);

            return(GetMediatorResponse(AgencyUserMediatorCodes.Authorize.Ok, viewModel));
        }
Exemple #4
0
 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;
     }
 }
Exemple #5
0
        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);
        }