public ActionResult Create(ProductVM productVM)
        {
            string ErrorMessage = string.Empty;

            //TODO : Dropdown
            var Issuccess = GetAllCategoryByIsActive(out List <CategoryVM> categoriesVM);

            if (Issuccess)
            {
                productVM.categories = categoriesVM;
            }
            else
            {
                throw new Exception();
            }


            if (ModelState.IsValid)
            {
                //TODO : Mapping
                Product product = new Product()
                {
                    Id         = productVM.Id,
                    Name       = productVM.Name,
                    Price      = productVM.Price,
                    CategoryId = productVM.CategoryId,
                    IsActive   = productVM.IsActive,
                };

                //TODO : Calling Data Layer
                var IsSuccess = dalProduct.Insert(out ErrorMessage, product);

                if (IsSuccess)
                {
                    return(RedirectToAction("GetAll"));
                }
                else
                {
                    ErrorMessage = ErrorClass + " | " + ErrorMessage;
                    throw new Exception(ErrorMessage);
                }
            }

            return(View(productVM));
        }