public IActionResult Delete(int id) { if (id <= 0) { return(BadRequest("Not a valid category ID")); } var category = repository.GetWikiCategoryById(id); wikiContext.Remove(category); if (category != null) { if (repository.SaveAll()) { return(new OkObjectResult("Successfully deleted category")); } } return(BadRequest("Could not delete category")); }
public IActionResult Edit([FromBody] Article model, int id) { if (!ModelState.IsValid) { Console.WriteLine("ModelState is not valid"); return(BadRequest(ModelState)); } var article = repository.GetArticleById(id); if (article != null) { //Delete article children entities foreach (var articleItem in article.ArticleItems.ToList()) { foreach (var listContent in articleItem.ListContents) { _appDbContext.Remove(listContent); } _appDbContext.ArticleItems.Remove(articleItem); } foreach (var wikiCategory in article.WikiCategories) { _appDbContext.Remove(wikiCategory); } foreach (var teamCategory in article.TeamCategories) { _appDbContext.Remove(teamCategory); } repository.SaveAll(); _appDbContext.Articles.Remove(article); repository.SaveAll(); //Remove the ID's for article and children entities model.Id = 0; if (model.ArticleItems.ToList().Count > 0) { for (var i = 0; i < model.ArticleItems.ToList().Count; i++) { var articleItems = model.ArticleItems.ToList(); articleItems[i].Id = 0; if (articleItems[i].ListContents != null) { for (var i2 = 0; i2 < articleItems[i].ListContents.ToList().Count; i2++) { var listContent = articleItems[i].ListContents.ToList(); if (listContent[i2] != null) { listContent[i2].Id = 0; } } } } } foreach (var category in model.WikiCategories.ToList()) { category.Id = 0; } foreach (var category in model.TeamCategories.ToList()) { category.Id = 0; } //Add new article repository.AddEntity(model); if (repository.SaveAll()) { return(new OkObjectResult("Successfully saved article")); } else { repository.AddEntity(article); repository.SaveAll(); return(BadRequest("Could not save new article.")); } } return(new OkObjectResult("Successfully saved article")); }