Exemplo n.º 1
0
        public void CreateUser()
        {
            var result = _zNxtUserService.CreateUser(new UserModel()
            {
                user_name   = "sys_admin_01",
                email       = "*****@*****.**",
                first_name  = "abc",
                middle_name = "xyx",
                last_name   = "test",
                salt        = "äaa",
                roles       = new List <string>()
                {
                    "sys_admin"
                },
                user_type  = CommonConst.USER_TYPE.USER_PASS,
                is_enabled = true
            });

            Assert.IsTrue(result);
        }
        public JObject AdminAddUser()
        {
            try
            {
                var request = _httpContextProxy.GetRequestBody <AdminAddUserModel>();
                _logger.Debug("Validation model");
                var results = new Dictionary <string, string>();
                if (request.IsValidModel(out results))
                {
                    _logger.Debug("Getting user service");

                    _logger.Debug("Calling GetUserByEmail");

                    if (_ZNxtUserService.GetUserByUsername(request.user_name) == null)
                    {
                        var userModel = new UserModel()
                        {
                            email       = request.email,
                            user_id     = long.Parse($"{CommonUtility.GetUnixTimestamp(DateTime.UtcNow)}{CommonUtility.RandomNumber(4)}").ToString(),
                            user_name   = request.user_name,
                            first_name  = request.first_name,
                            middle_name = request.middle_name,
                            last_name   = request.last_name,
                            salt        = CommonUtility.GetNewID(),
                            is_enabled  = true,
                            user_type   = "user_pass",
                            //dob = request.dob,
                            id    = CommonUtility.GetNewID(),
                            roles = new List <string> {
                                "init_login_email_otp"
                            }
                        };
                        _logger.Debug("Calling CreateUser");
                        var response = _ZNxtUserService.CreateUser(userModel, false);
                        if (response)
                        {
                            JObject userInfo = new JObject();
                            userInfo["mobile_number"]          = request.mobile_number;
                            userInfo["whatsapp_mobile_number"] = request.whatsapp_mobile_number;
                            userInfo["gender"] = request.gender;
                            if (_ZNxtUserService.UpdateUserProfile(userModel.user_id, userInfo))
                            {
                                _userNotifierService.SendWelcomeEmailWithOTPLoginAsync(userModel).GetAwaiter().GetResult();
                                var resonseData = new JObject()
                                {
                                    [CommonConst.CommonField.USER_ID] = userModel.user_id
                                };
                                return(_responseBuilder.Success(resonseData));
                            }
                            else
                            {
                                _logger.Error($"Error while updating user profile {userModel.user_id}", null, userInfo);
                                return(_responseBuilder.ServerError());
                            }
                        }
                        else
                        {
                            return(_responseBuilder.ServerError());
                        }
                    }
                    else
                    {
                        JObject errors = new JObject();
                        errors["error"] = $"User id already registered : {request.user_name}";
                        return(_responseBuilder.BadRequest(errors));
                    }
                }
                else
                {
                    _logger.Debug("Model validation fail");
                    JObject errors = new JObject();
                    foreach (var error in results)
                    {
                        errors[error.Key] = error.Value;
                    }
                    return(_responseBuilder.BadRequest(errors));
                }
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message, ex);
                return(_responseBuilder.ServerError());
            }
        }