Exemple #1
0
 /// <summary>
 ///     Сохранить информацию в таблицу BlogCategory2BlogCategory.
 /// </summary>
 /// <param name="parentBlogCategory">Родительская категория.</param>
 /// <param name="blogCategory">Объект BlogCategory.</param>
 private void SaveInformationBlogCategory2BlogCategory(BlogCategory parentBlogCategory,
                                                       BlogCategory blogCategory)
 {
     if (parentBlogCategory != null)
     {
         var blog2BlogCategory = new BlogCategory2BlogCategory
         {
             BlogCategory1   = blogCategory,
             BlogCategory1Id = blogCategory.Id,
             BlogCategory2   = parentBlogCategory,
             BlogCategory2Id = parentBlogCategory.Id
         };
         _context.Add(blog2BlogCategory);
         _context.SaveChanges();
     }
 }
Exemple #2
0
        /// <inheritdoc />
        public Result UpdateCategory(BlogCategoryDto blogCategoryDto)
        {
            using var transaction = _context.Database.BeginTransaction();
            try
            {
                var category = _context.BlogCategory.Include(x => x.Picture)
                               .FirstOrDefault(x => x.Id == blogCategoryDto.Id);

                var file = GetFile(blogCategoryDto.Picture).Result;

                var parentCategory = _context.BlogCategory.Find(blogCategoryDto.BlogCategoryId);

                if (category != null)
                {
                    category.Picture         = file;
                    category.Description     = blogCategoryDto.Description;
                    category.HtmlH1          = blogCategoryDto.HtmlH1;
                    category.MetaDescription = blogCategoryDto.MetaDescription;
                    category.MetaKeywords    = blogCategoryDto.MetaKeywords;
                    category.MetaTitle       = blogCategoryDto.MetaTitle;
                    category.Name            = blogCategoryDto.Name;
                    category.Sort            = blogCategoryDto.Sort;
                    category.Status          = blogCategoryDto.Status;

                    _context.Update(category);

                    if (parentCategory != null)
                    {
                        var blogCategory =
                            _context.BlogCategory2BlogCategories.FirstOrDefault(x =>
                                                                                x.BlogCategory1.Id == category.Id);
                        if (blogCategory != null)
                        {
                            _context.Remove(blogCategory);
                        }

                        var newBlogCategory = new BlogCategory2BlogCategory
                        {
                            BlogCategory1   = category,
                            BlogCategory1Id = category.Id,
                            BlogCategory2Id = parentCategory.Id,
                            BlogCategory2   = parentCategory
                        };

                        _context.Add(newBlogCategory);
                        _context.SaveChanges();
                    }

                    transaction.Commit();

                    return(Result.Ok());
                }

                return(Result.Fail("Обновление категории не произошло."));
            }
            catch (Exception e)
            {
                transaction.RollbackAsync();
                throw new ApplicationException(e.InnerException.Message ?? e.Message);
            }
        }