public ActionResult Edit(int id)
 {
     TempData["SuccessMsg"] = "";
     TempData["FailedMsg"]  = "";
     if (id > 0)
     {
         var data = db.ProductSubCategory.Find(id);
         if (data == null)
         {
             TempData["FailedMsg"] = "Sub-Category Not Found";
         }
         else
         {
             var model = new VmProductSubCategoryAdd
             {
                 ProductCategoryHeaderId    = data.ProductCategoryHeaderId,
                 ProductSubCategoryName     = data.ProductSubCategoryName,
                 ProductSubCategoryHeaderId = data.ProductSubCategoryHeaderId
             };
             ViewBag.CategoryList = db.ProductCategory.Select(s => new VmSelectList {
                 Id = s.ProductCategoryHeaderId, Name = s.ProductCategoryName
             });
             return(View(model));
         }
     }
     else
     {
         TempData["FailedMsg"] = "Invalid Url";
     }
     return(Redirect(Request.UrlReferrer.ToString()));
 }
 public ActionResult Add(VmProductSubCategoryAdd model, HttpPostedFileBase file)
 {
     TempData["SuccessMsg"] = "";
     TempData["FailedMsg"]  = "";
     if (ModelState.IsValid)
     {
         try
         {
             if (db.ProductSubCategory.Any(a => a.ProductCategoryHeaderId == model.ProductCategoryHeaderId && a.ProductSubCategoryName == model.ProductSubCategoryName))
             {
                 TempData["FailedMsg"] = "Sub-Category Already Exist";
             }
             else
             {
                 #region Image Upload
                 var uri = Request.Url.Host;
                 System.IO.Directory.CreateDirectory(Server.MapPath("~/Images/ProductSubCategory/" + uri));
                 string path = "";
                 if (file != null)
                 {
                     string pic          = System.IO.Path.GetFileName(file.FileName);
                     string physicalPath =
                         System.IO.Path.Combine(Server.MapPath("~/Images/ProductSubCategory/" + uri), pic);
                     path = "/Images/ProductSubCategory/" + uri + "/" + pic;
                     file.SaveAs(physicalPath);
                     model.ImageUrl = path;
                 }
                 #endregion
                 var newData = new ProductSubCategory {
                     ProductCategoryHeaderId = model.ProductCategoryHeaderId,
                     ProductSubCategoryName  = model.ProductSubCategoryName,
                     ImageUrl = model.ImageUrl,
                     ProductSubCategoryHeaderId = 0
                 };
                 db.ProductSubCategory.Add(newData);
                 db.SaveChanges();
                 TempData["SuccessMsg"] = "Sub-Category Added Successfully";
                 return(RedirectToAction("Index"));
             }
         }
         catch (Exception e)
         {
             TempData["FailedMsg"] = e.Message;
         }
     }
     else
     {
         TempData["FailedMsg"] = "Failed";
     }
     ViewBag.CategoryList = db.ProductCategory.Select(s => new VmSelectList {
         Id = s.ProductCategoryHeaderId, Name = s.ProductCategoryName
     });
     return(View(model));
 }