public ActionResult EditData(FireExtinguisherViewModel[] item)
        {
            string status  = "success";
            string message = "";

            try
            {
                int headerId = item[0].ID;
                foreach (var detail in item)
                {
                    var d = _context.InergenTankDetails
                            .Where(a => a.InergenTankHeaderId == headerId)

                            .Where(a => a.ItemId == detail.ItemId)
                            .FirstOrDefault();

                    if (d == null)
                    {
                        var _detail = new InergenTankDetail
                        {
                            ItemId   = detail.ItemId,
                            Cylinder = Convert.ToInt32(detail.Cylinder),
                            Gauge    = Convert.ToInt32(detail.Gauge),
                            Hose     = Convert.ToInt32(detail.Hose),
                            Pressure = Convert.ToInt32(detail.Pressure),

                            CreatedAt           = DateTime.Now.Date,
                            UpdatedAt           = DateTime.Now,
                            InergenTankHeaderId = headerId,
                            Remarks             = detail.Remarks,
                            //InspectedBy = detail.InspectedBy,
                            //ReviewedBy = detail.ReviewedBy,
                            //NotedBy = detail.NotedBy
                        };

                        _context.Add(_detail);
                    }
                    else
                    {
                        d.Cylinder = Convert.ToInt32(detail.Cylinder);
                        d.Gauge    = Convert.ToInt32(detail.Gauge);
                        d.Hose     = Convert.ToInt32(detail.Hose);
                        d.Pressure = Convert.ToInt32(detail.Pressure);

                        d.UpdatedAt           = DateTime.Now;
                        d.UpdatedBy           = User.Identity.GetUserName();
                        d.InergenTankHeaderId = headerId;
                        d.Remarks             = detail.Remarks;
                        //d.InspectedBy = detail.InspectedBy;
                        //d.ReviewedBy = detail.ReviewedBy;
                        //d.NotedBy = detail.NotedBy;
                        _context.Update(d);
                    }
                    _context.SaveChanges();
                }
            }
            catch (Exception e)
            {
                status  = "fail";
                message = e.InnerException.Message;
            }


            var model = new
            {
                status
                ,
                message
            };

            return(Json(model));
        }
        public IActionResult SaveData(FireExtinguisherViewModel[] item)
        {
            int    headerId = 0;
            string status   = "";
            string message  = "";

            string series = "";
            string refno  = "";

            //string series_code = "INERGENTANK";
            //series = new NoSeriesController(_context).GetNoSeries(series_code);
            //refno = "IT" + series;


            try
            {
                //var _header = _context.InergenTankHeaders.Where(a => a.Status == "Active")
                //      //.Where(a => a.AreaId == item[0].AreaId)
                //    .Where(a => a.LocationInergenTankId == item[0].LocationInergenTankId)
                //    .Where(a => a.CreatedAt == DateTime.Now.Date);
                var _header = _context.InergenTankHeaders
                              .Where(a => a.AreaId == item[0].AreaId)
                              .Where(a => a.Status == "Active")
                              .Where(a => a.DocumentStatus != "Approved");
                if (_header.Count() == 0)
                {
                    var comp = _context.LocationInergenTanks.Include(a => a.Areas.Companies).Where(a => a.Id == item[0].LocationInergenTankId)
                               .FirstOrDefault().Areas.Companies.Code;

                    if (comp == "SCPC")
                    {
                        comp = "SC";
                    }
                    else
                    {
                        comp = "SL";
                    }
                    string series_code = comp + "INERGENTANK";
                    series = new NoSeriesController(_context).GetNoSeries(series_code);
                    refno  = comp + "IT" + series;


                    InergenTankHeader header = new InergenTankHeader
                    {
                        ReferenceNo = refno,
                        AreaId      = item[0].AreaId,
                        CreatedAt   = DateTime.Now.Date,
                        CreatedBy   = User.Identity.GetFullName()
                    };
                    _context.Add(header);
                    _context.SaveChanges();
                    headerId = header.Id;

                    string x = new NoSeriesController(_context).UpdateNoSeries(series, series_code);



                    foreach (var detail in item)
                    {
                        var _detail = new InergenTankDetail
                        {
                            ItemId = detail.ItemId,

                            Cylinder = Convert.ToInt32(detail.Cylinder),
                            Gauge    = Convert.ToInt32(detail.Gauge),
                            Hose     = Convert.ToInt32(detail.Hose),
                            Pressure = Convert.ToInt32(detail.Pressure),

                            CreatedAt             = DateTime.Now.Date,
                            UpdatedAt             = DateTime.Now.Date,
                            InergenTankHeaderId   = headerId,
                            Remarks               = detail.Remarks,
                            InspectedBy           = detail.InspectedBy,
                            ReviewedBy            = detail.ReviewedBy,
                            NotedBy               = detail.NotedBy,
                            LocationInergenTankId = detail.LocationInergenTankId,
                        };

                        _context.Add(_detail);
                    }
                }
                else
                {
                    //headerId = item[0].ID;
                    headerId = _header.FirstOrDefault().Id;
                    foreach (var detail in item)
                    {
                        var d = _context.InergenTankDetails
                                .Where(a => a.InergenTankHeaderId == headerId)
                                .Where(a => a.LocationInergenTankId == detail.LocationInergenTankId)
                                .Where(a => a.ItemId == detail.ItemId)
                                .FirstOrDefault();

                        if (d == null)
                        {
                            var _detail = new InergenTankDetail
                            {
                                ItemId   = detail.ItemId,
                                Cylinder = Convert.ToInt32(detail.Cylinder),
                                Gauge    = Convert.ToInt32(detail.Gauge),
                                Hose     = Convert.ToInt32(detail.Hose),
                                Pressure = Convert.ToInt32(detail.Pressure),

                                CreatedAt             = DateTime.Now.Date,
                                UpdatedAt             = DateTime.Now,
                                InergenTankHeaderId   = headerId,
                                Remarks               = detail.Remarks,
                                InspectedBy           = detail.InspectedBy,
                                ReviewedBy            = detail.ReviewedBy,
                                NotedBy               = detail.NotedBy,
                                LocationInergenTankId = detail.LocationInergenTankId,
                            };

                            _context.Add(_detail);
                        }
                        else
                        {
                            d.Cylinder = Convert.ToInt32(detail.Cylinder);
                            d.Gauge    = Convert.ToInt32(detail.Gauge);
                            d.Hose     = Convert.ToInt32(detail.Hose);
                            d.Pressure = Convert.ToInt32(detail.Pressure);

                            d.UpdatedAt             = DateTime.Now;
                            d.UpdatedBy             = User.Identity.GetUserName();
                            d.InergenTankHeaderId   = headerId;
                            d.Remarks               = detail.Remarks;
                            d.InspectedBy           = detail.InspectedBy;
                            d.ReviewedBy            = detail.ReviewedBy;
                            d.NotedBy               = detail.NotedBy;
                            d.LocationInergenTankId = detail.LocationInergenTankId;
                            _context.Update(d);
                        }
                        _context.SaveChanges();
                    }
                }



                _context.SaveChanges();
                status = "success";
            }
            catch (Exception ex)
            {
                status  = "failed";
                message = ex.InnerException.Message;
            }



            var model = new
            {
                status
                ,
                message,
                ReferenceId = headerId
            };

            return(Json(model));
        }