/// <summary> /// Deletes a category /// Level: Logic /// </summary> /// <param name="CategoryID">The category id</param> /// <returns>True if deleted, false if not deleted</returns> public bool DeleteCategory(int CategoryID) { try { CategoriesRepository myRepository = new CategoriesRepository(); if ((!myRepository.CheckForSubCategories(CategoryID)) && (!myRepository.CheckForAssignedProducts(CategoryID))) { myRepository.DeleteCategory(CategoryID); return true; } else { return false; } } catch (Exception Exception) { throw Exception; } }
/// <summary> /// Assigns a category as a parent category /// Level: Logic /// </summary> /// <param name="CategoryID">The category id</param> /// <param name="Category">The category</param> /// <param name="ImageURL">The image url</param> /// <returns>True if successful, else false</returns> public bool AssignCategoryAsParent(int CategoryID, string Category, string ImageURL) { try { CategoriesRepository myRepository = new CategoriesRepository(); if ((ImageURL == null) && (Category != null)) { if ((!myRepository.CheckForAssignedProducts(CategoryID)) & (!myRepository.ParentCategoryExists(Category))) { myRepository.AssignCategoryAsParent(CategoryID, Category, ImageURL); return true; } else { return false; } } else if ((ImageURL != null) && (Category != null)) { Category myCategoryToUpdate = RetrieveCategoryByID(CategoryID); Category myCategoryToCompare = myRepository.Entities.Categories.SingleOrDefault(c => c.Category1 == Category); if ((myCategoryToCompare != null) && (myCategoryToUpdate != null)) { if (myCategoryToUpdate.Id == myCategoryToCompare.Id) { if (!myRepository.CheckForAssignedProducts(CategoryID)) { myRepository.AssignCategoryAsParent(CategoryID, Category, ImageURL); return true; } else { return false; } } else { if ((!myRepository.CheckForAssignedProducts(CategoryID)) & (!myRepository.ParentCategoryExists(Category))) { myRepository.AssignCategoryAsParent(CategoryID, Category, ImageURL); return true; } else { return false; } } } else { if ((!myRepository.CheckForAssignedProducts(CategoryID)) & (!myRepository.ParentCategoryExists(Category))) { myRepository.AssignCategoryAsParent(CategoryID, Category, ImageURL); return true; } else { return false; } } } else { return false; } } catch (Exception Exception) { throw Exception; } }