public ActionResult Create()
 {
     try
     {
         var promotionalFreeItem = new PromotionalFreeItemViewModel
         {
             DateFrom = DateTime.Now,
             DateTo   = DateTime.Now,
             Active   = true,
             PromotionalFreeItemDetails = new List <PromotionalFreeItemDetailViewModel>()
         };
         promotionalFreeItem.PromotionalFreeItemDetails.Add(new PromotionalFreeItemDetailViewModel());
         return(View(promotionalFreeItem));
     }
     catch (Exception ex)
     {
         ViewBag.Fail = ex.Message;
         return(View());
     }
 }
 public JavaScriptResult Edit(PromotionalFreeItemViewModel promotionalFreeItemVm)
 {
     try
     {
         if (promotionalFreeItemVm.PromotionalFreeItemDetails.All(x => x.EligibleQuantity > 0))
         {
             var promotionalFreeItem        = Mapper.Map <PromotionalFreeItem>(promotionalFreeItemVm);
             var promotionalFreeItemDetails = Mapper.Map <List <PromotionalFreeItemDetail> >(promotionalFreeItemVm.PromotionalFreeItemDetails);
             promotionalFreeItem.PromotionalFreeItemDetails = new List <PromotionalFreeItemDetail>();
             foreach (var item in promotionalFreeItemDetails)
             {
                 promotionalFreeItem.PromotionalFreeItemDetails.Add(item);
             }
             _promotionalFreeItemService.Update(promotionalFreeItem);
             return(JavaScript($"ShowResult('{"Data Updated successfully."}','{"success"}','{"redirect"}','{"/APanel/PromotionalFreeItem/?dateFrom=" + promotionalFreeItemVm.DateFrom.ToString("dd-MMM-yyyy") + "&dateTo=" + promotionalFreeItemVm.DateTo.ToString("dd-MMM-yyyy")}')"));
         }
         return(JavaScript($"ShowResult('{"Enter quantity!"}','{"failure"}')"));
     }
     catch (Exception ex)
     {
         return(JavaScript($"ShowResult('{ex.Message}','{"failure"}')"));
     }
 }