예제 #1
0
        public ActionResult Edit(int id)
        {
            try
            {
                // get edited user
                var user = db.Users.Where(u => u.UserId == id).FirstOrDefault();
                if (user != null)
                {
                    // create view model
                    var model = new EditUser();
                    model.UserId   = user.UserId;
                    model.UserName = user.UserName;
                    model.FullName = user.FullName;
                    model.Phone    = user.Phone;
                    model.Email    = user.Email;
                    model.IsActive = user.IsActive;

                    // create role checkboxe models
                    var roles = db.Roles.OrderBy(r => r.RoleName).ToList();
                    foreach (var role in roles)
                    {
                        var roleCB = new RoleCheckBox();
                        roleCB.RoleId   = role.RoleId;
                        roleCB.RoleName = role.RoleName;
                        roleCB.Selected = false;
                        foreach (var userRole in user.Roles)
                        {
                            if (role.RoleId == userRole.RoleId)
                            {
                                roleCB.Selected = true;
                                break;
                            }
                        }
                        model.RoleCheckBoxes.Add(roleCB);
                    }
                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);

                // Write error log
                var log = new Log();
                log.LogDate = DateTime.Now;
                log.Action  = "User - Edit()";
                log.Tags    = "Error";
                log.Message = ex.ToString();
                db.Logs.Add(log);
                db.SaveChanges();
            }
            return(View());
        }
        public ActionResult Edit(string id)
        {
            var user = db.Users.Find(id);
            AdminUserViewModel AdminModel = new AdminUserViewModel();
            UserRolesHelper    helper     = new UserRolesHelper();

            //AdminModel.Roles = new MultiSelectList(db.Roles, "Name", "Name", selected);
            var allRoles = new List <string>();

            allRoles.Add("Submitter");
            allRoles.Add("Developer");
            allRoles.Add("Project Manager");
            allRoles.Add("Admin");

            AdminModel.RolesToSelect = new RoleCheckBox[4];
            //build an array that has all user roles and whether the user is in that role
            //this will be sent to the view
            int i = 0;

            foreach (var role in allRoles)
            {
                var checkBox = new RoleCheckBox();
                checkBox.RoleName = role;
                if (helper.IsUserInRole(id, role))
                {
                    checkBox.Checked = true;
                }
                else
                {
                    checkBox.Checked = false;
                }
                AdminModel.RolesToSelect[i] = checkBox;
                i++;
            }
            AdminModel.UserId    = user.Id;
            AdminModel.UserName  = user.FirstName + " " + user.LastName;
            AdminModel.UserEmail = user.Email;

            return(View(AdminModel));
        }