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)); }
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); }
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)); }