public UnitOfWorkEntityFramework(FrapperDbContext context)
 {
     _context             = context;
     AssignedRolesCommand = new AssignedRolesCommand(_context);
     RoleCommand          = new RoleCommand(_context);
     UserMasterCommand    = new UserMasterCommand(_context);
     UserTokensCommand    = new UserTokensCommand(_context);
     MenuCategoryCommand  = new MenuCategoryCommand(_context);
     MenuMasterCommand    = new MenuMasterCommand(_context);
     SubMenuMasterCommand = new SubMenuMasterCommand(_context);
     VerificationCommand  = new VerificationCommand(_context);
     ProfileImageCommand  = new ProfileImageCommand(_context);
     NoticeCommand        = new NoticeCommand(_context);
     NoticeDetailsCommand = new NoticeDetailsCommand(_context);
     DocumentCommand      = new DocumentCommand(_context);
 }
示例#2
0
        public async Task <OperationResult <string> > Handle(VerificationCommand request, CancellationToken cancellationToken)
        {
            var verification = await unitOfWork.UsersRepository.ActivationCodeRepository.FindByHashCodeAndCodeAsync(request.HashCode, request.Code, cancellationToken);

            if (verification.Result != null)
            {
                if (verification.Result.DateExpire >= DateTimeOffset.UtcNow)
                {
                    var findUSer = await unitOfWork.UsersRepository.GetUserByIdAsync(verification.Result.UserId, cancellationToken);

                    if (findUSer.Result != null)
                    {
                        switch (verification.Result.CodeType.CodeTypes)
                        {
                        case CodeTypes.EmailConfirmed:
                            findUSer.Result.ConfirmedEmail();
                            findUSer.Result.UserChangeActiveStatus(false);
                            break;

                        case CodeTypes.ForgetPassword:
                            break;

                        case CodeTypes.PhoneConfirmed:
                            findUSer.Result.ConfirmedPhoneNumber();
                            break;

                        case CodeTypes.RegisterCode:
                            findUSer.Result.UserChangeActiveStatus(false);
                            break;
                        }
                        var reomve = unitOfWork.UsersRepository.ActivationCodeRepository.Remove(verification.Result);
                        if (reomve.Success)
                        {
                            unitOfWork.CommitSaveChange();
                            return(OperationResult <string> .BuildSuccessResult("Verification Success"));
                        }
                        return(OperationResult <string> .BuildFailure(reomve.ErrorMessage));
                    }
                    return(OperationResult <string> .BuildFailure(findUSer.ErrorMessage));
                }
                return(OperationResult <string> .BuildFailure("Exiperation Time of Code"));
            }
            return(OperationResult <string> .BuildFailure("Code not Found"));
        }