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