public IActionResult Register([FromBody] PortCallDetails portCallDetails) { Console.WriteLine("DETAILS ID: " + portCallDetails.PortCallDetailsId + "\n\n\n"); if (!ValidateDetails(portCallDetails)) { return(BadRequest("Invalid port call details form data.")); } try { if (_context.PortCallDetails.Any(details => details.PortCallDetailsId == portCallDetails.PortCallDetailsId)) { _context.PortCallDetails.Update(portCallDetails); } else { _context.PortCallDetails.Add(portCallDetails); } _context.SaveChanges(); } catch (DbUpdateException ex) when(ex.InnerException is Npgsql.PostgresException) { Npgsql.PostgresException innerEx = (Npgsql.PostgresException)ex.InnerException; return(BadRequest("PostgreSQL Error Code: " + innerEx.SqlState)); } return(Json(portCallDetails)); }
private bool ValidateDetails(PortCallDetails portCallDetails) { return(portCallDetails != null && portCallDetails.PortCallId >= 0 && (portCallDetails.NumberOfCrew == null || portCallDetails.NumberOfCrew >= 0) && (portCallDetails.NumberOfPassengers == null || portCallDetails.NumberOfPassengers >= 0) && (portCallDetails.ActualDraught == null || portCallDetails.ActualDraught >= 0) && (portCallDetails.AirDraught == null || portCallDetails.AirDraught >= 0)); }
public IActionResult GetByPortCallId(int id) { PortCallDetails portCallDetails = _context.PortCallDetails.Where(details => details.PortCallId == id).FirstOrDefault(); if (portCallDetails == null) { return(NoContent()); } return(Json(portCallDetails)); }
public IActionResult Update([FromBody] PortCallDetails portCallDetails) { if (!ValidateDetails(portCallDetails)) { return(BadRequest("Invalid port call details from data.")); } try { _context.PortCallDetails.Update(portCallDetails); _context.SaveChanges(); } catch (DbUpdateException ex) when(ex.InnerException is Npgsql.PostgresException) { Npgsql.PostgresException innerEx = (Npgsql.PostgresException)ex.InnerException; return(BadRequest("PostgreSQL Error Code: " + innerEx.SqlState)); } return(Json(portCallDetails)); }