public ActionResult Edit(DashboardEditViewModel viewModel) { if (ModelState.IsValid) { db.Entry(viewModel.Dashboard).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(viewModel)); }
// GET: Dashboards/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var viewModel = new DashboardEditViewModel(); var model = new DashboardCreateViewModel(); var usersList = db.AppUsers.ToList(); List <AppUser> candidatsCompanyAdminList = new List <AppUser>(); List <AppUser> candidatsDashboardAdminList = new List <AppUser>(); viewModel.CurrentUser = new AppUser(); viewModel.Dashboard = new Dashboard(); foreach (var item in usersList) { var role = item.Roles.ToList(); if (role[0].Name == "CompanyAdmin") { item.UserProfile = db.UserProfiles.SingleOrDefault(x => x.Id == item.Id); candidatsCompanyAdminList.Add(item); } else if (role[0].Name == "User") { item.UserProfile = db.UserProfiles.SingleOrDefault(x => x.Id == item.Id); candidatsDashboardAdminList.Add(item); } } var companyCAList = candidatsCompanyAdminList.Select(r => new ListBoxItems() { Id = r.Id, Name = r.UserProfile.FirstName + " " + r.UserProfile.LastName }).ToList(); var candidatsDAList = candidatsDashboardAdminList.Select(r => new ListBoxItems() { Id = r.Id, Name = r.UserProfile.FirstName + " " + r.UserProfile.LastName }).ToList(); ViewBag.CandidatsCompanyAdmin = new SelectList(companyCAList, "Id", "Name", 0); ViewBag.CandidatsDashboardAdmin = new SelectList(candidatsDAList, "Id", "Name", 0); viewModel.Dashboard = db.Dashboards.SingleOrDefault(x => x.Id == id); if (viewModel.Dashboard == null) { return(HttpNotFound()); } var userEmail = HttpContext.User.Identity.Name; var user = db.AppUsers.SingleOrDefault(u => u.Email == userEmail); viewModel.IsCompanyAdmin = (user.Roles.Where(r => r.Name == "CompanyAdmin")).Count() == 1; viewModel.IsSuperAdmin = (user.Roles.Where(r => r.Name == "SuperAdmin")).Count() == 1; viewModel.IsUser = (user.Roles.Where(r => r.Name == "User")).Count() == 1; if (viewModel.IsUser && viewModel.Dashboard.IdDashboardAdmin != user.Id) { return(View("~/Views/Shared/Errors/Error_403.cshtml")); } return(View(viewModel)); }