/// <summary>
        /// Edit Product Grade
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task <IActionResult> Edit(int id)
        {
            ProductGradeViewModel model = await generateAPIResponse.ProductGradeViewRepo.GetByID("productgrade", id);

            if (model != null)
            {
                return(View("Create", model));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }
        /// <summary>
        /// Save & Update Product Grade Details with Post & Put Methods of the Web APIs.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="action"></param>
        /// <returns></returns>
        private async Task <IActionResult> SaveProductGradeDetails(ProductGradeViewModel model, String action)
        {
            try
            {
                var response = false;

                // Call Post Method to Create New Product Grade Details
                if (action.ToLower() == "create")
                {
                    response = await generateAPIResponse.ProductGradeViewRepo.Save("productgrade", model);

                    ViewBag.Message = "Product Grade record has been created successfully.";
                }
                // Call Put Method to Update Existing Product Grade Details
                else
                {
                    response = await generateAPIResponse.ProductGradeViewRepo.Update("productgrade/" + model.ProductGradeID, model);

                    ViewBag.Message = "Product Grade record has been updated successfully.";
                }

                if (response)
                {
                    ViewBag.Class = "text-success";
                    return(await RedirectToIndex());
                }
                else
                {
                    ViewBag.Message = null;
                    return(View("Create", model));
                }
            }
            catch (Exception ex)
            {
                ViewBag.Message = "Something went wrong: " + ex.Message;
            }
            return(View("Create", model));
        }
 public async Task <IActionResult> Create(ProductGradeViewModel model)
 {
     return(await SaveProductGradeDetails(model, "Create"));
 }
 public async Task <IActionResult> Edit(ProductGradeViewModel model)
 {
     return(await SaveProductGradeDetails(model, "Edit"));
 }