コード例 #1
0
        private async Task <RedactedCriminalFileDetailResponse> PopulateBaseDetail(RedactedCriminalFileDetailResponse detail)
        {
            detail.HomeLocationAgencyName = await _locationService.GetLocationName(detail.HomeLocationAgenId);

            detail.HomeLocationAgencyCode = await _locationService.GetLocationAgencyIdentifier(detail.HomeLocationAgenId);

            detail.HomeLocationRegionName = await _locationService.GetRegionName(detail.HomeLocationAgencyCode);

            detail.CourtClassDescription = await _lookupService.GetCourtClassDescription(detail.CourtClassCd.ToString());

            detail.CourtLevelDescription = await _lookupService.GetCourtLevelDescription(detail.CourtLevelCd.ToString());

            detail.ActivityClassCd = await _lookupService.GetActivityClassCdLong(detail.CourtClassCd.ToString());

            detail.ActivityClassDesc = await _lookupService.GetActivityClassCdShort(detail.CourtClassCd.ToString());

            //Some lookups have LongDesc and ShortDesc the same.
            if (detail.ActivityClassCd == detail.ActivityClassDesc)
            {
                detail.ActivityClassCd = detail.CourtClassCd.ToString();
            }
            detail.CrownEstimateLenDsc = detail.CrownEstimateLenUnit.HasValue ? await _lookupService.GetAppearanceDuration(detail.CrownEstimateLenUnit.Value.ToString()) : null;

            detail.AssignmentTypeDsc = await _lookupService.GetComplexityTypeDescription(detail.ComplexityTypeCd?.ToString());

            return(detail);
        }
コード例 #2
0
        private ICollection <CrownWitness> PopulateDetailCrown(RedactedCriminalFileDetailResponse detail)
        {
            var crownWitnesses = _mapper.Map <ICollection <CrownWitness> >(detail.Witness.Where(w => w.RoleTypeCd == CriminalWitnessRoleTypeCd.CRN).ToList());

            foreach (var crownWitness in crownWitnesses)
            {
                crownWitness.Assigned = crownWitness.IsAssigned(detail.AssignedPartNm);
            }
            return(crownWitnesses);
        }
コード例 #3
0
        private async Task <ICollection <CriminalWitness> > PopulateDetailWitnesses(RedactedCriminalFileDetailResponse detail)
        {
            foreach (var witness in detail.Witness)
            {
                witness.AgencyCd = await _lookupService.GetAgencyLocationCode(witness.AgencyId);

                witness.AgencyDsc = await _lookupService.GetAgencyLocationDescription(witness.AgencyId);

                witness.WitnessTypeDsc = await _lookupService.GetWitnessRoleTypeDescription(witness.WitnessTypeCd);
            }
            return(detail.Witness);
        }
コード例 #4
0
 private async Task <ICollection <CriminalHearingRestriction> > PopulateDetailHearingRestrictions(RedactedCriminalFileDetailResponse detail)
 {
     foreach (var hearingRestriction in detail.HearingRestriction)
     {
         hearingRestriction.HearingRestrictionTypeDsc = await _lookupService.GetHearingRestrictionDescription(hearingRestriction.HearingRestrictionTypeCd.ToString());
     }
     return(detail.HearingRestriction.Where(hr => hr.HearingRestrictionTypeCd == HearingRestriction2HearingRestrictionTypeCd.S).ToList()); //TODO conditional permission. MY_CALENDAR_SEIZED_AARS)
 }
コード例 #5
0
 private async Task <ICollection <CriminalParticipant> > PopulateDetailParticipants(RedactedCriminalFileDetailResponse detail, ICollection <CriminalDocument> documents, ICollection <CfcAccusedFile> accusedFiles)
 {
     foreach (var participant in detail.Participant)
     {
         participant.Document          = documents.Where(doc => doc.PartId == participant.PartId).ToList();
         participant.HideJustinCounsel = false;   //TODO tie this to a permission. View Witness List permission
         //TODO COUNSEL? This would have to come from law society data, which is stored in a CSV file.
         foreach (var accusedFile in accusedFiles.Where(af => af?.PartId == participant.PartId))
         {
             participant.Count.AddRange(await PopulateCounts(accusedFile, detail));
             participant.Ban.AddRange(PopulateBans(accusedFile));
         }
     }
     return(detail.Participant);
 }
コード例 #6
0
        private async Task <List <CriminalCount> > PopulateCounts(CfcAccusedFile accusedFile, RedactedCriminalFileDetailResponse detail)
        {
            var criminalCount = new List <CriminalCount>();

            foreach (var appearance in accusedFile.Appearance.Where(a => a != null))
            {
                foreach (var count in _mapper.Map <ICollection <CriminalCount> >(appearance.AppearanceCount.Where(a => a?.AppearanceResult == "END")))
                {
                    count.PartId         = GetParticipantIdFromDetail(accusedFile.PartId, detail);
                    count.AppearanceDate = appearance.AppearanceDate;
                    count.Sentence       = count.Sentence.Where(s => s != null).ToList();
                    foreach (var criminalSentence in count.Sentence)
                    {
                        criminalSentence.JudgesRecommendation = appearance.JudgesRecommendation;
                        criminalSentence.SentenceTypeDesc     = await _lookupService.GetCriminalSentenceDescription(criminalSentence.SntpCd);
                    }
                    count.FindingDsc = await _lookupService.GetFindingDescription(count.Finding);

                    criminalCount.Add(count);
                }
            }
            return(criminalCount);
        }
コード例 #7
0
 private string GetParticipantIdFromDetail(string partId, RedactedCriminalFileDetailResponse detail) => detail.Participant?.FirstOrDefault(p => p != null && p.PartId == partId)?.PartId;