public JsonResult Save(int id, int parentId, string displayName, string systemName, string description, string image)
        {
            try
            {
                // Репозиторий
                var repository = Locator.GetService<ICategoriesRepository>();

                // Обрабатываем запрос
                if (id < 0)
                {
                    // проверяем, существует ли родительская категория, к которой хотят поместить новую категорию
                    if (parentId != -1 && repository.Load(parentId) == null)
                    {
                        throw new ObjectNotFoundException("Категории, указанная в качестве родительской не существует");
                    }

                    // Создаем категорию
                    var category = new Category()
                    {
                        ParentId = parentId,
                        Title = displayName
                    };
                    repository.Add(category);
                    repository.SubmitChanges();
                    return JsonSuccess(new { id = category.Id });
                }
                else
                {
                    var category = repository.Load(id);
                    category.Title = displayName;
                    category.Description = description;
                    repository.SubmitChanges();
                    return JsonSuccess(new { id = category.Id });
                }
            }
            catch (Exception e)
            {
                return JsonErrors(e);
            }
        }
示例#2
0
 /// <summary>
 /// Перечисляет категории и возращает список дочерних
 /// </summary>
 /// <param name="category">Категория</param>
 /// <param name="resultList">Куда поместить</param>
 private void EnumerateCategories(Category category, List<Category> resultList)
 {
     resultList.Add(category);
     foreach (var cat in category.ChildCategories)
     {
         EnumerateCategories(cat,resultList);
     }
 }
 /// <summary>
 /// Возвращает изображение, ассоциированное с категорией
 /// </summary>
 /// <param name="category"></param>
 /// <returns></returns>
 public string GetCategoryImage(Category category)
 {
     return string.Empty;
 }
示例#4
0
		private void detach_ChildCategories(Category entity)
		{
			this.SendPropertyChanging();
			entity.ParentCategory = null;
		}
        /// <summary>
        /// Возвращает количество тендеров в указанной категории
        /// </summary>
        /// <param name="category"></param>
        /// <returns></returns>
        public int GetTendersCount(Category category)
        {
            // Проверяем на наличие в кеше
            if (CategoriesTendersCountCache.ContainsKey(category.Id))
            {
                return CategoriesTendersCountCache[category.Id];
            }

            // Похоже что нет - кешируем
            var count = Locator.GetService<ICategoriesRepository>().Load(category.Id).Tenders.Count;
            CategoriesTendersCountCache[category.Id] = count;
            return count;
        }