コード例 #1
0
        public ActionResult Delete(int id)
        {
            var ITstaff = (ITStaff)UserManager.FindById(id);

            if (ITstaff == null)
            {
                return(HttpNotFound());
            }

            ITStaffViewModel model = new ITStaffViewModel
            {
                Id              = ITstaff.Id,
                Email           = ITstaff.Email,
                UserName        = ITstaff.UserName,
                FirstName       = ITstaff.FirstName,
                LastName        = ITstaff.LastName,
                Mobile          = ITstaff.Mobile,
                OfficeNumber    = ITstaff.OfficeNumber,
                Department      = ITstaff.Department,
                ExtensionNumber = ITstaff.ExtensionNumber,
                JobTitle        = ITstaff.JobTitle,
                Speciality      = ITstaff.Speciality,
                StartingDate    = ITstaff.StartingDate,
                Position        = ITstaff.Position,
                Roles           = string.Join(" ", UserManager.GetRoles(id).ToArray()),
            };

            return(View(model));
        }
コード例 #2
0
        public ActionResult Create(ITStaffViewModel model)
        {
            if (ModelState.IsValid)
            {
                var ITstaff = new ITStaff
                {
                    UserName        = model.UserName,
                    Email           = model.Email,
                    FirstName       = model.FirstName,
                    LastName        = model.LastName,
                    Department      = "IT Department",
                    JobTitle        = model.JobTitle,
                    Mobile          = model.Mobile,
                    ExtensionNumber = model.ExtensionNumber,
                    OfficeNumber    = model.OfficeNumber,
                    Speciality      = model.Speciality,
                    StartingDate    = model.StartingDate,
                    Position        = model.Position,
                    IsManager       = model.IsManager,
                };

                var result = UserManager.Create(ITstaff, model.Password);

                if (result.Succeeded && model.IsManager == true)
                {
                    var roleResult = UserManager.AddToRoles(ITstaff.Id, "ITManager");

                    if (roleResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, roleResult.Errors.First());
                        return(View());
                    }
                }
                if (result.Succeeded && model.IsManager == false)
                {
                    var roleResult = UserManager.AddToRoles(ITstaff.Id, "ITStaff");

                    if (roleResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, roleResult.Errors.First());
                        return(View());
                    }
                }
                else
                {
                    ModelState.AddModelError(string.Empty, result.Errors.First());
                    return(View());
                }
            }

            return(View());
        }
コード例 #3
0
        public ActionResult Details(int id)
        {
            var user = UserManager.FindById(id);

            if (user != null)
            {
                var ITstaff = (ITStaff)user;

                ITStaffViewModel model = new ITStaffViewModel()
                {
                    Id              = ITstaff.Id,
                    Email           = ITstaff.Email,
                    FirstName       = ITstaff.FirstName,
                    LastName        = ITstaff.LastName,
                    UserName        = ITstaff.UserName,
                    Department      = ITstaff.Department,
                    JobTitle        = ITstaff.JobTitle,
                    Mobile          = ITstaff.Mobile,
                    ExtensionNumber = ITstaff.ExtensionNumber,
                    OfficeNumber    = ITstaff.OfficeNumber,
                    Speciality      = ITstaff.Speciality,
                    StartingDate    = ITstaff.StartingDate,
                    Position        = ITstaff.Position,
                    Roles           = string.Join(" ", UserManager.GetRoles(id).ToArray())
                };

                return(View(model));
            }
            else
            {
                return(View("Error"));
            }
        }
コード例 #4
0
        public ActionResult Edit(int id, ITStaffViewModel model, params string[] roles)
        {
            ModelState.Remove("Password");
            ModelState.Remove("ConfirmPassword");

            if (ModelState.IsValid)
            {
                var ITstaff = (ITStaff)UserManager.FindById(id);
                if (ITstaff == null)
                {
                    return(HttpNotFound());
                }

                ITstaff.Email           = model.Email;
                ITstaff.UserName        = model.UserName;
                ITstaff.FirstName       = model.FirstName;
                ITstaff.LastName        = model.LastName;
                ITstaff.Mobile          = model.Mobile;
                ITstaff.OfficeNumber    = model.OfficeNumber;
                ITstaff.ExtensionNumber = model.ExtensionNumber;
                ITstaff.JobTitle        = model.JobTitle;
                ITstaff.Speciality      = model.Speciality;
                ITstaff.StartingDate    = model.StartingDate;
                ITstaff.Position        = model.Position;
                ITstaff.IsManager       = model.IsManager;

                var userResult = UserManager.Update(ITstaff);

                if (userResult.Succeeded && model.IsManager == true)
                {
                    var roleResultOld = UserManager.RemoveFromRole(ITstaff.Id, "ITStaff");

                    var roleResult = UserManager.AddToRoles(ITstaff.Id, "ITManager");

                    if (roleResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, roleResult.Errors.First());
                        return(View());
                    }
                }
                if (userResult.Succeeded && model.IsManager == false)
                {
                    var roleResultOld = UserManager.RemoveFromRole(ITstaff.Id, "ITManager");
                    var roleResult    = UserManager.AddToRoles(ITstaff.Id, "ITStaff");

                    if (roleResult.Succeeded)
                    {
                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError(string.Empty, roleResult.Errors.First());
                        return(View());
                    }
                }
            }
            return(View());
        }