コード例 #1
0
        public async Task <AddUserResponse> AddUser(AddUserRequest request)
        {
            try
            {
                var user = User.CreateInstance(null, request.FirstName, request.LastName, request.Email, request.UserName, request.Level,
                                               request.PhoneNumber, Guid.Empty, true, request.Description);
                await _userDomainService.CanAdd(user);

                _unitOfWork.userRepository.Add(user);
                _unitOfWork.Commit();

                //await _bus.Publish<RegisteredUserEvent>(new RegisteredUserEvent()
                //{
                //    Description = "Created in Teacher Bot",
                //    Email = user.Email,
                //    FirstName = user.FirstName,
                //    Id = user.Id,
                //    IsActive = true,
                //    LastName = user.LastName,
                //    PasswordHash = SHA256HashGenerator.GenerateSHA256Hash(user.PhoneNumber),
                //    PhoneNumber = user.PhoneNumber,
                //    Role = (short)UserRoleEnum.Student,
                //    UserName = user.UserName
                //});

                return(new AddUserResponse(true, "ثبت با موفقیت انجام شد")
                {
                    NewRecordedId = user.Id
                });
            }
            catch (BusinessException e)
            {
                this._logger.Error("Teacher-User service-Add user-BusinessException ", e.Message);
                return(new AddUserResponse(false, e.Message));
            }
            catch (Exception e)
            {
                this._logger.Error("Teacher-User service-Add user-Exception ", e.Message);
                return(new AddUserResponse(false, e.Message));
            }
        }