예제 #1
0
        public static UserTaskAssignment CopyTaskFromUserAToUserB(Guid userTaskId, Guid appUserIdA, Guid appUserIdB)
        {
            ApplicationDbContext db   = new ApplicationDbContext();
            UserTaskAssignment   task = CopyTaskFromUserAToUserB(db, userTaskId, appUserIdA, appUserIdB);

            db.Dispose();
            return(task);
        }
예제 #2
0
        public void AssignUserToProjectTask(int projectId, int taskId, string userId)
        {
            UserTaskAssignment assignment = new UserTaskAssignment();

            assignment.TaskID    = taskId;
            assignment.UserID    = userId;
            assignment.ProjectID = projectId;
            UserTaskAssignmentRepository.Add(assignment);
        }
예제 #3
0
        public void HandleTaskDelete(int projectId, int id, string userId)
        {
            Base.Model.Task task = TaskRepository.GetTaskByIdWithTracking(id);
            TaskRepository.Remove(task);

            UserTaskAssignment assignment = UserTaskAssignmentRepository.
                                            GetTaskAssignmentByUserIdAndProjectIdAndTaskId(userId, projectId, id);

            UserTaskAssignmentRepository.Remove(assignment);
        }
예제 #4
0
        public void HandleTaskAdd(Base.Model.Task task, int projectId, string userId)
        {
            //Base.Model.Task task = Serializer.Serialize(form);
            task.ProjectID = projectId;
            TaskRepository.Add(task);

            UserTaskAssignment assignment = new UserTaskAssignment();

            assignment.UserID    = userId;
            assignment.TaskID    = task.ID;
            assignment.ProjectID = projectId;
            UserTaskAssignmentRepository.Add(assignment);
        }
예제 #5
0
        public static List <UserTaskAssignment> CreateAdminListForTask(ApplicationDbContext db, UserTask userTask)
        {
            List <UserTaskAssignment> userTaskAdminList = new List <UserTaskAssignment>();
            Guid companyId = Guid.Empty;

            //Find the company related to this Task depending on Task Type
            switch (userTask.TaskType)
            {
            case TaskTypeEnum.UserOnHold:
                companyId = (from b in db.BranchUsers
                             where b.UserId == userTask.ReferenceKey
                             select b.CompanyId).FirstOrDefault();
                break;

            case TaskTypeEnum.BranchOnHold:
                companyId = (from b in db.BranchUsers
                             where b.BranchId == userTask.ReferenceKey
                             select b.CompanyId).FirstOrDefault();
                break;
            }

            //Find all Admin users for this company
            List <AppUser> usersForCompany = (from b in db.BranchUsers
                                              join a in db.AppUsers on b.UserId equals a.AppUserId
                                              where (b.CompanyId == companyId && b.UserRole == UserRoleEnum.Admin)
                                              select a).ToList();

            var usersForCompanyDistict = usersForCompany.Distinct();

            //Add new User Task Admin records for this task
            foreach (AppUser user in usersForCompanyDistict)
            {
                UserTaskAssignment userTaskAdmin = new UserTaskAssignment()
                {
                    UserTaskAssignmentId = Guid.NewGuid(),
                    UserTaskId           = userTask.UserTaskId,
                    AppUserId            = user.AppUserId,
                    UserRole             = UserRoleEnum.Admin
                };

                db.UserTaskAssignments.Add(userTaskAdmin);
                userTaskAdminList.Add(userTaskAdmin);
            }


            return(userTaskAdminList);
        }
예제 #6
0
        public static UserTaskAssignment CopyTaskFromUserAToUserB(ApplicationDbContext db, Guid userTaskId, Guid appUserIdA, Guid appUserIdB)
        {
            UserTaskAssignment taskAssigment = (from ut in db.UserTaskAssignments
                                                where (ut.UserTaskId == userTaskId && ut.AppUserId == appUserIdA)
                                                select ut).FirstOrDefault();

            UserTaskAssignment taskAssignmentCopy = new UserTaskAssignment()
            {
                UserTaskAssignmentId = Guid.NewGuid(),
                UserTaskId           = userTaskId,
                AppUserId            = appUserIdB,
                UserRole             = UserRoleEnum.Admin
            };

            db.UserTaskAssignments.Add(taskAssignmentCopy);
            db.SaveChanges();

            return(taskAssignmentCopy);
        }