public IActionResult GetOverviewByPortCall(int portCallId, PERSON_ON_BOARD_TYPE_ENUM enumValue) { var pobs = _context.PersonOnBoard.Where( pob => pob.PortCallId == portCallId && pob.PersonOnBoardType.EnumValue == enumValue.ToString()) .Include(pob => pob.PersonOnBoardType) .ToList(); var numberOfPobs = pobs.Count(); if (enumValue == PERSON_ON_BOARD_TYPE_ENUM.CREW) { var returnValCrew = new { numberOfPobs, }; return(Json(returnValCrew)); } var numberInTransit = pobs.Count(p => p.InTransit.HasValue && p.InTransit.Value); var returnValPax = new { numberOfPobs, numberInTransit }; return(Json(returnValPax)); }
public IActionResult GetByEnum(PERSON_ON_BOARD_TYPE_ENUM EnumValue) { PersonOnBoardType personOnBoardType = _context.PersonOnBoardType.FirstOrDefault(s => s.EnumValue == EnumValue.ToString()); if (personOnBoardType == null) { return(NotFound()); } return(Json(personOnBoardType)); }
public IActionResult GetAllPersonOnBoardByPortCallAndPersonOnBoardType(int portCallId, PERSON_ON_BOARD_TYPE_ENUM EnumValue) { var personOnBoardList = _context.PersonOnBoard.Where(s => s.PortCallId == portCallId && s.PersonOnBoardType.EnumValue == EnumValue.ToString()) .Include(pob => pob.Nationality) .Include(pob => pob.CountryOfBirth) .Include(pob => pob.PersonOnBoardType) .Include(pob => pob.PortOfEmbarkation).ThenInclude(p => p.Country) .Include(pob => pob.PortOfDisembarkation).ThenInclude(p => p.Country) .Include(pob => pob.Gender) .Include(pob => pob.IdentityDocument).ThenInclude(i => i.IssuingNation) .Include(i => i.IdentityDocument).ThenInclude(i => i.IdentityDocumentType) .ToList(); if (personOnBoardList == null) { return(NotFound()); } var returnVal = personOnBoardList.Select(x => new { x.PersonOnBoardId, x.GivenName, x.FamilyName, DateOfBirth = x.DateOfBirth.HasValue ? x.DateOfBirth.Value.ToShortDateString() : "N/A", PlaceOfBirth = !string.IsNullOrWhiteSpace(x.PlaceOfBirth) ? x.PlaceOfBirth : "N/A", x.OccupationName, x.OccupationCode, x.RoleCode, x.InTransit, x.RankName, x.RankCode, x.SequenceNumber, PortOfEmbarkation = x.PortOfEmbarkation?.Name, PortOfEmbarkationTwoCharCode = x.PortOfEmbarkation?.Country?.TwoCharCode, PortOfDisembarkationTwoCharCode = x.PortOfDisembarkation?.Country?.TwoCharCode, PortOfDisembarkation = x.PortOfDisembarkation?.Name, Nationality = !string.IsNullOrWhiteSpace(x.Nationality?.Name) ? x.Nationality.Name : "N/A", Gender = x.Gender?.Description, CountryOfBirth = x.CountryOfBirth?.Name, NationalityTwoCharCode = x.Nationality?.TwoCharCode, CountryOfBirthTwoCharCode = x.CountryOfBirth?.TwoCharCode, x.CountryOfBirthId, x.NationalityId, x.PersonOnBoardTypeId, x.GenderId, x.PortCallId, x.PortOfEmbarkationId, x.PortOfDisembarkationId, x.CrewEffects, IdentityDocument = x.IdentityDocument?.Select(id => new { id.IdentityDocumentExpiryDate, id.IdentityDocumentIssueDate, IdentityDocumentNumber = !string.IsNullOrWhiteSpace(id.IdentityDocumentNumber) ? id.IdentityDocumentNumber : "", IssuingNation = id.IssuingNation?.Name, IssuingNationTwoCharCode = id.IssuingNation?.TwoCharCode, id.IssuingNationId, id.IdentityDocumentId, id.VisaOrResidencePermitNumber, IdentityDocumentTypeId = id.IdentityDocumentType?.Id, id.IdentityDocumentType }), ExpiryDate = x.IdentityDocument?.FirstOrDefault()?.IdentityDocumentExpiryDate?.ToShortDateString(), IssuingNation = x.IdentityDocument?.FirstOrDefault()?.IssuingNation != null ? x.IdentityDocument?.FirstOrDefault()?.IssuingNation.Name : "N/A", IdentityDocumentListingModel = x.IdentityDocument.FirstOrDefault() != null && !string.IsNullOrWhiteSpace(x.IdentityDocument.FirstOrDefault()?.IdentityDocumentNumber) ? x.IdentityDocument.FirstOrDefault()?.IdentityDocumentNumber.ToString() + "(" + x.IdentityDocument.FirstOrDefault().IdentityDocumentType?.ShortName + ")" : "N/A", x.IsMaster, }).ToList(); return(Json(returnVal)); }