Exemplo n.º 1
0
        public ActionResult AddUser()
        {
            try
            {
                int userId = 0;
                ManagerUserFilterViewModel managerUserFilterViewModel = new ManagerUserFilterViewModel();
                managerUserFilterViewModel.userViewModel = new UserViewModel();
                managerUserFilterViewModel.UserType      = _userService.GetAllUserTypes();
                managerUserFilterViewModel.Clients       = _clientService.GetAllClients();
                managerUserFilterViewModel.AccessLevels  = _userService.GetAllAccessLevels();
                managerUserFilterViewModel.Regions       = new List <SelectListItem>();
                managerUserFilterViewModel.Forms         = new List <SelectListItem>();
                managerUserFilterViewModel.ManageUsers   = new List <SelectListItem>();
                managerUserFilterViewModel.Active        = new List <SelectListItem>
                {
                    new SelectListItem()
                    {
                        Text = "Yes", Value = "1"
                    },
                    new SelectListItem()
                    {
                        Text = "No", Value = "0"
                    }
                };
                managerUserFilterViewModel.DashboardUser = new List <SelectListItem>
                {
                    new SelectListItem()
                    {
                        Text = "Yes", Value = "1"
                    },
                    new SelectListItem()
                    {
                        Text = "No", Value = "0"
                    }
                };

                return(Json(new { Success = true, Html = this.RenderPartialViewToString("_addEditManageLogin", managerUserFilterViewModel) }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                _errorLogService.Add(new ErrorLogModel()
                {
                    Page = "UserController/AddUser", CreatedBy = Convert.ToInt32(Session["UserId"]), CreateDate = DateTime.Now, ErrorText = ex.ToMessageAndCompleteStacktrace()
                });
                return(Json(new { Message = "Sorry, An error occurred!", Success = false }));
            }
        }
Exemplo n.º 2
0
 public ActionResult AddUser(ManagerUserFilterViewModel managerUserFilterViewModel)
 {
     try
     {
         if ((managerUserFilterViewModel.userViewModel.UserID < 1) && !string.IsNullOrEmpty(managerUserFilterViewModel.userViewModel.Password))
         {
             bool isValidPassword = Util.ValidatePassword(managerUserFilterViewModel.userViewModel.Password);
             if (!isValidPassword)
             {
                 ModelState.AddModelError("Password", "The field Password must be a string with minimum of one capital letter, one small letter, one number and one special character is required");
             }
         }
         if (ModelState.IsValid)
         {
             _userService.AddOrUpdate(managerUserFilterViewModel);
             return(Json(new { Success = managerUserFilterViewModel.IsSuccess, Message = managerUserFilterViewModel.Message }, JsonRequestBehavior.AllowGet));
         }
         else
         {
             List <string> ErrorMessages = null;
             var           errors        = ModelState.Select(x => x.Value.Errors)
                                           .Where(y => y.Count > 0)
                                           .ToList();
             if (errors != null)
             {
                 ErrorMessages = errors.SelectMany(x => x.Select(y => y.ErrorMessage)).ToList();
             }
             return(Json(new { Success = false, ErrorMessages = ErrorMessages }, JsonRequestBehavior.AllowGet));
         }
     }
     catch (Exception ex)
     {
         _errorLogService.Add(new ErrorLogModel()
         {
             Page = "UserController/AddUser", CreatedBy = Convert.ToInt32(Session["UserId"]), CreateDate = DateTime.Now, ErrorText = ex.ToMessageAndCompleteStacktrace()
         });
         return(Json(new { Message = "Sorry, An error occurred!", Success = false }));
     }
 }
Exemplo n.º 3
0
        public ManagerUserFilterViewModel GetManageUserById(int userId)
        {
            ManagerUserFilterViewModel managerUserFilterViewModel = new ManagerUserFilterViewModel();

            managerUserFilterViewModel.userViewModel = new UserViewModel();
            IClientService _clientService = new ClientService();

            managerUserFilterViewModel.Clients      = _clientService.GetAllClients();
            managerUserFilterViewModel.AccessLevels = GetAllAccessLevels();


            User user = _userRepo.GetById(userId);

            if (user != null)
            {
                managerUserFilterViewModel.userViewModel.UserID          = user.UserID;
                managerUserFilterViewModel.userViewModel.FirstName       = user.FirstName;
                managerUserFilterViewModel.userViewModel.LastName        = user.LastName;
                managerUserFilterViewModel.userViewModel.Telephone       = user.Telephone;
                managerUserFilterViewModel.userViewModel.Address1        = user.Address1;
                managerUserFilterViewModel.userViewModel.Address2        = user.Address2;
                managerUserFilterViewModel.userViewModel.City            = user.City;
                managerUserFilterViewModel.userViewModel.State           = user.State;
                managerUserFilterViewModel.userViewModel.PostalCode      = user.PostalCode;
                managerUserFilterViewModel.userViewModel.Email           = user.EMail;
                managerUserFilterViewModel.userViewModel.UserType        = user.UserType;
                managerUserFilterViewModel.userViewModel.IsActive        = user.Active;
                managerUserFilterViewModel.userViewModel.IsDashboardUser = user.dashboardUser;
                managerUserFilterViewModel.userViewModel.Password        = user.Password;
                managerUserFilterViewModel.userViewModel.ClientId        = _userClientRepo.GetByUserId(userId).Select(x => Convert.ToInt32(x.ClientID)).ToArray();
                managerUserFilterViewModel.Regions = GetRegionsByClient(managerUserFilterViewModel.userViewModel.ClientId.Select(x => (int?)x).ToList());
                managerUserFilterViewModel.Forms   = GetFormsByClient(managerUserFilterViewModel.userViewModel.ClientId.Select(x => (int?)x).ToList());
                managerUserFilterViewModel.userViewModel.RegionId      = _userLevelsRepo.GetByUserId(userId).Select(x => Convert.ToInt32(x.LevelID)).ToArray();
                managerUserFilterViewModel.userViewModel.FormId        = _formUsersRepo.GetByUserId(userId).Select(x => Convert.ToInt32(x.FormID)).ToArray();
                managerUserFilterViewModel.userViewModel.AccessLevelId = user.UserAccess;
                managerUserFilterViewModel.ManageUsers = _userClientService.GetManageUsersByClient(managerUserFilterViewModel.userViewModel.ClientId.Select(x => (int?)x).ToList(), userId);
                managerUserFilterViewModel.userViewModel.ManagerUserId = user.ManagerUserID;
            }

            foreach (var item in managerUserFilterViewModel.Clients)
            {
                if (managerUserFilterViewModel.userViewModel.ClientId.Any(x => x.ToString() == item.Value))
                {
                    item.Selected = true;
                }
            }
            foreach (var item in managerUserFilterViewModel.Regions)
            {
                if (managerUserFilterViewModel.userViewModel.RegionId.Any(x => x.ToString() == item.Value))
                {
                    item.Selected = true;
                }
            }
            foreach (var item in managerUserFilterViewModel.Forms)
            {
                if (managerUserFilterViewModel.userViewModel.FormId.Any(x => x.ToString() == item.Value))
                {
                    item.Selected = true;
                }
            }
            return(managerUserFilterViewModel);
        }
Exemplo n.º 4
0
        public void AddOrUpdate(ManagerUserFilterViewModel managerUserFilterViewModel)
        {
            var ph = new Microsoft.AspNet.Identity.PasswordHasher();

            try
            {
                if (managerUserFilterViewModel.userViewModel.UserID > 0)
                {
                    if (!CheckDuplicateByEmailAndUser(managerUserFilterViewModel.userViewModel.Email, managerUserFilterViewModel.userViewModel.UserID))
                    {
                        User user = _userRepo.GetById(managerUserFilterViewModel.userViewModel.UserID);
                        user.UserName      = managerUserFilterViewModel.userViewModel.FirstName + managerUserFilterViewModel.userViewModel.LastName;
                        user.FirstName     = managerUserFilterViewModel.userViewModel.FirstName;
                        user.LastName      = managerUserFilterViewModel.userViewModel.LastName;
                        user.Telephone     = managerUserFilterViewModel.userViewModel.Telephone;
                        user.Address1      = managerUserFilterViewModel.userViewModel.Address1;
                        user.Address2      = managerUserFilterViewModel.userViewModel.Address2;
                        user.City          = managerUserFilterViewModel.userViewModel.City;
                        user.State         = managerUserFilterViewModel.userViewModel.State;
                        user.PostalCode    = managerUserFilterViewModel.userViewModel.PostalCode;
                        user.EMail         = managerUserFilterViewModel.userViewModel.Email;
                        user.UserType      = managerUserFilterViewModel.userViewModel.UserType;
                        user.dashboardUser = managerUserFilterViewModel.userViewModel.IsDashboardUser;
                        user.Active        = managerUserFilterViewModel.userViewModel.IsActive;
                        user.ManagerUserID = managerUserFilterViewModel.userViewModel.ManagerUserId > 0 ? managerUserFilterViewModel.userViewModel.ManagerUserId : null;
                        user.UserAccess    = managerUserFilterViewModel.userViewModel.AccessLevelId;
                        _userRepo.Update(user);
                        _userClientRepo.DeleteByUserId(managerUserFilterViewModel.userViewModel.UserID);
                        if (managerUserFilterViewModel.userViewModel.ClientId != null)
                        {
                            foreach (var itemId in managerUserFilterViewModel.userViewModel.ClientId)
                            {
                                UserClient uClient = new UserClient()
                                {
                                    UserID   = managerUserFilterViewModel.userViewModel.UserID,
                                    ClientID = Convert.ToInt32(itemId)
                                };
                                _userClientRepo.Add(uClient);
                            }
                        }
                        _userLevelsRepo.DeleteByUserId(managerUserFilterViewModel.userViewModel.UserID);
                        if (managerUserFilterViewModel.userViewModel.RegionId != null)
                        {
                            foreach (var itemId in managerUserFilterViewModel.userViewModel.RegionId)
                            {
                                UserLevel userLevel = new UserLevel()
                                {
                                    UserID  = managerUserFilterViewModel.userViewModel.UserID,
                                    LevelID = Convert.ToInt32(itemId)
                                };
                                _userLevelsRepo.Add(userLevel);
                            }
                        }
                        _formUsersRepo.DeleteByUserId(managerUserFilterViewModel.userViewModel.UserID);
                        if (managerUserFilterViewModel.userViewModel.FormId != null)
                        {
                            foreach (var itemId in managerUserFilterViewModel.userViewModel.FormId)
                            {
                                FormUser uClient = new FormUser()
                                {
                                    UserID = managerUserFilterViewModel.userViewModel.UserID,
                                    FormID = Convert.ToInt32(itemId)
                                };
                                _formUsersRepo.Add(uClient);
                            }
                        }
                        managerUserFilterViewModel.IsSuccess = true;
                        managerUserFilterViewModel.Message   = "Record Updated Successfully.";
                    }
                    else
                    {
                        managerUserFilterViewModel.IsSuccess = false;
                        managerUserFilterViewModel.Message   = "Email address already exist.";
                    }
                }
                else
                {
                    if (!CheckDuplicateByEmail(managerUserFilterViewModel.userViewModel.Email))
                    {
                        User user = new User()
                        {
                            UserName               = managerUserFilterViewModel.userViewModel.FirstName + managerUserFilterViewModel.userViewModel.LastName,
                            Password               = ph.HashPassword(managerUserFilterViewModel.userViewModel.Password),
                            FirstName              = managerUserFilterViewModel.userViewModel.FirstName,
                            LastName               = managerUserFilterViewModel.userViewModel.LastName,
                            Telephone              = managerUserFilterViewModel.userViewModel.Telephone,
                            Address1               = managerUserFilterViewModel.userViewModel.Address1,
                            Address2               = managerUserFilterViewModel.userViewModel.Address2,
                            City                   = managerUserFilterViewModel.userViewModel.City,
                            State                  = managerUserFilterViewModel.userViewModel.State,
                            PostalCode             = managerUserFilterViewModel.userViewModel.PostalCode,
                            EMail                  = managerUserFilterViewModel.userViewModel.Email,
                            UserType               = managerUserFilterViewModel.userViewModel.UserType,
                            dashboardUser          = managerUserFilterViewModel.userViewModel.IsDashboardUser,
                            Active                 = managerUserFilterViewModel.userViewModel.IsActive,
                            DateAdded              = DateTime.Now,
                            PasswordExpirationDate = DateTime.Now.AddDays(Convert.ToInt32(ConfigurationManager.AppSettings["ExpiryDays"])),
                            IsPasswordHashed       = false,
                            ManagerUserID          = managerUserFilterViewModel.userViewModel.ManagerUserId > 0? managerUserFilterViewModel.userViewModel.ManagerUserId:null,
                            UserAccess             = managerUserFilterViewModel.userViewModel.AccessLevelId
                        };
                        _userRepo.Add(user);
                        if (user.UserID > 0 && (managerUserFilterViewModel.userViewModel.ClientId != null))
                        {
                            foreach (var itemId in managerUserFilterViewModel.userViewModel.ClientId)
                            {
                                UserClient dClient = new UserClient()
                                {
                                    UserID   = user.UserID,
                                    ClientID = Convert.ToInt32(itemId)
                                };
                                _userClientRepo.Add(dClient);
                            }
                        }
                        if (user.UserID > 0 && (managerUserFilterViewModel.userViewModel.RegionId != null))
                        {
                            foreach (var itemId in managerUserFilterViewModel.userViewModel.RegionId)
                            {
                                UserLevel userLevel = new UserLevel()
                                {
                                    UserID  = user.UserID,
                                    LevelID = Convert.ToInt32(itemId)
                                };
                                _userLevelsRepo.Add(userLevel);
                            }
                        }
                        if (user.UserID > 0 && (managerUserFilterViewModel.userViewModel.FormId != null))
                        {
                            foreach (var itemId in managerUserFilterViewModel.userViewModel.FormId)
                            {
                                FormUser formUser = new FormUser()
                                {
                                    UserID = user.UserID,
                                    FormID = Convert.ToInt32(itemId)
                                };
                                _formUsersRepo.Add(formUser);
                            }
                        }

                        managerUserFilterViewModel.IsSuccess = true;
                        managerUserFilterViewModel.Message   = "Record Inserted Successfully.";
                    }
                    else
                    {
                        managerUserFilterViewModel.IsSuccess = false;
                        managerUserFilterViewModel.Message   = "Email address already exist.";
                    }
                }
            }
            catch (Exception ex)
            {
                managerUserFilterViewModel.IsSuccess = false;
                managerUserFilterViewModel.Message   = "Sorry, An error occurred!";
            }
        }