Пример #1
0
        public ActionResult EditData(FireHydrantViewModel[] item)
        {
            string status  = "success";
            string message = "";

            try
            {
                int headerId = item[0].ID;

                foreach (var detail in item)
                {
                    var d = _context.FireHydrantDetails
                            .Where(a => a.FireHydrantHeaderId == headerId)
                            .Where(a => a.ItemId == detail.ItemId)
                            .FirstOrDefault();

                    if (d == null)
                    {
                        var _detail = new FireHydrantDetail
                        {
                            ItemId = detail.ItemId,

                            GlassCabinet = Convert.ToInt32(detail.GlassCabinet),
                            Hanger       = Convert.ToInt32(detail.Hanger),
                            Hose15       = Convert.ToInt32(detail.Hose15),
                            Nozzle15     = Convert.ToInt32(detail.Nozzle15),
                            Hose25       = Convert.ToInt32(detail.Hose25),
                            Nozzle25     = Convert.ToInt32(detail.Nozzle25),
                            SpecialTools = Convert.ToInt32(detail.SpecialTools),

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

                        _context.Add(_detail);
                    }
                    else
                    {
                        d.GlassCabinet = Convert.ToInt32(detail.GlassCabinet);
                        d.Hanger       = Convert.ToInt32(detail.Hanger);
                        d.Hose15       = Convert.ToInt32(detail.Hose15);
                        d.Nozzle15     = Convert.ToInt32(detail.Nozzle15);
                        d.Hose25       = Convert.ToInt32(detail.Hose25);
                        d.Nozzle25     = Convert.ToInt32(detail.Nozzle25);
                        d.SpecialTools = Convert.ToInt32(detail.SpecialTools);


                        d.InspectedBy         = detail.InspectedBy;
                        d.Remarks             = detail.Remarks;
                        d.NotedBy             = detail.NotedBy;
                        d.UpdatedAt           = DateTime.Now;
                        d.UpdatedBy           = User.Identity.GetUserName();
                        d.FireHydrantHeaderId = headerId;
                        d.ReviewedBy          = detail.ReviewedBy;

                        _context.Update(d);
                    }
                    _context.SaveChanges();
                }
                status = "success";
            }
            catch (Exception e)
            {
                status  = "fail";
                message = e.InnerException.Message;
            }


            var model = new
            {
                status
                ,
                message
            };

            return(Json(model));
        }
Пример #2
0
        public IActionResult SaveData(FireHydrantViewModel[] item)
        {
            string series = "";
            string refno  = "";
            //string series_code = "FIREHYDRANT";
            //series = new NoSeriesController(_context).GetNoSeries(series_code);
            //refno = "FH" + series;

            int    headerId = 0;
            string status   = "";
            string message  = "";

            try
            {
                //var _header = _context.FireHydrantHeaders.Where(a => a.Status == "Active")
                //// .Where(a => a.AreaId == item[0].AreaId)
                //.Where(a => a.LocationFireHydrantId == item[0].LocationFireHydrantId)
                //.Where(a => a.CreatedAt == DateTime.Now.Date);

                var _header = _context.FireHydrantHeaders
                              .Where(a => a.AreaId == item[0].AreaId)
                              .Where(a => a.Status == "Active")
                              .Where(a => a.DocumentStatus != "Approved");

                if (_header.Count() == 0)
                {
                    var comp = _context.LocationFireHydrants.Include(a => a.Areas.Companies).Where(a => a.Id == item[0].LocationFireHydrantId).FirstOrDefault()
                               .Areas.Companies.Code;
                    if (comp == "SCPC")
                    {
                        comp = "SC";
                    }
                    else
                    {
                        comp = "SL";
                    }
                    string series_code = comp + "FIREHYDRANT";
                    series = new NoSeriesController(_context).GetNoSeries(series_code);
                    refno  = comp + "FH" + series;


                    FireHydrantHeader header = new FireHydrantHeader
                    {
                        ReferenceNo = refno,
                        //LocationFireHydrantId = item[0].LocationFireHydrantId,
                        AreaId    = item[0].AreaId,
                        CreatedAt = DateTime.Now.Date,
                        CreatedBy = User.Identity.GetFullName()
                    };
                    _context.Add(header);
                    _context.SaveChanges();
                    string x = new NoSeriesController(_context).UpdateNoSeries(series, series_code);
                    headerId = header.Id;

                    foreach (var detail in item)
                    {
                        var _detail = new FireHydrantDetail
                        {
                            ItemId                = detail.ItemId,
                            GlassCabinet          = Convert.ToInt32(detail.GlassCabinet),
                            Hanger                = Convert.ToInt32(detail.Hanger),
                            Hose15                = Convert.ToInt32(detail.Hose15),
                            Nozzle15              = Convert.ToInt32(detail.Nozzle15),
                            Hose25                = Convert.ToInt32(detail.Hose25),
                            Nozzle25              = Convert.ToInt32(detail.Nozzle25),
                            SpecialTools          = Convert.ToInt32(detail.SpecialTools),
                            InspectedBy           = detail.InspectedBy,
                            ReviewedBy            = detail.ReviewedBy,
                            NotedBy               = detail.NotedBy,
                            CreatedAt             = DateTime.Now.Date,
                            UpdatedAt             = DateTime.Now.Date,
                            FireHydrantHeaderId   = headerId,
                            Remarks               = detail.Remarks,
                            LocationFireHydrantId = detail.LocationFireHydrantId,
                        };

                        _context.Add(_detail);
                    }
                }
                else
                {
                    headerId = _header.FirstOrDefault().Id;

                    foreach (var detail in item)
                    {
                        var d = _context.FireHydrantDetails
                                .Where(a => a.FireHydrantHeaderId == headerId)
                                .Where(a => a.LocationFireHydrantId == item[0].LocationFireHydrantId)
                                .Where(a => a.ItemId == detail.ItemId)
                                .FirstOrDefault();

                        if (d == null)
                        {
                            var _detail = new FireHydrantDetail
                            {
                                ItemId = detail.ItemId,


                                GlassCabinet = Convert.ToInt32(detail.GlassCabinet),
                                Hanger       = Convert.ToInt32(detail.Hanger),
                                Hose15       = Convert.ToInt32(detail.Hose15),
                                Nozzle15     = Convert.ToInt32(detail.Nozzle15),
                                Hose25       = Convert.ToInt32(detail.Hose25),
                                Nozzle25     = Convert.ToInt32(detail.Nozzle25),
                                SpecialTools = Convert.ToInt32(detail.SpecialTools),


                                InspectedBy = detail.InspectedBy,
                                ReviewedBy  = detail.ReviewedBy,
                                NotedBy     = detail.NotedBy,

                                LocationFireHydrantId = detail.LocationFireHydrantId,


                                CreatedAt           = DateTime.Now.Date,
                                UpdatedAt           = DateTime.Now,
                                FireHydrantHeaderId = headerId,
                                Remarks             = detail.Remarks
                            };

                            _context.Add(_detail);
                        }
                        else
                        {
                            d.GlassCabinet = Convert.ToInt32(detail.GlassCabinet);
                            d.Hanger       = Convert.ToInt32(detail.Hanger);
                            d.Hose15       = Convert.ToInt32(detail.Hose15);
                            d.Nozzle15     = Convert.ToInt32(detail.Nozzle15);
                            d.Hose25       = Convert.ToInt32(detail.Hose25);
                            d.Nozzle25     = Convert.ToInt32(detail.Nozzle25);
                            d.SpecialTools = Convert.ToInt32(detail.SpecialTools);


                            d.InspectedBy = detail.InspectedBy;
                            d.Remarks     = detail.Remarks;
                            d.NotedBy     = detail.NotedBy;

                            d.LocationFireHydrantId = detail.LocationFireHydrantId;



                            d.UpdatedAt           = DateTime.Now;
                            d.UpdatedBy           = User.Identity.GetUserName();
                            d.FireHydrantHeaderId = headerId;
                            d.ReviewedBy          = detail.ReviewedBy;

                            _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));
        }