Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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"));
        }