Пример #1
0
        public async Task <IResult> UpdateAsync(UpdateUserModel updateUserModel)
        {
            var validation = new UpdateUserModelValidator().Valid(updateUserModel);

            if (!validation.Success)
            {
                return(new ErrorResult(validation.Message));
            }

            var userEntityDatabase = await UserRepository.SelectAsync(updateUserModel.UserId).ConfigureAwait(false);

            var userDomain = UserDomainFactory.Create(updateUserModel);

            userDomain.SetLogin(userEntityDatabase.Login);

            userDomain.SetPassword(userEntityDatabase.Password);

            var userEntity = userDomain.Map <UserEntity>();

            await UserRepository.UpdateAsync(userEntity, userEntity.UserId).ConfigureAwait(false);

            await DatabaseUnitOfWork.SaveChangesAsync().ConfigureAwait(false);

            return(new SuccessResult());
        }
Пример #2
0
        public async Task <IDataResult <TokenModel> > SignInAsync(SignInModel signInModel)
        {
            var validation = new SignInModelValidator().Valid(signInModel);

            if (!validation.Success)
            {
                return(new ErrorDataResult <TokenModel>(validation.Message));
            }

            var userDomain = UserDomainFactory.Create(signInModel);

            userDomain.SignIn();

            signInModel = userDomain.Map <SignInModel>();

            var signedInModel = await UserRepository.SignInAsync(signInModel).ConfigureAwait(false);

            validation = new SignedInModelValidator().Valid(signedInModel);

            if (!validation.Success)
            {
                return(new ErrorDataResult <TokenModel>(validation.Message));
            }

            await AddUserLogAsync(signedInModel.UserId, LogType.SignIn).ConfigureAwait(false);

            var tokenModel = CreateJsonWebToken(signedInModel);

            return(new SuccessDataResult <TokenModel>(tokenModel));
        }
        public async Task <IResult> UpdateAsync(long userId, UpdateUserModel updateUserModel)
        {
            var validation = new UpdateUserModelValidator().Valid(updateUserModel);

            if (!validation.Success)
            {
                return(new ErrorResult(validation.Message));
            }

            var userEntity = await UserRepository.SelectAsync(userId);

            var nullObjectValidation = new NullObjectValidation <UserEntity>().Valid(userEntity);

            if (!nullObjectValidation.Success)
            {
                return(new ErrorResult(nullObjectValidation.Message));
            }

            var userDomain = UserDomainFactory.Create(userEntity);

            userDomain.Update(updateUserModel);
            userEntity        = userDomain.Map <UserEntity>();
            userEntity.UserId = userId;
            await UserRepository.UpdateAsync(userEntity, userEntity.UserId);

            await DatabaseUnitOfWork.SaveChangesAsync();

            return(new SuccessResult());
        }
Пример #4
0
        public async Task <IDataResult <long> > AddAsync(AddUserModel addUserModel)
        {
            var validation = new AddUserModelValidator().Valid(addUserModel);

            if (!validation.Success)
            {
                return(new ErrorDataResult <long>(validation.Message));
            }

            addUserModel.Login = UserDomainService.GenerateHash(addUserModel.Login);

            addUserModel.Password = UserDomainService.GenerateHash(addUserModel.Password);

            var userDomain = UserDomainFactory.Create(addUserModel);

            userDomain.Add();

            var userEntity = userDomain.Map <UserEntity>();

            await UserRepository.AddAsync(userEntity);

            await DatabaseUnitOfWork.SaveChangesAsync();

            return(new SuccessDataResult <long>(userEntity.UserId));
        }
Пример #5
0
        public async Task <IResult> InactivateAsync(long userId)
        {
            var userDomain = UserDomainFactory.Create(userId);

            userDomain.Inactivate();

            await UserRepository.UpdatePartialAsync(userDomain.UserId, new { userDomain.Status });

            await DatabaseUnitOfWork.SaveChangesAsync();

            return(SuccessResult());
        }
Пример #6
0
        public async Task <IDataResult <long> > AddAsync(AddUserModel addUserModel)
        {
            var validation = new AddUserModelValidator().Valid(addUserModel);

            if (!validation.Success)
            {
                return(new ErrorDataResult <long>(validation.Message));
            }

            var userDomain = UserDomainFactory.Create(addUserModel);

            userDomain.Add();

            var userEntity = userDomain.Map <UserEntity>();

            await UserRepository.AddAsync(userEntity).ConfigureAwait(false);

            await DatabaseUnitOfWork.SaveChangesAsync().ConfigureAwait(false);

            return(new SuccessDataResult <long>(userEntity.UserId));
        }
Пример #7
0
        public async Task <IResult> UpdateAsync(UpdateUserModel updateUserModel)
        {
            var validation = new UpdateUserModelValidator().Valid(updateUserModel);

            if (!validation.Success)
            {
                return(ErrorResult(validation.Message));
            }

            var userEntity = await UserRepository.SelectAsync(updateUserModel.UserId);

            var userDomain = UserDomainFactory.Create(userEntity);

            userDomain.Update(updateUserModel);

            userEntity = UserEntityFactory.Create(userDomain);

            await UserRepository.UpdateAsync(userEntity.UserId, userEntity);

            await DatabaseUnitOfWork.SaveChangesAsync();

            return(SuccessResult());
        }