Ejemplo n.º 1
0
        // GET: Dashboards/Create
        public ActionResult Create()
        {
            var model     = new DashboardCreateViewModel();
            var usersList = db.AppUsers.ToList();

            List <AppUser> candidatsCompanyAdminList   = new List <AppUser>();
            List <AppUser> candidatsDashboardAdminList = new List <AppUser>();

            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);

            return(View(model));
        }
Ejemplo n.º 2
0
        // 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));
        }