Ejemplo n.º 1
0
        public async Task <IActionResult> CreateAdmin([FromBody] AdminRegisterDTO userDto)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ApplicationUser userModel = mapper.Map <AdminRegisterDTO, ApplicationUser>(userDto);
            await userService.CreateAdmin(userModel);

            return(Ok("Admin created"));
        }
        private bool Validate(AdminRegisterDTO adminRegisterDTO, ref string message)
        {
            bool isValid = true;

            if (String.IsNullOrEmpty(adminRegisterDTO.LastName))
            {
                message = "Last name must not be empty";
                isValid = false;
            }
            else if (String.IsNullOrEmpty(adminRegisterDTO.FirstName))
            {
                message = "First name must not be empty";
                isValid = false;
            }
            else if (String.IsNullOrEmpty(adminRegisterDTO.PhoneNumber))
            {
                message = "Phone number name must not be empty";
                isValid = false;
            }

            return(isValid);
        }
Ejemplo n.º 3
0
        public UIElement GetRegisterElement()
        {
            AdminRegisterViewModel viewModel = new AdminRegisterViewModel(new AdminRegisterModel());
            RegisterAdminControl   control   = new RegisterAdminControl(viewModel);

            viewModel.AdminCreated += (s, e) =>
            {
                AdminRegisterDTO admin = Mapper.Map <AdminRegisterModel, AdminRegisterDTO>(e.Admin);

                using (IAccountService service = factory.CreateAccountService())
                {
                    ServiceMessage serviceMessage = service.Register(admin);
                    RaiseReceivedMessageEvent(serviceMessage);

                    if (serviceMessage.IsSuccessful)
                    {
                        Notify();
                    }
                }
            };

            return(control);
        }
        public override ServiceMessage Register(AdminRegisterDTO adminRegisterDTO)
        {
            string message = "";
            bool   success = true;
            IEnumerable <string> logins = null;

            try
            {
                logins = unitOfWork.Users.GetAll().Select(user => user.Login);
            }
            catch (Exception ex)
            {
                message = ExceptionMessageBuilder.BuildMessage(ex);
                success = false;
            }

            if (success)
            {
                if (!Validate(adminRegisterDTO, ref message))
                {
                    success = false;
                }
                else if (!registerValidator.Validate(adminRegisterDTO, ref message))
                {
                    success = false;
                }
                else if (logins.Contains(adminRegisterDTO.Login))
                {
                    success = false;
                    message = "Such login already exists. Try another one";
                }
                else
                {
                    string hashedPassword = encryptor.Encrypt(adminRegisterDTO.Password);

                    try
                    {
                        unitOfWork.Accounts.RegisterAdminRole(adminRegisterDTO.Login, hashedPassword);

                        UserEntity userEntity = new UserEntity
                        {
                            Login = adminRegisterDTO.Login,
                            Role  = unitOfWork.Roles.Get(RolesCodes.AdminRole)
                        };
                        unitOfWork.Users.Add(userEntity);
                        unitOfWork.Commit();

                        AdminEntity adminEntity = new AdminEntity
                        {
                            Id          = userEntity.Id,
                            FirstName   = adminRegisterDTO.FirstName,
                            LastName    = adminRegisterDTO.LastName,
                            PhoneNumber = adminRegisterDTO.PhoneNumber
                        };
                        unitOfWork.Admins.Add(adminEntity);
                        unitOfWork.Commit();

                        message = "Registered new admin";
                    }
                    catch (Exception ex)
                    {
                        message = ExceptionMessageBuilder.BuildMessage(ex);
                        success = false;
                    }
                }
            }

            return(new ServiceMessage(message, success));
        }
Ejemplo n.º 5
0
 public virtual ServiceMessage Register(AdminRegisterDTO adminRegisterDTO)
 {
     return(new ServiceMessage("No permissions to register admin", false));
 }