示例#1
0
        public bool IsAwarded_AnyNot0(int pAcceptancesMissing, int pCountriesMissing, int pAwardsMissing, int pDistinctImagesMissing, int pSalonsMissing, int pPrintsMissing)
        {
            // Arrange
            var lRow = new PersonAwardTableRowDto
            {
                AwardName             = "name",
                AcceptancesMissing    = pAcceptancesMissing,
                CountriesMissing      = pCountriesMissing,
                AwardsMissing         = pAwardsMissing,
                DistinctImagesMissing = pDistinctImagesMissing,
                SalonsMissing         = pSalonsMissing,
                PrintsMissing         = pPrintsMissing
            };

            // Assert
            return(lRow.IsAwarded);
        }
示例#2
0
        public async Task <PersonAwardTableDto> GetAwardLevelsForPerson(int pPersonId)
        {
            var lPhotoOrganisationsTask = this._photoOrganisationRepository.GetAllWithAwards();
            var lPersonTask             = this._personRepository.GetWithSubmissionsSalonsAccreditationSections(pPersonId);

            await Task.WhenAll(lPhotoOrganisationsTask, lPersonTask);

            var lPerson    = lPersonTask.Result;
            var lPhotoOrgs = lPhotoOrganisationsTask.Result;

            var lPersonAwardTable = new PersonAwardTableDto
            {
                PersonName = lPerson.Name
            };

            foreach (var lOrg in lPhotoOrgs)
            {
                if (lOrg.EnableSectionTypes == false)
                {
                    // FIAP style add all acceptances
                    var lTableOrg = new PersonAwardTableOrgDto
                    {
                        OrginisationName = lOrg.Name
                    };

                    foreach (var lOrgAward in lOrg.AwardLevels)
                    {
                        var lPersonAwardRow = new PersonAwardTableRowDto
                        {
                            AwardName              = lOrgAward.Name,
                            AcceptancesMissing     = GetAcceptances(lPerson.Submissions, lOrgAward.MinimumAcceptances, lOrg.Id),
                            AcceptancesRequired    = lOrgAward.MinimumAcceptances,
                            AwardsMissing          = GetAwards(lPerson.Submissions, lOrgAward.MinimumAwards, lOrg.Id),
                            AwardsRequired         = lOrgAward.MinimumAwards,
                            CountriesMissing       = GetCountries(lPerson.Submissions, lOrgAward.MinimumCountries, lOrg.Id),
                            CountriesRequired      = lOrgAward.MinimumCountries,
                            DistinctImagesMissing  = GetDistinctImages(lPerson.Submissions, lOrgAward.MinimumDistinctImages, lOrg.Id),
                            DistinctImagesRequired = lOrgAward.MinimumDistinctImages,
                            PrintsMissing          = GetPrints(lPerson.Submissions, lOrgAward.MinimumPrints, lOrg.Id),
                            PrintsRequired         = lOrgAward.MinimumPrints,
                            SalonsMissing          = GetSalons(lPerson.Submissions, lOrgAward.MinimumSalons, lOrg.Id),
                            SalonsRequired         = lOrgAward.MinimumSalons,
                        };
                        lTableOrg.Awards.Add(lPersonAwardRow);
                    }
                    lPersonAwardTable.Organisations.Add(lTableOrg);
                }
                else
                {
                    // PSA style, group by section type
                    List <string> lSectionTypeCodes = await this._sectionTypeRepository.FetchSectionTypeCodes();

                    foreach (var lSectionTypeCode in lSectionTypeCodes)
                    {
                        var lTableOrg = new PersonAwardTableOrgDto
                        {
                            OrginisationName = lOrg.Name + " " + lSectionTypeCode
                        };

                        foreach (var lOrgAward in lOrg.AwardLevels)
                        {
                            var lPersonAwardRow = new PersonAwardTableRowDto
                            {
                                AwardName              = lOrgAward.Name,
                                AcceptancesMissing     = GetAcceptances(lPerson.Submissions, lOrgAward.MinimumAcceptances, lOrg.Id, lSectionTypeCode),
                                AcceptancesRequired    = lOrgAward.MinimumAcceptances,
                                AwardsMissing          = GetAwards(lPerson.Submissions, lOrgAward.MinimumAwards, lOrg.Id),
                                AwardsRequired         = lOrgAward.MinimumAwards,
                                CountriesMissing       = GetCountries(lPerson.Submissions, lOrgAward.MinimumCountries, lOrg.Id),
                                CountriesRequired      = lOrgAward.MinimumCountries,
                                DistinctImagesMissing  = GetDistinctImages(lPerson.Submissions, lOrgAward.MinimumDistinctImages, lOrg.Id, lSectionTypeCode),
                                DistinctImagesRequired = lOrgAward.MinimumDistinctImages,
                                PrintsMissing          = GetPrints(lPerson.Submissions, lOrgAward.MinimumPrints, lOrg.Id),
                                PrintsRequired         = lOrgAward.MinimumPrints,
                                SalonsMissing          = GetSalons(lPerson.Submissions, lOrgAward.MinimumSalons, lOrg.Id),
                                SalonsRequired         = lOrgAward.MinimumSalons,
                            };
                            lTableOrg.Awards.Add(lPersonAwardRow);
                        }

                        lPersonAwardTable.Organisations.Add(lTableOrg);
                    }
                }
            }

            return(lPersonAwardTable);
        }