public async Task <ApiResponse> AddVesselMaster(TblVesselMaster tblVesselMaster) { _context.TblVesselMaster.Add(tblVesselMaster); await _context.SaveChangesAsync(); List <TblVesselRoute> vesselRouteDetail = JsonConvert.DeserializeObject <List <TblVesselRoute> >(tblVesselMaster.VesselRouteDetail.ToString()); for (int i = 0; i < vesselRouteDetail.Count; i++) { TblVesselRoute objVesselRoute = new TblVesselRoute(); objVesselRoute.PortId = vesselRouteDetail[i].PortId; objVesselRoute.VesselMasterId = tblVesselMaster.Id; objVesselRoute.Type = vesselRouteDetail[i].Type; objVesselRoute.LastPuttingdate = vesselRouteDetail[i].LastPuttingdate; _context.TblVesselRoute.Add(objVesselRoute); await _context.SaveChangesAsync(); } var ApiResponse = await response.ApiResult("OK", new { id = tblVesselMaster.Id }, "Record Add "); return(ApiResponse); }
public async Task <ApiResponse> updateVesselMaster(TblVesselMaster tblVesselMaster) { _context.Entry(tblVesselMaster).State = EntityState.Modified; _context.Entry(tblVesselMaster).Property(i => i.RecordDate).IsModified = false; try { await _context.SaveChangesAsync(); //remove vessel Route var listVesselRoute = await _context.TblVesselRoute.Where(i => i.VesselMasterId == tblVesselMaster.Id).ToListAsync(); _context.TblVesselRoute.RemoveRange(listVesselRoute); await _context.SaveChangesAsync(); List <TblVesselRoute> vesselRouteDetail = JsonConvert.DeserializeObject <List <TblVesselRoute> >(tblVesselMaster.VesselRouteDetail.ToString()); for (int i = 0; i < vesselRouteDetail.Count; i++) { TblVesselRoute objVesselRoute = new TblVesselRoute(); objVesselRoute.PortId = vesselRouteDetail[i].PortId; objVesselRoute.VesselMasterId = tblVesselMaster.Id; objVesselRoute.Type = vesselRouteDetail[i].Type; objVesselRoute.LastPuttingdate = vesselRouteDetail[i].LastPuttingdate; _context.TblVesselRoute.Add(objVesselRoute); await _context.SaveChangesAsync(); } var ApiResponse = await response.ApiResult("OK", "", "Record Update"); return(ApiResponse); } catch (DbUpdateConcurrencyException ex) { var ApiResponseEX = await response.ApiResult("OK", ex, "Record Found"); return(ApiResponseEX); } }