Exemple #1
0
        public async Task <IActionResult> Update(int groupId, int taskId, SharedTasks task)
        {
            string username = HttpContext.User.Identity.Name;

            if (taskId != task.TaskId)
            {
                return(BadRequest());
            }

            //verify group and task
            var group = _ctx.Groups
                        .Include(g => g.SharedTasks)
                        .ToList()
                        .FirstOrDefault(g => g.GroupId == groupId);

            if (group == null || group.AdminUsername != username)
            {
                return(Unauthorized());
            }

            int index = group.SharedTasks.FindIndex(t => t.GroupId == taskId);

            if (index == -1)
            {
                return(BadRequest());
            }

            group.SharedTasks[index] = task;

            await _ctx.SaveChangesAsync();

            return(Ok(task));
        }
Exemple #2
0
        public static SharedTasks ShareTask(Task task, long userId, int type)
        {
            var sharedTask = sharedTaskDaoManager.Find(userId, task.Id);

            if (sharedTask == null)
            {
                var entity = new SharedTasks()
                {
                    Id         = 0,
                    TaskId     = task.Id,
                    UserId     = userId,
                    ShareType  = type,
                    IsActive   = true,
                    LastUpdate = DateTime.Now
                };
                sharedTaskDaoManager.Save(entity);

                return(entity);
            }
            else if (!sharedTask.IsActive)
            {
                sharedTask.IsActive = true;
                return(sharedTaskDaoManager.Update(sharedTask));
            }

            return(sharedTask);
        }
Exemple #3
0
        public IActionResult CreateTask(int id, SharedTasks task)
        {
            string username = HttpContext.User.Identity.Name;

            var group = _ctx.Groups
                        .Include(g => g.SharedTasks)
                        .FirstOrDefault(g => g.GroupId == id);

            if (group == null || group.AdminUsername != username)
            {
                return(Unauthorized());
            }

            task.GroupId = id;
            _ctx.SharedTasks.Add(task);

            _ctx.SaveChanges();

            return(Ok(task));
        }