Exemple #1
0
        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));
        }