} // done public static ProjectTaskClass SaveProjectFileTask(string username, int projectID, string title, string desc, DateTime dueDate, string[] usernames, string fileFullname) { ProjectTaskClass rObject = new ProjectTaskClass(); using (boxEntities box = new boxEntities()) { usernames = usernames.Distinct().ToArray(); if (Roles.UserIsAllowed_Project(username, ProjectPrivilages.Manage, projectID)) { // get projectfile id var fileid = (from o in box.ProjectFiles where o.ProjectID == projectID && o.FullName == fileFullname select o.ID).FirstOrDefault(); if (fileid != 0) { // create the header TaskAssign task = new TaskAssign(); task.ProjecFileID = fileid; task.TaskTitle = title; task.TaskDesc = desc; task.DueDate = dueDate; task.DateCreated = DateTime.Now; task.Creator = Profile.getUserID(username); box.TaskAssigns.AddObject(task); box.SaveChanges(); // check if all int[] users = { }; string[] na = { }; if (usernames.Contains("All")) { // get all users in meeting ids users = ProjectPrivacyClass.GetProjectFileUserIDs(fileid); na = ProjectPrivacyClass.GetProjectFileUsernames(fileid); } else { users = Profile.GetUserIDs(usernames); na = usernames; } foreach (var t in users) { TaskUser u = new TaskUser(); u.UserID = t; u.TaskID = task.TaskID; u.AssignedDate = DateTime.Now; task.TaskUsers.Add(u); } box.SaveChanges(); rObject.TaskID = task.TaskID; rObject.CreatedDate = task.DateCreated; rObject.DueDate = task.DueDate; rObject.Desc = task.TaskDesc; rObject.Title = task.TaskTitle; rObject.ProjectFileID = fileid; rObject.Usernames = na; rObject.Creator = username; return(rObject); } else { throw new FileNotFoundException(); } } else { throw new UnauthorizedAccessException(); } } } // done