public ActionResult GetTodosById(int id) { var userId = User.Claims.ToList()[0].Value; var Todo = AllTodos.FirstOrDefault(i => i.Id == id && i.Author.Id == userId || i.Members.Any(i => i.Id == userId)); if (Todo != null) { return(Ok(Todo)); } return(Ok(null)); }
public IEnumerable <Tags> GetTagsById(int id) { var userId = User.Claims.ToList()[0].Value; var list = AllTodos.FirstOrDefault(i => i.Id == id); if (list != null) { var tags = AllTags.Where(t => t.TodoId == list.Id).ToList(); return(tags); } return(null); }
public ActionResult TodoIsCompleted(int todoId) { var userId = User.Claims.ToList()[0].Value; var Todo = AllTodos.FirstOrDefault(i => i.Id == todoId && i.Author.Id == userId); if (Todo != null) { Todo.IsComplete = true; if (_context.SaveChanges() > 0) { return(Ok(true)); } } return(Ok(false)); }
public IActionResult PostANewTagToTodo(Tags model) { var userId = User.Claims.ToList()[0].Value; var todo = AllTodos.FirstOrDefault(i => i.Id == model.TodoId && i.Author.Id == userId); if (todo != null) { _context.TagsItems.Add(model); if (_context.SaveChanges() > 0) { return(Ok(true)); } } return(Ok(false)); }
public ActionResult UpdateTodoListWithId(int id, TodoModel model) { var Todo = AllTodos.FirstOrDefault(i => i.Id == id); var userId = User.Claims.ToList()[0].Value; if (Todo != null && Todo.Author.Id == userId) { Todo.Name = model.Name; Todo.Description = model.Description; if (_context.SaveChanges() > 0) { return(Ok(true)); } } return(Ok(false)); }
public IEnumerable <TodoModel> Search(string key) { List <TodoModel> result = new List <TodoModel>(); var userId = User.Claims.ToList()[0].Value; key = key.ToLower(); var list = AllTodos.Where(a => a.Author.Id == userId || a.Members.Any(m => m.Id == userId)).ToList(); if (list.Count > 0) { List <Tags> tagsList = new List <Tags>(); if (AllTags.Count() > 0 && list.Count > 0) { for (var i = 0; i < list.Count; i++) { var TodoId = list[i].Id; var tag = AllTags.FirstOrDefault(x => x.TodoId == TodoId); if (tag != null) { tagsList.Add(tag); } } } var foundTodos = list.Where(x => x.Name.ToLower().Contains(key) || x.Description.ToLower().Contains(key)).ToList(); for (var i = 0; i < foundTodos.Count; i++) { result.Add(foundTodos[i]); } if (tagsList.Count() > 0) { var foundTags = tagsList.Where(x => x.Text.ToLower().Contains(key)).ToList(); for (var i = 0; i < foundTags.Count; i++) { var id = foundTags[i].TodoId; if (result.Find(x => x.Id == id).Equals(null)) { result.Add(list.FirstOrDefault(x => x.Id == id)); } } } } return(result); }
public ActionResult AddNewMemberToList(int id, string user_id) { var Todo = AllTodos.FirstOrDefault(x => x.Id == id); var userId = User.Claims.ToList()[0].Value; if (Todo != null && Todo.Author.Id == userId) { var member = _context.Users.FirstOrDefault(x => x.Id == user_id); if (member != null) { Todo.Members.Add(member); if (_context.SaveChanges() > 0) { return(Ok(true)); } } } return(Ok(false)); }
public ActionResult DeleteTodo(int id) { var userId = User.Claims.ToList()[0].Value; var todo = AllTodos.FirstOrDefault(x => x.Id == id && x.Author.Id == userId); if (todo != null) { var tags = AllTags.Where(x => x.TodoId == todo.Id).ToList(); if (tags.Count > 0) { for (var i = 0; i < tags.Count; i++) { _context.TagsItems.Remove(tags[i]); } } _context.TodoItems.Remove(todo); if (_context.SaveChanges() > 0) { return(Ok(true)); } } return(Ok(false)); }
public IEnumerable <TodoModel> TodosMember() { var userId = User.Claims.ToList()[0].Value; return(AllTodos.Where(x => x.Members.Any(m => m.Id == userId)).ToList()); }
public IEnumerable <TodoModel> Get() { var userId = User.Claims.ToList()[0].Value; return(AllTodos.Where(x => x.Author.Id == userId).ToList()); }