public ActionResult FileUpload(int id)
        {
            HttpPostedFile myFile = System.Web.HttpContext.Current.Request.Files["UploadedImage"];// Request.Files["MyFile"];

            string fName = myFile.FileName;
            string fileExtenstion = FileProcessor.GetFileExtension(fName);

            string path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("/Content/Assets/Images/Products/Originals"), Path.GetFileName(myFile.FileName));
            string purePath = System.Web.HttpContext.Current.Server.MapPath("/Content/Assets/Images/Products");

            var fileUpload = new FileUpload();

            fileUpload.Upload(myFile, path);

            #region Generate small and large image

            ResizeSettings settings_sm = new ResizeSettings();
            ResizeSettings settings_lg = new ResizeSettings();

            switch (fileExtenstion)
            {
                case ".png":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=png");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=png");
                    break;
                case ".jpg":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=jpg");
                    break;
                case ".jepg":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=jpg");
                    break;
                case ".gif":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=gif");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=gif");
                    break;
                default:
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=3000&crop=auto&format=jpg");
                    break;

            }

            string fileName_sm = "product_" + id + "_sm";
            string fileName_lg = "product" + id + "_lg";

            string newFileName_sm = Path.Combine(purePath, fileName_sm);
            string newFileName_lg = Path.Combine(purePath, fileName_lg);

            ImageBuilder.Current.Build(myFile, newFileName_sm, settings_sm, false,
                  true);
            ImageBuilder.Current.Build(myFile, newFileName_lg, settings_lg, false,
               true);

            #endregion

            //Update image url in db
            var product = _productServices.FindProductById(id);

            product.ProductImgSmallUrl = "/Content/Assets/Images/products/" + fileName_sm + fileExtenstion;
            product.ProductImgLargeUrl = "/Content/Assets/Images/products/" + fileName_lg + fileExtenstion;

            _productServices.UpdateProductImg(product);

            return Json("Image has been updated!");
        }
        public ActionResult FileUpload(int id)
        {
            HttpPostedFile myFile = System.Web.HttpContext.Current.Request.Files["UploadedImage"];// Request.Files["MyFile"];

            string fName = myFile.FileName;
            string fileExtenstion = FileProcessor.GetFileExtension(fName);

            string path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("/Content/Assets/Images"), Path.GetFileName(myFile.FileName));
            string purePath = System.Web.HttpContext.Current.Server.MapPath("/Content/Assets/Images");

            var fileUpload = new FileUpload();

            fileUpload.Upload(myFile, path);

            #region Generate small and large image

            ResizeSettings settings_sm = new ResizeSettings();
            ResizeSettings settings_lg = new ResizeSettings();

            switch (fileExtenstion)
            {
                case ".png":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=png");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=png");
                    break;
                case ".jpg":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=jpg");
                    break;
                case ".jepg":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=jpg");
                    break;
                case ".gif":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=gif");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=gif");
                    break;
                default:
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=3000&crop=auto&format=jpg");
                    break;

            }

            string fileName_sm = "category_" + id + "_sm";
            string fileName_lg = "category_" + id + "_lg";

            string newFileName_sm = Path.Combine(purePath, fileName_sm);
            string newFileName_lg = Path.Combine(purePath, fileName_lg);

            ImageBuilder.Current.Build(myFile, newFileName_sm, settings_sm, false,
                  true);
            ImageBuilder.Current.Build(myFile, newFileName_lg, settings_lg, false,
               true);

            //int fileDim_sm_x = 60;
            //int fileDim_sm_y = 60;

            //string fileName_sm = "category_"  + id + "_sm" + fileExtenstion;

            //Image img = Image.FromFile(path);

            //if (img.Width > fileDim_sm_x || img.Height > fileDim_sm_y)
            //{
            //    //resize image
            //    //

            //    ImageProcessor.SaveResizedImage(purePath, fName, fileName_sm, fileDim_sm_x, fileDim_sm_y);
            //}

            #endregion

            //Update image url in db
            var category = _categoryService.FindCategoryById(id);

            category.ProductCategoryImgSamllUrl = "/Content/Assets/Images/" + fileName_sm + fileExtenstion;
            category.ProductCategoryImgLargeUrl = "/Content/Assets/Images/" + fileName_lg + fileExtenstion;

            _categoryService.UpdateCategory(category);

            return Json("Image has been updated!");
        }
        public ActionResult AdditionalImageUploade(int id)
        {
            HttpPostedFile myFile = System.Web.HttpContext.Current.Request.Files["UploadedImage"];// Request.Files["MyFile"];

            string fName = myFile.FileName;
            string fileExtenstion = FileProcessor.GetFileExtension(fName);

            string path = Path.Combine(System.Web.HttpContext.Current.Server.MapPath("/Content/Assets/Images/Products/Originals"), Path.GetFileName(myFile.FileName));
            string purePath = System.Web.HttpContext.Current.Server.MapPath("/Content/Assets/Images/Products");

            var fileUpload = new FileUpload();

            fileUpload.Upload(myFile, path);

            #region Generate small and large image

            ResizeSettings settings_sm = new ResizeSettings();
            ResizeSettings settings_lg = new ResizeSettings();

            switch (fileExtenstion)
            {
                case ".png":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=png");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=png");
                    break;
                case ".jpg":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=jpg");
                    break;
                case ".jepg":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=jpg");
                    break;
                case ".gif":
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=gif");
                    settings_lg = new ResizeSettings("width=400&height=300&crop=auto&format=gif");
                    break;
                default:
                    settings_sm = new ResizeSettings("width=60&height=60&crop=auto&format=jpg");
                    settings_lg = new ResizeSettings("width=400&height=3000&crop=auto&format=jpg");
                    break;

            }

            //counter = counter + 1;

            Guid guid = Guid.NewGuid();

            string fileName_addi_sm = "product_" + id + "addi_sm_" + guid;
            string fileName_addi_lg = "product" + id + "addi_lg_" + guid;

            string fileUrl_sm = "/Content/Assets/Images/products/" + fileName_addi_sm + fileExtenstion;
            string fileUrl_lg = "/Content/Assets/Images/products/" + fileName_addi_lg + fileExtenstion;

            string newFileName_sm = Path.Combine(purePath, fileName_addi_sm);
            string newFileName_lg = Path.Combine(purePath, fileName_addi_lg);

            ImageBuilder.Current.Build(myFile, newFileName_sm, settings_sm, false,
                  true);
            ImageBuilder.Current.Build(myFile, newFileName_lg, settings_lg, false,
               true);

            #endregion

            //Add to database
            AddProductImages(id, fileUrl_sm, fileUrl_lg);

            return Json("Image loaded successfully!");
        }