public async Task <AddNewTodoResult> Handle(AddNewTodoCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.BoardId)) { throw new ArgumentException("Cannot add new todo when BoardId is null or empty"); } if (string.IsNullOrWhiteSpace(request.Title)) { throw new ArgumentException("Cannot add new todo when Title is null or empty"); } var todo = new Models.Todo { BoardId = request.BoardId, Title = request.Title, Deadline = request.Deadline }; var result = await todoRepository.AddTodoAsync(todo); return(new AddNewTodoResult { TodoId = result.Id, BoardId = result.BoardId, CreationDate = result.CreationDate }); }
public IHttpActionResult PutTodo(int id, Models.Todo todo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != todo.Id) { return(BadRequest()); } db.Entry(todo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!TodoExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public async Task <IActionResult> UpdateAsync(Guid id, Models.Todo request) { var exist = await _context.Set <Models.Todo>().FirstOrDefaultAsync(s => s.Id == id); if (exist == null) { return(NotFound()); } exist.StartDate = request.StartDate; exist.EndDate = request.EndDate; exist.Description = request.Description; exist.Status = request.Status; exist.UpdatedBy = request.UpdatedBy; exist.UpdatedOn = DateTime.UtcNow; exist.IsActive = request.IsActive; _context.Set <Models.Todo>().Update(exist); if (await _context.SaveChangesAsync() > 0) { return(Ok()); } return(BadRequest()); }
public AddEditTodoPage(Models.Todo todo = null) { InitializeComponent(); _viewModel = new AddEditTodoViewModel(Navigation, todo); BindingContext = _viewModel; }
public IHttpActionResult AddNew(Models.Todo todo) { if (ModelState.IsValid) { var newTodo = TodoInMemoryRepository.Add(todo); return(this.Ok(newTodo)); } return(this.BadRequest(ModelState)); }
public IHttpActionResult GetTodo(int id) { Models.Todo todo = db.Todoes.Find(id); if (todo == null) { return(NotFound()); } return(Ok(todo)); }
private Models.Todo MapTodoToBL(TodoDB todoDB) { var todo = new Models.Todo() { Id = todoDB.Id, Name = todoDB.Name, Description = todoDB.Description, IsDone = todoDB.IsDone }; return(todo); }
private TodoDB MapTodoToDB(Models.Todo todo) { var todoDB = new TodoDB() { Id = todo.Id, Name = todo.Name, Description = todo.Description, IsDone = todo.IsDone }; return(todoDB); }
public IHttpActionResult PostTodo(Models.Todo todo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.Todoes.Add(todo); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = todo.Id }, todo)); }
// POST: Todo public HttpResponseMessage Post(Models.Todo item) { var t = repo.Save(item); t.Url = String.Format("{0}/{1}", Request.RequestUri.ToString(), t.Id.ToString()); var response = Request.CreateResponse <Models.Todo>(HttpStatusCode.OK, t); response.Headers.Location = new Uri(Request.RequestUri, "todo/" + t.Id.ToString()); return(response); }
protected override void Seed(ToDoApp.Models.TodoContext context) { var todo = new Models.Todo(); todo.Id = 1; todo.IsDone = true; todo.Description = "First todo"; context.SaveChanges(); // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. }
// PATCH: Todo/5 public HttpResponseMessage Patch(int id, Models.Todo item) { item.Id = id; var t = repo.Save(item); t.Url = Request.RequestUri.ToString(); var response = Request.CreateResponse <Models.Todo>(HttpStatusCode.OK, t); response.Headers.Location = new Uri(Request.RequestUri, t.Id.ToString()); return(response); }
public IHttpActionResult DeleteTodo(int id) { Models.Todo todo = db.Todoes.Find(id); if (todo == null) { return(NotFound()); } db.Todoes.Remove(todo); db.SaveChanges(); return(Ok(todo)); }
public ActionResult AddItem(Models.Todo item) { ModelState.Clear(); var currentItems = (List <Todo>)TempData["CurrentItems"] ?? new List <Todo>(); currentItems.Add(item); TempData["CurrentItems"] = currentItems; TodoItems todoItems = HomeControllerHelper.CreateModel(currentItems); return(View("Index", todoItems)); }
public void Save(Domain.Todo.Create.Models.Todo todo) { using var dbContext = contextFactory.Create(); var entity = new Models.Todo { title = todo.Title, description = todo.Description, creation_date = todo.CreationDate }; dbContext.Todos.Add(entity); dbContext.SaveChanges(); }
public Models.Todo Add(Models.Todo todo) { try { // Add and commit context.Todos.Add(todo); context.SaveChanges(); return(todo); } catch (Exception ex) { return(null); } }
public async Task <IActionResult> CreateAsync(Models.Todo request) { request.CreatedOn = DateTime.UtcNow; request.UpdatedBy = request.CreatedBy; request.UpdatedOn = DateTime.UtcNow; await _context.Set <Models.Todo>().AddAsync(request); if (await _context.SaveChangesAsync() > 0) { return(Ok()); } return(BadRequest()); }
// POST api/Todos public HttpResponseMessage PostTodo(Todo todo) { if (ModelState.IsValid) { db.Todos.Add(todo); db.SaveChanges(); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, todo); response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = todo.Id })); return response; } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }
public Models.Todo AddTodo(Models.Todo todo) { try { var todoDB = MapTodoToDB(todo); todoDB.Id = Guid.NewGuid(); todoDB.CreatedAt = DateTime.Now; todoDB = _todoContext.Add(todoDB).Entity; _todoContext.SaveChanges(); return(GetTodo(todoDB.Id)); } catch (DbUpdateException) { throw new Exception("Can't create Todo"); } }
public IEnumerable <Models.Todo> GetTodos() { var todosDB = _todoContext.Todos.ToList(); var todos = new List <Models.Todo>(); foreach (var todoDB in todosDB) { var todo = new Models.Todo() { Id = todoDB.Id, Name = todoDB.Name, Description = todoDB.Description, IsDone = todoDB.IsDone }; todos.Add(todo); } return(todos); }
public async Task <DeleteTodoResult> Handle(DeleteTodoCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.TodoId)) { throw new ArgumentException("Cannot delete todo when TodoId is null or white space"); } var todo = new Models.Todo { Id = request.TodoId }; var result = await todoRepository.RemoveTodoAsync(todo); return(new DeleteTodoResult { TodoId = result.Id }); }
public async Task <MarkTodoAsUndoneResult> Handle(MarkTodoAsUndoneCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.TodoId)) { throw new ArgumentException("Cannot mark todo as undone when TodoId is null or white space"); } var todo = new Models.Todo { Id = request.TodoId, DoneDate = null }; var result = await todoRepository.UpdateTodoDoneDateAsync(todo); return(new MarkTodoAsUndoneResult { TodoId = result.Id }); }
private static async Task <HandlerType> Add(Request req, Response res) { var form = await req.GetFormDataAsync(); var session = req.GetData <Session>(); var todo = new Models.Todo { UserId = session.UserId, Title = form["title"], Description = form["description"], Created = DateTime.UtcNow }; await using var ctx = new TodoContext(session.UserId); ctx.Add(todo); await ctx.SaveChangesAsync(); return(await res.SendStatus(HttpStatusCode.OK)); }
public Models.Todo Save(Models.Todo item) { if (item.Id == 0) { item.Id = ++MaxId; } int index = Todos.IndexOf(item); if (index != -1) { Todos[index] = item; } else { Todos.Add(item); } return(item); }
public async Task <ChangeTodoTitleResult> Handle(ChangeTodoTitleCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.TodoId)) { throw new ArgumentException("Cannot change todo Title to null or empty space"); } var todo = new Models.Todo { Id = request.TodoId, Title = request.Title }; var result = await todoRepository.UpdateTodoTitleAsync(todo); return(new ChangeTodoTitleResult { TodoId = result.Id, Title = result.Title }); }
public async Task <ChangeTodoDeadlineResult> Handle(ChangeTodoDeadlineCommand request, CancellationToken cancellationToken) { if (string.IsNullOrWhiteSpace(request.TodoId)) { throw new ArgumentException("Cannot change todo Deadline when TodoId is null or white space"); } var todo = new Models.Todo { Id = request.TodoId, Deadline = request.NewDeadline }; var result = await todoRepository.UpdateTodoDeadlineAsync(todo); return(new ChangeTodoDeadlineResult { TodoId = result.Id, NewDeadline = result.Deadline }); }
// PATCH: Todo/5 public HttpResponseMessage Patch(int id, Models.Todo item) { var todo = repo.Get(id); if (item.Title != null) { todo.Title = item.Title; } if (item.Completed.HasValue) { todo.Completed = item.Completed; } var t = repo.Save(todo); t.Url = Request.RequestUri.ToString(); var response = Request.CreateResponse <Models.Todo>(HttpStatusCode.OK, t); response.Headers.Location = new Uri(Request.RequestUri, t.Id.ToString()); return(response); }
// PUT api/Todos/5 public HttpResponseMessage PutTodo(Guid id, Todo todo) { if (ModelState.IsValid && id == todo.Id) { db.Entry(todo).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { return Request.CreateResponse(HttpStatusCode.NotFound); } return Request.CreateResponse(HttpStatusCode.OK, todo); } else { return Request.CreateResponse(HttpStatusCode.BadRequest); } }
public Models.Todo UpdateTodo(Models.Todo todo) { if (todo.Id == Guid.Empty) { throw new Exception("No id given"); } var todoDB = MapTodoToDB(todo); var entity = _todoContext.Todos.Attach(todoDB); entity.Property(x => x.Name).IsModified = true; entity.Property(x => x.Description).IsModified = true; entity.Property(x => x.IsDone).IsModified = true; _todoContext.SaveChanges(); todoDB = _todoContext.Todos.Find(todo.Id); todos[todos.FindIndex(x => x.Id == todo.Id)] = todo; return(todo); }
public bool Remove(Models.Todo todo) { try { // remove and commit context.Todos.Remove(todo); var results = context.SaveChanges(); // Check to see if we have proper results // and return a corresponding value if (results > 0) { return(true); } else { return(false); } } catch (Exception ex) { return(false); } }
public IActionResult Index(int id) { Models.Todo todo = null; if (id > 0) { var BigList = from u in MyDB.Users where u.TodoList.Count != 0 select u.TodoList; List <Models.Todo> temp = new List <Models.Todo>(); foreach (List <Models.Todo> lp in BigList.ToList()) { temp.AddRange(lp); } if (temp.Count >= id) { todo = (from t in temp select t).First(t => t.Id.Equals(id)); } } return(View(todo)); }
private static List <Models.Todo> MakeTreeFromFlatList(List <Models.Todo> flatList) { var rootTodo = new List <Models.Todo>(); if (flatList.Count == 1 && flatList.First().ToDoItemId == null && flatList.First().ToDoListId == null) { return(rootTodo); } var dic = flatList.Where(n => n.ToDoItemId == null && n.ItemType != 3).ToDictionary(n => n.ToDoListId, n => n); if (dic.Count == 0) { return(flatList.FindAll(n => n.ItemType == 2)); } foreach (var todo in flatList) { if (todo.ItemType == 3) { continue; } if (todo.ToDoItemId.HasValue) { Models.Todo parent = dic[todo.ToDoListId]; if (parent.Sub == null) { parent.Sub = new List <Models.Todo>(); } parent.Sub.Add(todo); } else { rootTodo.Add(todo); } } return(rootTodo); }