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

            Product product = new Product();

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

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

            //TODO : Mapping
            product.Id         = productVM.Id;
            product.Name       = productVM.Name;
            product.Price      = productVM.Price;
            product.CategoryId = productVM.CategoryId;
            product.IsActive   = productVM.IsActive;

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

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