Ejemplo n.º 1
0
        public static Task GetTaskById(Guid taskId, Guid projectId, Guid userId)
        {
            Task           item   = null;
            UserTaskAccess access = AllUserTaskAccess.GetForUserAndProjectAndTask(userId, projectId, taskId);

            //check if user has access to this task, if so, retrieve it
            if (access != null)
            {
                item = AllTasks.GetForId(taskId);
            }

            return(item);
        }
Ejemplo n.º 2
0
        public static List <ValidationMessage> RemoveUserAccess(
            ValidatableParameter <string> projectId,
            ValidatableParameter <string> taskId,
            ValidatableParameter <Guid> userId
            )
        {
            List <ValidationMessage> errors = new List <ValidationMessage>();

            Guid projId = Guid.Empty;
            Guid tskId  = Guid.Empty;

            try
            {
                projId = new Guid(projectId.Value);
            }
            catch (FormatException)
            {
                errors.Add(new ValidationMessage {
                    MessageText = "Project Id must be in the format dddddddd-dddd-dddd-dddd-dddddddddddd", Source = projectId.Source
                });
            }

            try
            {
                tskId = new Guid(taskId.Value);
            }
            catch (FormatException)
            {
                errors.Add(new ValidationMessage {
                    MessageText = "Task Id must be in the format dddddddd-dddd-dddd-dddd-dddddddddddd", Source = taskId.Source
                });
            }

            if (userId.Value == Guid.Empty)
            {
                errors.Add(new ValidationMessage {
                    MessageText = "User must be supplied", Source = userId.Source
                });
            }
            else
            {
                //check for existing relationship
                UserTaskAccess existItem = AllUserTaskAccess.GetForUserAndProjectAndTask(userId.Value, projId, tskId);
                if (existItem == null)
                {
                    errors.Add(new ValidationMessage {
                        MessageText = string.Format("User does not have access to Task with Id {0}", existItem.TaskId.ToString()), Source = userId.Source
                    });
                }
            }

            //perform add if no errors
            if (errors.Count == 0)
            {
                AllUserTaskAccess items     = new AllUserTaskAccess();
                UserTaskAccess    existItem = items.Where(i => i.ProjectId == projId && i.TaskId == tskId && i.UserId == userId.Value).Single();
                if (existItem != null)
                {
                    items.Remove(existItem);
                }

                items.Save();
            }

            return(errors);
        }