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

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

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

                    if (d == null)
                    {
                        var _detail = new EmergencyLightDetail
                        {
                            ItemId  = detail.ItemId,
                            Battery = Convert.ToInt32(detail.Battery),
                            Bulb    = Convert.ToInt32(detail.Bulb),
                            Usable  = Convert.ToInt32(detail.Usable),

                            CreatedAt = DateTime.Now.Date,
                            UpdatedAt = DateTime.Now,
                            EmergencyLightHeaderId = headerId,
                            Remarks = detail.Remarks,

                            //InspectedBy = detail.InspectedBy,
                            //ReviewedBy = detail.ReviewedBy,
                            //NotedBy = detail.NotedBy
                        };

                        _context.Add(_detail);
                    }
                    else
                    {
                        d.Battery = Convert.ToInt32(detail.Battery);
                        d.Bulb    = Convert.ToInt32(detail.Bulb);
                        d.Usable  = Convert.ToInt32(detail.Usable);

                        d.UpdatedAt = DateTime.Now;
                        d.UpdatedBy = User.Identity.GetUserName();
                        d.EmergencyLightHeaderId = headerId;
                        d.Remarks = detail.Remarks;
                        //d.InspectedBy = detail.InspectedBy;
                        //d.ReviewedBy = detail.ReviewedBy;
                        //d.NotedBy = detail.NotedBy;
                        _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(EmergencyLightViewModel[] item)
        {
            int    headerId = 0;
            string status   = "";
            string message  = "";

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

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


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

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

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


                    EmergencyLightHeader header = new EmergencyLightHeader
                    {
                        //header.AreaId = item[0].AreaId;
                        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 EmergencyLightDetail
                        {
                            ItemId  = detail.ItemId,
                            Battery = Convert.ToInt32(detail.Battery),
                            Bulb    = Convert.ToInt32(detail.Bulb),
                            Usable  = Convert.ToInt32(detail.Usable),

                            CreatedAt = DateTime.Now.Date,
                            UpdatedAt = DateTime.Now.Date,
                            EmergencyLightHeaderId = headerId,
                            Remarks = detail.Remarks,

                            InspectedBy = detail.InspectedBy,
                            ReviewedBy  = detail.ReviewedBy,
                            NotedBy     = detail.NotedBy,
                            LocationEmergencyLightId = detail.LocationEmergencyLightId
                        };

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

                    foreach (var detail in item)
                    {
                        var d = _context.EmergencyLightDetails
                                .Where(a => a.EmergencyLightHeaderId == headerId)
                                .Where(a => a.LocationEmergencyLightId == detail.LocationEmergencyLightId)
                                .Where(a => a.ItemId == detail.ItemId)
                                .FirstOrDefault();

                        if (d == null)
                        {
                            var _detail = new EmergencyLightDetail
                            {
                                ItemId  = Convert.ToInt32(detail.ItemId),
                                Battery = Convert.ToInt32(detail.Battery),
                                Bulb    = Convert.ToInt32(detail.Bulb),
                                Usable  = Convert.ToInt32(detail.Usable),

                                CreatedAt = DateTime.Now.Date,
                                UpdatedAt = DateTime.Now,
                                EmergencyLightHeaderId = headerId,
                                Remarks = detail.Remarks,

                                InspectedBy = detail.InspectedBy,
                                ReviewedBy  = detail.ReviewedBy,
                                NotedBy     = detail.NotedBy,
                                LocationEmergencyLightId = detail.LocationEmergencyLightId,
                            };

                            _context.Add(_detail);
                        }
                        else
                        {
                            d.Battery = Convert.ToInt32(detail.Battery);
                            d.Bulb    = Convert.ToInt32(detail.Bulb);
                            d.Usable  = Convert.ToInt32(detail.Usable);

                            d.UpdatedAt = DateTime.Now;
                            d.UpdatedBy = User.Identity.GetUserName();
                            d.EmergencyLightHeaderId = headerId;
                            d.Remarks     = detail.Remarks;
                            d.InspectedBy = detail.InspectedBy;
                            d.ReviewedBy  = detail.ReviewedBy;
                            d.NotedBy     = detail.NotedBy;
                            d.LocationEmergencyLightId = detail.LocationEmergencyLightId;
                            _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));
        }