Ejemplo n.º 1
0
        public void GetCitationSummaries()
        {
            SetUpIdentitityContext(ModuleType.Citation);
            var citationSummaryList = new List <CitationSummary>();
            var citationSummary     = new CitationSummary(QueueUnitTestFixture.IdentityId, QueueUnitTestFixture.AgencyDetails.Id, It.IsAny <Guid>(), "123", null);

            citationSummaryList.Add(citationSummary);
            _summariesUnitOfWork.Setup(mock => mock.GetEntityQuery <CitationSummary>(TrackingMode.Automatic))
            .Returns(citationSummaryList.AsQueryable());
            var citationSummaryQueue = _summaryQueueService.GetCitationSummaries(It.IsAny <SummaryQueueFilter>());

            citationSummaryQueue.Should().NotBeEmpty();
            citationSummaryQueue.Should().BeOfType(typeof(List <CitationSummaryQueueItem>));
            _summariesUnitOfWork.Verify(mock => mock.GetEntityQuery <CitationSummary>(TrackingMode.Automatic));
        }
Ejemplo n.º 2
0
        public CitationSynopsis FindCitationSynopsis(Guid id)
        {
            CitationSummary summary = FindCitationSummary(id);

            return(summary.As <CitationSynopsis>());
        }
Ejemplo n.º 3
0
        private void PrepareCitationSummarySectionsForReport(Section templateSection, string sectionHeader,
                                                             CitationSummary citationSummary, IReportsData reportDetails)
        {
            //All Public Safety type items
            var itemList = new List <IPublicSafetyEntityDetails>();

            switch (templateSection.SectionType)
            {
            case SectionType.Event:
                itemList.Add(citationSummary.Event);
                sectionHeader = GenericSectionName.EVENT;
                PreparePublicSafetyEntityForReport(templateSection, itemList, sectionHeader, string.Empty, reportDetails);
                break;

            case SectionType.Person:
                if (templateSection.Name == GenericSectionName.SUBJECT)
                {
                    itemList.Add(citationSummary.Subject);
                    sectionHeader = GenericSectionName.SUBJECT;
                    PreparePublicSafetyEntityForReport(
                        templateSection,
                        itemList,
                        sectionHeader,
                        string.Empty,
                        reportDetails);
                }
                else if (templateSection.Name == GenericSectionName.OTHERS)
                {
                    #region victims from others section
                    var otherVictims =
                        citationSummary.Others.FindAll(
                            x =>
                            String.Equals(x.InvolvementType.Code, GenericSectionName.VICTIM,
                                          StringComparison.CurrentCultureIgnoreCase));

                    if (otherVictims.Count > 0)
                    {
                        PreparePublicSafetyEntityForReport(templateSection,
                                                           otherVictims.ToList <IPublicSafetyEntityDetails>(), GenericSectionName.VICTIMS,
                                                           string.Empty, reportDetails,
                                                           string.Empty, _runningIndexVictim);

                        _runningIndexVictim = (_runningIndexVictim > 0 ? _runningIndexVictim : 0) +
                                              otherVictims.Count;
                    }
                    #endregion

                    #region suspects from others section

                    var otherSuspects =
                        citationSummary.Others.FindAll(
                            x =>
                            String.Equals(x.InvolvementType.Code, GenericSectionName.SUSPECT,
                                          StringComparison.CurrentCultureIgnoreCase));

                    if (otherSuspects.Count > 0)
                    {
                        PreparePublicSafetyEntityForReport(templateSection,
                                                           otherSuspects.ToList <IPublicSafetyEntityDetails>(), GenericSectionName.SUSPECTS,
                                                           string.Empty, reportDetails,
                                                           string.Empty, _runningIndexSuspect);

                        _runningIndexSuspect = (_runningIndexSuspect > 0 ? _runningIndexSuspect : 0) +
                                               otherSuspects.Count;
                    }

                    #endregion
                    var otherInvolvementTypes =

                        citationSummary.Others.FindAll(x =>
                                                       !String.Equals(x.InvolvementType.Code, GenericSectionName.VICTIM, StringComparison.CurrentCultureIgnoreCase) &&
                                                       !String.Equals(x.InvolvementType.Code, GenericSectionName.SUSPECT, StringComparison.CurrentCultureIgnoreCase));

                    if (otherInvolvementTypes.Count > 0)
                    {
                        PrepareCitaionOthersEntityForReport(templateSection, otherInvolvementTypes, sectionHeader, reportDetails);
                    }
                }
                break;

            case SectionType.Offense:
                if (templateSection.Name == GenericSectionName.CITATION_CHARGES)
                {
                    sectionHeader = GenericSectionName.OFFENSES;
                    itemList      = citationSummary.CitationCharges.Cast <IPublicSafetyEntityDetails>().ToList();
                }
                PreparePublicSafetyEntityForReport(templateSection, itemList, sectionHeader, string.Empty, reportDetails);
                break;

            case SectionType.Narrative:
                itemList = citationSummary.Narratives.Cast <IPublicSafetyEntityDetails>().ToList();
                PreparePublicSafetyEntityForReport(templateSection, itemList, sectionHeader, string.Empty, reportDetails);
                break;

            case SectionType.Officer:
                itemList = citationSummary.Officers.Cast <IPublicSafetyEntityDetails>().ToList();
                PreparePublicSafetyEntityForReport(templateSection, itemList, sectionHeader, string.Empty, reportDetails);
                break;

            case SectionType.Vehicle:
                itemList = citationSummary.Vehicles.Cast <IPublicSafetyEntityDetails>().ToList();
                PreparePublicSafetyEntityForReport(templateSection, itemList, sectionHeader, string.Empty, reportDetails);
                break;

            case SectionType.Generic:
                if (templateSection.Name == GenericSectionName.ALCOHOL_DRUG_TESTS)
                {
                    itemList = citationSummary.AlcoholDrugTests.Cast <IPublicSafetyEntityDetails>().ToList();
                }
                else if (templateSection.Name == GenericSectionName.CITATION_FEES_PAYMENTS)
                {
                    itemList = citationSummary.CitationFeesPayments.Cast <IPublicSafetyEntityDetails>().ToList();
                }

                PreparePublicSafetyEntityForReport(templateSection, itemList, sectionHeader, string.Empty, reportDetails);
                break;

            case SectionType.Organization:
                #region victims from organization section
                var organizationVictims =
                    citationSummary.CitationOrganizations.FindAll(x => String.Equals(x.InvolvementType.Code, GenericSectionName.VICTIM, StringComparison.CurrentCultureIgnoreCase));

                if (organizationVictims.Count > 0)
                {
                    PreparePublicSafetyEntityForReport(templateSection,
                                                       organizationVictims.ToList <IPublicSafetyEntityDetails>(), GenericSectionName.VICTIMS, string.Empty,
                                                       reportDetails,
                                                       string.Empty, _runningIndexVictim);

                    _runningIndexVictim = (_runningIndexVictim > 0 ? _runningIndexVictim : 0) + organizationVictims.Count;
                }
                #endregion

                #region suspects from organization section
                var organizationSuspects =
                    citationSummary.CitationOrganizations.FindAll(x => String.Equals(x.InvolvementType.Code, GenericSectionName.SUSPECT, StringComparison.CurrentCultureIgnoreCase));

                if (organizationSuspects.Count > 0)
                {
                    PreparePublicSafetyEntityForReport(templateSection,
                                                       organizationSuspects.ToList <IPublicSafetyEntityDetails>(), GenericSectionName.SUSPECTS, string.Empty,
                                                       reportDetails,
                                                       string.Empty, _runningIndexSuspect);
                    _runningIndexSuspect = (_runningIndexSuspect > 0 ? _runningIndexSuspect : 0) + organizationSuspects.Count;
                }
                #endregion

                var organizationOthers =
                    citationSummary.CitationOrganizations.FindAll(x => !String.Equals(x.InvolvementType.Code, GenericSectionName.VICTIM, StringComparison.CurrentCultureIgnoreCase) &&
                                                                  !String.Equals(x.InvolvementType.Code, GenericSectionName.SUSPECT, StringComparison.CurrentCultureIgnoreCase));

                if (organizationOthers.Count > 0)
                {
                    PrepareCitationOrganizationEntityForReport(templateSection, organizationOthers,
                                                               GenericSectionName.OTHERS, reportDetails);
                }
                break;
            }
        }
        public CitationSummary Create(Guid agencyId, string number, CitationSummary summary)
        {
            summary.Id = _citationSummaryCommandService.CreateCitationSummary(agencyId, number, summary);

            return(summary);
        }