Exemplo n.º 1
0
        public ListModelBase <BarrierInboundViewModel, BarrierInboundFilter> Create(IEnumerable <EventCustomerBarrier> eventCustomerBarriers, IEnumerable <Barrier> barriers, IEnumerable <EventCustomer> eventCustomers, List <Customer> customers,
                                                                                    IEnumerable <ChaseOutbound> chaseOutbounds, IEnumerable <CustomerChaseCampaign> customerChaseCampaigns, IEnumerable <ChaseCampaign> chaseCampaigns)
        {
            var collection = new List <BarrierInboundViewModel>();

            foreach (var eventCustomerBarrier in eventCustomerBarriers)
            {
                var barrier       = barriers.First(x => x.Id == eventCustomerBarrier.BarrierId);
                var eventCustomer = eventCustomers.First(x => x.Id == eventCustomerBarrier.EventCustomerId);
                var customer      = customers.First(x => x.CustomerId == eventCustomer.CustomerId);
                var chaseOutbound = chaseOutbounds.FirstOrDefault(x => x.CustomerId == customer.CustomerId);

                if (chaseOutbound == null)
                {
                    continue;
                }

                ChaseCampaign campaign = null;
                var           customerChaseCampaign = !customerChaseCampaigns.IsNullOrEmpty() ? customerChaseCampaigns.FirstOrDefault(x => x.CustomerId == customer.CustomerId) : null;

                if (customerChaseCampaign != null && !chaseCampaigns.IsNullOrEmpty())
                {
                    campaign = chaseCampaigns.FirstOrDefault(x => x.Id == customerChaseCampaign.ChaseCampaignId);
                }

                var barrierViewModel = new BarrierInboundViewModel
                {
                    TenantId             = chaseOutbound.TenantId,
                    ClientId             = chaseOutbound.ClientId,
                    CampaignId           = campaign != null ? campaign.CampaignId : "",
                    IndividualIDNumber   = chaseOutbound.IndividualId,
                    ContractNumber       = chaseOutbound.ContractNumber,
                    ContractPersonNumber = chaseOutbound.ContractPersonNumber,
                    ConsumerId           = chaseOutbound.ConsumerId,
                    VendorPersonId       = customer.CustomerId.ToString(),
                    AppointmentID        = eventCustomer.AppointmentId.HasValue ? eventCustomer.AppointmentId.Value.ToString() : "",
                    BarrierId            = barrier.Id.ToString(),
                    BarrierCategory      = barrier.Name,
                    BarrierReason        = eventCustomerBarrier.Reason,
                    BarrierResolution    = eventCustomerBarrier.Resolution
                };

                collection.Add(barrierViewModel);
            }

            return(new BarrierInboundListModel
            {
                Collection = collection
            });
        }
Exemplo n.º 2
0
        public ChaseCampaign Save(ChaseCampaign domain)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var entity = Mapper.Map <ChaseCampaign, ChaseCampaignEntity>(domain);

                if (!adapter.SaveEntity(entity, true))
                {
                    throw new PersistenceFailureException();
                }

                return(Mapper.Map <ChaseCampaignEntity, ChaseCampaign>(entity));
            }
        }
Exemplo n.º 3
0
        public ListModelBase <ConditionInboundViewModel, ConditionInboundFilter> Create(IEnumerable <EventCustomerDiagnosis> diagnosisRecords, IEnumerable <EventCustomer> eventCustomers, IEnumerable <ChaseOutbound> chaseOutbounds,
                                                                                        IEnumerable <CustomerChaseCampaign> customerChaseCampaigns, IEnumerable <ChaseCampaign> chaseCampaigns)
        {
            var collection = new List <ConditionInboundViewModel>();

            foreach (var eventCustomer in eventCustomers)
            {
                var eventCustomerDiagnosisRecords = diagnosisRecords.Where(x => x.EventCustomerId == eventCustomer.Id);
                var chaseOutbound = chaseOutbounds.FirstOrDefault(x => x.CustomerId == eventCustomer.CustomerId);
                if (chaseOutbound == null)
                {
                    continue;
                }

                ChaseCampaign campaign = null;
                var           customerChaseCampaign = !customerChaseCampaigns.IsNullOrEmpty() ? customerChaseCampaigns.FirstOrDefault(x => x.CustomerId == eventCustomer.CustomerId) : null;

                if (customerChaseCampaign != null && !chaseCampaigns.IsNullOrEmpty())
                {
                    campaign = chaseCampaigns.FirstOrDefault(x => x.Id == customerChaseCampaign.ChaseCampaignId);
                }

                foreach (var eventCustomerDiagnosis in eventCustomerDiagnosisRecords)
                {
                    collection.Add(new ConditionInboundViewModel
                    {
                        TenantId               = chaseOutbound.TenantId,
                        ClientId               = chaseOutbound.ClientId,
                        CampaignId             = campaign != null ? campaign.CampaignId : "",
                        IndividualIdNumber     = chaseOutbound.IndividualId,
                        ContractNumber         = chaseOutbound.ContractNumber,
                        ContractPersonNumber   = chaseOutbound.ContractPersonNumber,
                        ConsumerId             = chaseOutbound.ConsumerId,
                        VendorPersonId         = eventCustomer.CustomerId.ToString(),
                        ConditionId            = "",
                        ConditionName          = !string.IsNullOrEmpty(eventCustomerDiagnosis.Diagnosis) && eventCustomerDiagnosis.Diagnosis.Length > 100 ? eventCustomerDiagnosis.Diagnosis.Substring(0, 100) : eventCustomerDiagnosis.Diagnosis,
                        ConditionDiagnosisCode = eventCustomerDiagnosis.Icd,
                        ConditionIcdIndicator  = eventCustomerDiagnosis.IsIcd10 ? Icd10 : Icd9
                    });
                }
            }

            return(new ConditionInboundListModel
            {
                Collection = collection
            });
        }