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); }
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); }
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); }
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) }
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); }
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); }
private string GetParticipantIdFromDetail(string partId, RedactedCriminalFileDetailResponse detail) => detail.Participant?.FirstOrDefault(p => p != null && p.PartId == partId)?.PartId;