public static void AssignTasks(User user, int eventID, int roleID, List<Task> taskList) { //TODO: Put in after roles management for task up if (!user.isAuthorized(EventController.GetEvent(eventID), EnumFunctions.Assign_Task) || !user.isAuthorized(EventController.GetEvent(eventID), EnumFunctions.Add_Task)) throw new FaultException<SException>(new SException(), new FaultReason("Invalid User, User Does Not Have Rights To Assign Tasks!")); if (taskList.Count == 0) { RemoveAllTasksFromRole(eventID, roleID); string msg = "Your task(s) assigned by " + user.Name + " for the Event: " + EventController.GetEvent(eventID).Name + " has been removed"; NotificationController.sendNotification(user.UserID, RoleController.GetRole(roleID).UserID, "Task(s) Allocated Removed", msg); return; } else { DAL dalDataContext = new DAL(); using (TransactionScope tScope = new TransactionScope(TransactionScopeOption.Required)) { try { List<TaskAssignment> taskAssignmentList = new List<TaskAssignment>(); RemoveAllTasksFromRole(eventID, roleID); foreach (Task t in taskList) { if (!IsAssignmentCompleted(t.EventID, roleID, t.TaskID)){ TaskAssignment tAssn = new TaskAssignment(t.EventID, t.TaskID, roleID); taskAssignmentList.Add(tAssn); } } RemoveAllTasksFromRole(eventID, roleID); Table<TaskAssignment> taskAssns = dalDataContext.taskAssignments; taskAssns.InsertAllOnSubmit(taskAssignmentList); taskAssns.Context.SubmitChanges(); string msg = "You were allocated some tasks by " + user.Name + " for the Event: " + EventController.GetEvent(eventID).Name; NotificationController.sendNotification(user.UserID, RoleController.GetRole(roleID).UserID, "New Task Allocated", msg); tScope.Complete(); } catch (Exception ex) { throw new FaultException<SException>(new SException(ex.Message), new FaultReason("An Error occured While Adding Assigning Tasks: " + ex.Message)); } } } }
public TaskAssignmentState(TaskAssignment tAssn, String name) { this.taskAssignment = tAssn; string temp = name.Replace(Environment.NewLine, "\\"); string[] temp2 = temp.Split('\\'); //Name this.name = temp2[0]; //Position string[] temp3 = temp.Split(':'); this.position = temp3[1].Trim(); }
public static void AddSingleAssignment(User user, int eventID, int roleID, Task task) { //TODO: Put in after roles management for task up if (!user.isAuthorized(EventController.GetEvent(eventID), EnumFunctions.Assign_Task) || !user.isAuthorized(EventController.GetEvent(eventID), EnumFunctions.Add_Task)) throw new FaultException<SException>(new SException(), new FaultReason("Invalid User, User Does Not Have Rights To Assign Tasks!")); DAL dalDataContext = new DAL(); TaskAssignment taskAssn = new TaskAssignment(eventID, task.TaskID, roleID); Table<TaskAssignment> assignmentTable = dalDataContext.taskAssignments; assignmentTable.InsertOnSubmit(taskAssn); assignmentTable.Context.SubmitChanges(); }
private List<TaskAssignmentState> GetTaskAssignmentState(TaskAssignment[] tAssns) { List<TaskAssignmentState> lstTAS = new List<TaskAssignmentState>(); foreach (TaskAssignment taskAssignment in tAssns) { foreach (RoleWithUser item in roleByEvent) { if (item.role.RoleID == taskAssignment.AssignedRoleID) { //String name= TaskAssignmentState newTAS = new TaskAssignmentState(taskAssignment, item.user); lstTAS.Add(newTAS); } } } return lstTAS; }