Exemple #1
0
        private void UpdateScheduleRoles(string[] selectedRoles, SchedType ScheduleToUpdate)
        {
            if (selectedRoles == null)
            {
                ScheduleToUpdate.RoleLists = new List <RoleList>();
                return;
            }

            var selectedRolesHS = new HashSet <string>(selectedRoles);
            var scheduleRoles   = new HashSet <int>(ScheduleToUpdate.RoleLists.Select(c => c.ID));

            foreach (var rls in db.RoleLists)
            {
                if (selectedRolesHS.Contains(rls.ID.ToString()))
                {
                    if (!scheduleRoles.Contains(rls.ID))
                    {
                        ScheduleToUpdate.RoleLists.Add(rls);
                    }
                }
                else
                {
                    if (scheduleRoles.Contains(rls.ID))
                    {
                        ScheduleToUpdate.RoleLists.Remove(rls);
                    }
                }
            }
        }
Exemple #2
0
        public ActionResult Create()
        {
            SchedType schdTyp = new SchedType();

            schdTyp.RoleLists = new List <RoleList>();
            PopulateAssignedRoles(schdTyp);
            return(View());
        }
Exemple #3
0
        public ActionResult Index()
        {
            SchedType schdTyp = new SchedType();

            schdTyp.RoleLists = new List <RoleList>();
            PopulateAssignedRoles(schdTyp);
            return(View(db.SchedTypes.ToList()));
        }
Exemple #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            SchedType schedType = db.SchedTypes.Find(id);

            db.SchedTypes.Remove(schedType);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #5
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SchedType schedType = db.SchedTypes.Find(id);

            if (schedType == null)
            {
                return(HttpNotFound());
            }
            return(View(schedType));
        }
Exemple #6
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SchedType schedType = db.SchedTypes.Find(id);

            if (schedType == null)
            {
                return(HttpNotFound());
            }
            PopulateAssignedRoles(schedType);
            return(View(schedType));
        }
Exemple #7
0
        public void PopulateAssignedRoles(SchedType schedule)
        {
            var allRole   = db.RoleLists;
            var aRoles    = new HashSet <int>(schedule.RoleLists.Select(r => r.ID));
            var viewModel = new List <RoleVM>();

            foreach (var roll in allRole)
            {
                viewModel.Add(new RoleVM
                {
                    RoleID       = roll.ID,
                    RoleName     = roll.RoleName,
                    RoleAssigned = aRoles.Contains(roll.ID)
                });
            }

            ViewBag.RolesLists = viewModel;
        }
Exemple #8
0
        public ActionResult Create([Bind(Include = "ID,SchedTypeName")] string[] selectedRoles, SchedType schedType)
        {
            try
            {
                if (selectedRoles != null)
                {
                    schedType.RoleLists = new List <RoleList>();
                    foreach (var role in selectedRoles)
                    {
                        var roleToAdd = db.RoleLists.Find(int.Parse(role));
                        schedType.RoleLists.Add(roleToAdd);
                        PopulateAssignedRoles(schedType);
                    }
                }
                if (ModelState.IsValid)
                {
                    db.SchedTypes.Add(schedType);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
            }
            catch (DataException)
            {
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }


            return(View(schedType));
        }