public async Task <ApiResponse> VesselDestinationPort(TblVesselMaster tblvessel) { var vesselnameList = await _context.TblVesselName.ToListAsync(); var portlist = await _context.TblPortMaster.ToListAsync(); var vesselroutlist = await _context.TblVesselRoute.ToListAsync(); var vesselmasterList = await _context.TblVesselMaster.ToListAsync(); var items = (from vm in vesselmasterList join vr in vesselroutlist on vm.Id equals vr.VesselMasterId join pl in portlist on vr.PortId equals pl.Id join vn in vesselnameList on vm.VesselNameId equals vn.Id where vm.Id == tblvessel.Id && vr.Type == "Destination" select new { vesselname = vn.VesselName, portname = pl.PortName, lastputtingdate = vr.LastPuttingdate, }).ToList(); var ApiResponse = await response.ApiResult("OK", items, "Record Found"); return(ApiResponse); }
public async Task <ApiResponse> GetVesselMasterById(TblVesselMaster objVessel) { var listvesselroute = await _context.TblVesselRoute.ToListAsync(); var listVesselMaster = await _context.TblVesselMaster.ToListAsync(); var items = (from lvm in listVesselMaster select new { id = lvm.Id, vesselNameId = lvm.VesselNameId, voyageNo = lvm.VoyageNo, vesselType = lvm.VesselType, isPackageDeal = lvm.IsPackageDeal, noOfContainer = lvm.NoOfContainer, yardId = lvm.YardId, shippingAgentid = lvm.ShippingAgentid, sourceCountryId = lvm.SourceCountryId, destinationCountryId = lvm.DestinationCountryId, eTDDate = lvm.Etddate, lastConsigneDate = lvm.LastConsigneDate, lastCFSDate = lvm.LastCfsdate, recordDate = lvm.RecordDate, updateDate = lvm.UpdateDate, deleteDate = lvm.DeleteDate , vesselRoute = listvesselroute.Where(i => i.VesselMasterId == objVessel.Id) }).Where(i => i.id == objVessel.Id).ToList(); var ApiResponse = await response.ApiResult("OK", items, "Record Found"); return(ApiResponse); }
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); } }