Exemplo n.º 1
0
        public BusinessOperationResult <bool> ValidatePasswordRecoveryRequest(Guid guidId)
        {
            var result = new BusinessOperationResult <bool>();

            DynamicLink link = accountContext.DynamicLinks.GetByGuidId(guidId);

            if (link == null)
            {
                result.AddError(BusinessMessageSource.BusinessRule, Resources.DynamicLinkNotFound);
            }
            else if (systemContext.DateTimeNow > link.ExpiresOn)
            {
                result.AddError(BusinessMessageSource.BusinessRule, Resources.DynamicLinkExpired);
            }
            else if (link.IsConsumed)
            {
                result.AddError(BusinessMessageSource.BusinessRule, Resources.DynamicLinkConsumed);
            }
            else
            {
                result.OperationResult = true;
            }

            return(result);
        }
Exemplo n.º 2
0
        public ActionResult UpdateAccount(User newAccount)
        {
            //TODO(AngelM): Check if it worth to expose a Web API method
            BusinessOperationResult <bool> result = accountManager.Update(newAccount);

            if (result.IsError)
            {
                return(new GenericStateResult(result.Messages));
            }

            return(new GenericStateResult());
        }
Exemplo n.º 3
0
        public BusinessOperationResult <bool> CreateNew(User user)
        {
            BusinessValidationResult results = userValidator.ValidateForCreate(user);

            if (!results.IsValid)
            {
                return(BusinessOperationResult.CreateNewBoolean(results));
            }

            //Everything fine
            accountContext.Users.Create(user);
            accountContext.SaveChanges();

            //Success
            return(new BusinessOperationResult <bool>(true));
        }
Exemplo n.º 4
0
        public ActionResult PasswordRecovery(Guid guidId)
        {
            try
            {
                BusinessOperationResult <bool> result = accountManager.ValidatePasswordRecoveryRequest(guidId);

                if (result.IsError)
                {
                    return(new GenericStateResult(result.Messages));
                }
            }
            catch (Exception ex)
            {
                logger.LogException(ex);
                throw;
            }

            return(View("~/Views/Shared/Login.cshtml", new { passwordRecoveryGuidId = guidId }));
        }
Exemplo n.º 5
0
        public ActionResult PasswordRecoveryRequest(string alias, string recoveryOption)
        {
            try
            {
                BusinessOperationResult <bool> result = accountManager.PasswordRecovery(alias, recoveryOption);

                if (result.IsError)
                {
                    return(new GenericStateResult(result.Messages));
                }
            }
            catch (Exception ex)
            {
                logger.LogException(ex);
                throw;
            }

            return(new GenericStateResult());
        }
Exemplo n.º 6
0
        public BusinessOperationResult <bool> Update(User user)
        {
            BusinessValidationResult results = userValidator.ValidateForUpdate(user);

            if (!results.IsValid)
            {
                return(BusinessOperationResult.CreateNewBoolean(results));
            }

            //Everything fine
            accountContext.Users.Update(user);

            //Getting into this indicates there was an issue
            if (accountContext.SaveChanges() == 0)
            {
                return(BusinessOperationResult.CreateNewBooleanError(BusinessMessageSource.BusinessRule, Resources.UserNotFound));
            }

            //Success
            return(new BusinessOperationResult <bool>(true));
        }
Exemplo n.º 7
0
        public BusinessOperationResult<User> FindUserByAlias(string alias, bool? isActive = null)
        {
            var result = new BusinessOperationResult<User>();

            if (string.IsNullOrWhiteSpace(alias))
            {
                result.AddError(BusinessMessageSource.ModelProperty, Resources.InvalidValue);
            }
            else
            {
                User foundUser = accountContext.Users.FindUserByAlias(alias, isActive);

                if (foundUser == null)
                {
                    result.AddError(BusinessMessageSource.BusinessRule, Resources.UserNotFound);
                }

                result.OperationResult = foundUser;
            }

            return result;
        }
Exemplo n.º 8
0
        public BusinessOperationResult <User> FindUserByAlias(string alias, bool?isActive = null)
        {
            var result = new BusinessOperationResult <User>();

            if (string.IsNullOrWhiteSpace(alias))
            {
                result.AddError(BusinessMessageSource.ModelProperty, Resources.InvalidValue);
            }
            else
            {
                User foundUser = accountContext.Users.FindUserByAlias(alias, isActive);

                if (foundUser == null)
                {
                    result.AddError(BusinessMessageSource.BusinessRule, Resources.UserNotFound);
                }

                result.OperationResult = foundUser;
            }

            return(result);
        }
Exemplo n.º 9
0
        public BusinessOperationResult<bool> ValidatePasswordRecoveryRequest(Guid guidId)
        {
            var result = new BusinessOperationResult<bool>();

            DynamicLink link = accountContext.DynamicLinks.GetByGuidId(guidId);

            if (link == null)
            {
                result.AddError(BusinessMessageSource.BusinessRule, Resources.DynamicLinkNotFound);
            }
            else if(systemContext.DateTimeNow > link.ExpiresOn)
            {
                result.AddError(BusinessMessageSource.BusinessRule, Resources.DynamicLinkExpired);
            }
            else if (link.IsConsumed)
            {
                result.AddError(BusinessMessageSource.BusinessRule, Resources.DynamicLinkConsumed);
            }
            else
            {
                result.OperationResult = true;
            }

            return result;
        }