Ejemplo n.º 1
0
        private void AssignTemplate(TaskList task, int templateID, string assignmentList)
        {
            var    staffList = request.Staffs;
            string assign    = assignmentList;

            assign = assign.Replace("  ", "");
            string[] assignments = assign.Split(',');
            Dictionary <string, bool> staffAssignments = new Dictionary <string, bool>();

            foreach (var staff in staffList)
            {
                if (assignments.Contains(staff.staffID.ToString()))
                {
                    staffAssignments.Add(staff.staffID.ToString(), true);
                }
                else
                {
                    staffAssignments.Add(staff.staffID.ToString(), false);
                }
            }

            using (ProjectRequestEntities project = new ProjectRequestEntities())
            {
                foreach (var assignment in staffAssignments)
                {
                    var editTaskAssignment = project.TaskAssignments.FirstOrDefault(a => a.taskID == task.taskID && a.staffID == assignment.Key);

                    if (assignment.Value == true)
                    {
                        if (editTaskAssignment == null)
                        {
                            TaskAssignment myTask = new TaskAssignment();

                            myTask.templateID = templateID;
                            myTask.taskID     = task.taskID;
                            myTask.staffID    = assignment.Key;
                            project.AddToTaskAssignments(myTask);

                            project.SaveChanges();
                        }
                    }
                    else if (assignment.Value == false)
                    {
                        if (editTaskAssignment != null)
                        {
                            project.TaskAssignments.DeleteObject(editTaskAssignment);
                            project.SaveChanges();
                        }
                    }
                } //end assignment foreach
            }     //end using statement
        }