public async Task <CommandResult> ExecuteAsync(int userId)
        {
            try
            {
                CsmsUser user = await _userRepository.GetByIdAsync(userId);

                if (user != null)
                {
                    user.Deleted = true;
                    await _userRepository.UpdateAsync(user);

                    return(CommandResult.Success);
                }

                return(CommandResult.Failed(new CommandResultError
                {
                    Code = (int)HttpStatusCode.NotFound,
                    Description = "User not found"
                }));
            }
            catch (Exception ex)
            {
                //Logging<UpdateEmailTemplateCommand>.Error(ex, "Data: ", JsonConvert.SerializeObject(model));
                return(CommandResult.Failed(new CommandResultError()
                {
                    Code = (int)HttpStatusCode.InternalServerError,
                    Description = ex.Message
                }));
            }
        }
Beispiel #2
0
        public async Task <CommandResult> ExecuteSocialAsync(SaveCustomerSocialViewModel model)
        {
            try
            {
                if (model.Id == default)
                {
                    CsmsUser user = new CsmsUser()
                    {
                        Id         = 0,
                        RoleId     = 1,
                        FirstName  = model.Name,
                        MiddleName = "",
                        LastName   = "",
                        Email      = model.Email,
                    };

                    await _userRepository.InsertAsync(user);

                    return(GetUserDataSuccess(user));
                }
                else
                {
                    var user = await _userRepository.GetByIdAsync(model.Id);

                    if (user == null)
                    {
                        return(CommandResult.Failed(new CommandResultError()
                        {
                            Code = (int)HttpStatusCode.NotFound,
                            Description = MessageErrors.NotFound
                        }));
                    }
                    else
                    {
                        user.FirstName = model.Name;
                        user.Email     = model.Email;
                        await _userRepository.UpdateAsync(user);

                        return(GetUserDataSuccess(user));
                    }
                }
            }
            catch (Exception ex)
            {
                return(CommandResult.Failed(new CommandResultError()
                {
                    Code = (int)HttpStatusCode.InternalServerError,
                    Description = MessageErrors.InternalServerError
                }));
            }
        }
Beispiel #3
0
        private CommandResult GetUserDataSuccess(CsmsUser user)
        {
            CustomerViewModel customer = new CustomerViewModel()
            {
                Id          = user.Id,
                FirstName   = user.FirstName,
                MiddleName  = user.MiddleName,
                LastName    = user.LastName,
                PhoneNumber = user.PhoneNumber,
                Email       = user.Email,
                Birthday    = user.Birthday,
                Gender      = user.Gender,
                CreatedDate = user.CreateDate
            };

            return(CommandResult.SuccessWithData(customer));
        }
Beispiel #4
0
        public async Task <CommandResult> ExecuteAsync(SaveUserViewModel model)
        {
            try
            {
                CommandResult isNotValidData = CheckValidData(model);

                if (isNotValidData != null)
                {
                    return(isNotValidData);
                }

                var user = await _userRepository.GetByIdAsync(model.Id);

                if (user == null)
                {
                    if (model.Password.IsEmpty())
                    {
                        return(CommandResult.Failed(new CommandResultError()
                        {
                            Code = (int)HttpStatusCode.BadRequest,
                            Description = MessageErrors.SomeDataEmptyOrInvalid
                        }));
                    }

                    user = new CsmsUser()
                    {
                        Id          = 0,
                        UserCode    = model.UserCode,
                        Username    = model.UserName,
                        Password    = BCrypt.HashPassword(model.Password, BCrypt.GenerateSalt()),
                        FirstName   = model.FirstName,
                        MiddleName  = model.MiddleName,
                        LastName    = model.LastName,
                        Email       = model.Email,
                        PhoneNumber = model.PhoneNumber,
                        CitizenID   = model.CitizenId,
                        Gender      = model.Gender,
                        Salary      = model.Salary,
                        BranchId    = model.BranchId,
                        Birthday    = model.Birthday,
                        RoleId      = model.RoleId,
                        StatusId    = model.StatusId
                    };

                    await _userRepository.InsertAsync(user);

                    userInfoViewModel = await _getUserInfoByUserIdQuery.ExecuteAsync(user.Id);
                }
                else
                {
                    user.UserCode = model.UserCode;
                    user.Username = model.UserName;
                    user.Password = (user.Password == model.Password || model.Password.IsEmpty())
                        ? user.Password : BCrypt.HashPassword(model.Password, BCrypt.GenerateSalt());
                    user.FirstName   = model.FirstName;
                    user.MiddleName  = model.MiddleName;
                    user.LastName    = model.LastName;
                    user.Email       = model.Email;
                    user.PhoneNumber = model.PhoneNumber;
                    user.CitizenID   = model.CitizenId;
                    user.Gender      = model.Gender;
                    user.Salary      = model.Salary;
                    user.BranchId    = model.BranchId;
                    user.Birthday    = model.Birthday;
                    user.RoleId      = model.RoleId;
                    user.StatusId    = model.StatusId;

                    await _userRepository.UpdateAsync(user);

                    userInfoViewModel = await _getUserInfoByUserIdQuery.ExecuteAsync(user.Id);
                }

                return(CommandResult.SuccessWithData(userInfoViewModel));
            }
            catch (Exception)
            {
                return(CommandResult.Failed(new CommandResultError()
                {
                    Code = (int)HttpStatusCode.InternalServerError,
                    Description = MessageErrors.InternalServerError
                }));
            }
        }
Beispiel #5
0
        public async Task <CommandResult> ExecuteAsync(SaveCustomerViewModel model)
        {
            try
            {
                CommandResult isNotValidDate = CheckValidData(model);

                if (isNotValidDate != null)
                {
                    return(isNotValidDate);
                }

                if (model.Id == default)
                {
                    CsmsUser user = new CsmsUser()
                    {
                        Id          = 0,
                        RoleId      = 1,
                        FirstName   = model.FirstName,
                        MiddleName  = model.MiddleName,
                        LastName    = model.LastName,
                        PhoneNumber = model.PhoneNumber,
                        Email       = model.Email,
                        Birthday    = model.Birthday,
                        Gender      = model.Gender,
                        Password    = BCrypt.HashPassword(model.Password, BCrypt.GenerateSalt())
                    };

                    await _userRepository.InsertAsync(user);

                    return(GetUserDataSuccess(user));
                }
                else
                {
                    var user = await _userRepository.GetByIdAsync(model.Id);

                    if (user == null)
                    {
                        return(CommandResult.Failed(new CommandResultError()
                        {
                            Code = (int)HttpStatusCode.NotFound,
                            Description = MessageErrors.NotFound
                        }));
                    }
                    else
                    {
                        user.FirstName   = model.FirstName;
                        user.MiddleName  = model.MiddleName;
                        user.LastName    = model.LastName;
                        user.PhoneNumber = model.PhoneNumber;
                        user.Email       = model.Email;
                        user.Birthday    = model.Birthday;
                        user.Gender      = model.Gender;

                        await _userRepository.UpdateAsync(user);

                        return(GetUserDataSuccess(user));
                    }
                }
            }
            catch (Exception)
            {
                return(CommandResult.Failed(new CommandResultError()
                {
                    Code = (int)HttpStatusCode.InternalServerError,
                    Description = MessageErrors.InternalServerError
                }));
            }
        }