Esempio n. 1
0
        public CommunicationBlastRunner(BlobStorageServices blobs, TraffkRdbContext rdb, ITrackingEmailer emailer)
        {
            Requires.NonNull(blobs, nameof(blobs));
            Requires.NonNull(rdb, nameof(rdb));
            Requires.NonNull(emailer, nameof(emailer));

            Blobs   = blobs;
            Rdb     = rdb;
            Emailer = emailer;
        }
Esempio n. 2
0
        public async Task Populate(TraffkRdbContext rdb, CrmDdbContext crm, bool includePhi, params CollectionNames[] supportedCollections)
        {
            foreach (var collection in supportedCollections)
            {
                Type            baseType;
                GetCountsResult counts = null;
                switch (collection)
                {
                case CollectionNames.Contacts:
                    counts = await rdb.GetContrainedFieldCountsAsync <Contact>(true);

                    baseType = typeof(Contact);
                    break;

                case CollectionNames.Eligibility:
                    counts = await rdb.GetContrainedFieldCountsAsync <Eligibility>(true);

                    baseType = typeof(Eligibility);
                    break;

                case CollectionNames.Scores:
                    counts = await rdb.GetContrainedFieldCountsAsync <Score>(true);

                    baseType = typeof(Score);
                    break;

                case CollectionNames.Demographics:
                    counts = await rdb.GetContrainedFieldCountsAsync <Demographic>(true);

                    baseType = typeof(Demographic);
                    break;

                case CollectionNames.Pcp:
                    counts = await rdb.GetContrainedFieldCountsAsync <MemberPCP>(true);

                    baseType = typeof(MemberPCP);
                    break;

                case CollectionNames.HighCostDiagnosis:
                    counts = await rdb.GetContrainedFieldCountsAsync <HighCostDiagnosi>(true);

                    baseType = typeof(HighCostDiagnosi);
                    break;

                default:
                    throw new UnexpectedSwitchValueException(collection);
                }
                var section = new QuerySection(collection, baseType, null, includePhi, counts);
                Sections.Add(section);
            }
        }