Ejemplo n.º 1
0
        public ActionResult AdminAllowedCodes(String CompanyURL, AdminAllowedCodesViewModel Model)
        {
            PopulateModel(Model);
            if (!ModelState.IsValid)
            {
                return(View(Model));
            }

            var ids          = Request["SelectedTasks"] == null ? new List <String>() : Request["SelectedTasks"].Split(',').ToList();
            var TaskAlloweds = Context.TaskAlloweds.Where(t => t.EmployeeId == Model.EmployeeId).ToList();

            foreach (var TaskAllowed in TaskAlloweds)
            {
                if (ids.Any(i => i == TaskAllowed.TaskId.ToString()))
                {
                    if (TaskAllowed.IsActive != true)
                    {
                        TaskAllowed.IsActive             = true;
                        Context.Entry(TaskAllowed).State = System.Data.Entity.EntityState.Modified;
                    }

                    //In both - set active - update
                }
                else
                {
                    if (TaskAllowed.IsActive != false)
                    {
                        TaskAllowed.IsActive             = false;
                        Context.Entry(TaskAllowed).State = System.Data.Entity.EntityState.Modified;
                    }

                    //in db, not in list, set inactice - update
                }
            }
            ;

            foreach (var id in ids)
            {
                if (!TaskAlloweds.Any(t => t.TaskId.ToString() == id))
                {
                    var TaskAllowed = new Data.TaskAllowed();
                    TaskAllowed.EmployeeId           = Model.EmployeeId;
                    TaskAllowed.TaskId               = int.Parse(id);
                    TaskAllowed.IsActive             = true;
                    Context.Entry(TaskAllowed).State = System.Data.Entity.EntityState.Added;
                }
            }
            ;
            Context.SaveChanges();

            return(RedirectPermanent("/" + CompanyURL + "/adminallowedcodes"));
        }
Ejemplo n.º 2
0
        public ActionResult AdminAllowedCodes(String CompanyURL, int?SelectedEmployeeId)
        {
            var Model = new AdminAllowedCodesViewModel();

            PopulateModel(Model);
            if (!ModelState.IsValid)
            {
                return(View(Model));
            }

            if (SelectedEmployeeId != null)
            {
                Model.EmployeeId = (int)SelectedEmployeeId;
            }


            Model.Employees = new List <SelectListItem>();
            foreach (var Employee in Context.Employees.Where(e => e.IsActive && e.CompanyId == Model.CompanyId).OrderBy(e => e.LastName))
            {
                if (Model.EmployeeId == 0)
                {
                    Model.EmployeeId = Employee.EmployeeId;
                }

                SelectListItem selectList = new SelectListItem()
                {
                    Text  = Employee.LastName + ", " + Employee.FirstName,
                    Value = Employee.EmployeeId.ToString()
                };
                Model.Employees.Add(selectList);
            }


            Model.Tasks = new List <SelectListItem>();
            var TaskAlloweds = Context.TaskAlloweds.Where(t => t.EmployeeId == Model.EmployeeId && t.IsActive == true).ToList();

            foreach (var Task in Context.Tasks.Where(t => t.IsActive == 1 && t.CompanyId == Model.CompanyId).OrderBy(e => e.TaskName))
            {
                var IsSelected = TaskAlloweds.Any(ta => ta.TaskId == Task.TaskId);

                SelectListItem selectList = new SelectListItem()
                {
                    Text     = Task.TaskName,
                    Value    = Task.TaskId.ToString(),
                    Selected = IsSelected
                };

                Model.Tasks.Add(selectList);
            }

            return(View(Model));
        }