public JsonResult SaveFabricInfo(IEnumerable <FabricItemDet> fabricItemDet, FabricItem fabricItem)
        {
            var result = new
            {
                flag    = false,
                message = "Error occured. !",
                Id      = 0
            };

            try
            {
                var OpDate = DateTime.Now;
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        fabricItem.OpBy   = 1;
                        fabricItem.OpOn   = OpDate;
                        fabricItem.IsAuth = true;

                        db.FabricItem.Add(fabricItem);
                        db.SaveChanges();

                        //Dictionary<int, int> dictionary =
                        //        new Dictionary<int, int>();


                        foreach (var item in fabricItemDet)
                        {
                            item.FabricItemId = fabricItem.Id;
                            db.FabricItemDet.Add(item);
                            db.SaveChanges();

                            //dictionary.Add(item.TempOrderDetId, OrderD.Id);
                            //dictionary.Add(item.BuyerOrderMasId, item.Id);
                        }



                        dbContextTransaction.Commit();

                        result = new
                        {
                            flag    = true,
                            message = "Saving successful !!",
                            Id      = fabricItem.Id
                        };

                        Success("Record saved successfully.", true);
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();

                        result = new
                        {
                            flag    = false,
                            message = ex.Message,
                            Id      = 0
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                result = new
                {
                    flag    = false,
                    message = ex.Message,
                    Id      = 0
                };
            }


            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public JsonResult UpdateFabricInfo(IEnumerable <FabricItemDet> fabricItemDet, FabricItem fabricItem, int[] DeletedItems)
        {
            var result = new
            {
                flag    = false,
                message = "Error occured. !"
            };

            //return Json(result, JsonRequestBehavior.AllowGet);

            try
            {
                var OpDate = DateTime.Now;
                using (var dbContextTransaction = db.Database.BeginTransaction())
                {
                    try
                    {
                        var fabricMas = db.FabricItem.Find(fabricItem.Id);

                        if (fabricMas == null)
                        {
                            result = new
                            {
                                flag    = false,
                                message = "Invalid Id. Saving failed !"
                            };

                            return(Json(result, JsonRequestBehavior.AllowGet));
                        }

                        fabricMas.FabricTypeId    = fabricItem.FabricTypeId;
                        fabricMas.OpBy            = 1;
                        fabricMas.OpOn            = OpDate;
                        fabricMas.IsAuth          = true;
                        db.Entry(fabricMas).State = EntityState.Modified;
                        db.SaveChanges();

                        //---- Delete MasterLCInfoOrderDet, MasterLCInfoDet

                        //if (fabricItemDet != null)
                        //{
                        //    foreach (var item in fabricItemDet)
                        //    {
                        //        var orderDets = db.FabricItemDet.Find(item);

                        //        if (orderDets != null)
                        //        {
                        //            db.FabricItemDet.Remove(orderDets);
                        //        }
                        //        db.SaveChanges();
                        //    }
                        //}

                        //if (DeletedItems != null)
                        //{
                        //    foreach (var item in DeletedItems)
                        //    {

                        //        var orderDets = db.FabricItemDet.Where(x => x.Id == item);

                        //        if (orderDets != null)
                        //        {
                        //            db.FabricItemDet.RemoveRange(orderDets);
                        //        }

                        //        var delLCDet = db.FabricItemDet.Find(item);
                        //        db.FabricItemDet.Remove(delLCDet);
                        //        db.SaveChanges();
                        //    }
                        //}

                        //Dictionary<int, int> dictionary =
                        //        new Dictionary<int, int>();

                        foreach (var item in fabricItemDet)
                        {
                            item.FabricItemId    = fabricItem.Id;
                            db.Entry(item).State = item.Id == 0 ?
                                                   EntityState.Added :
                                                   EntityState.Modified;

                            db.SaveChanges();

                            //  dictionary.Add(item.BuyerOrderMasId, item.Id);
                        }


                        if (DeletedItems != null)
                        {
                            foreach (var item in DeletedItems)
                            {
                                var delOrder = db.FabricItemDet.Find(item);
                                db.FabricItemDet.Remove(delOrder);
                                db.SaveChanges();
                            }
                        }


                        dbContextTransaction.Commit();

                        result = new
                        {
                            flag    = true,
                            message = "Update successful !!"
                        };

                        Success("Updated successfully.", true);
                    }
                    catch (Exception ex)
                    {
                        dbContextTransaction.Rollback();

                        result = new
                        {
                            flag    = false,
                            message = ex.Message
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                result = new
                {
                    flag    = false,
                    message = ex.Message
                };
            }


            return(Json(result, JsonRequestBehavior.AllowGet));
        }