private SummaryCaModel CreateSummaryCa(int caId)
        {
            SummaryCaModel summaryCa = new SummaryCaModel();

            summaryCa.CaId = caId;

            ProcessPrecentageModel scrubingProcessPrecentage = CalculateScrubingProcessPrecentage(caId);

            summaryCa.ProcessesPrecentage.Add(scrubingProcessPrecentage);
            ProcessPrecentageModel notificationProcessPrecentage = CalculateNotificationProcessPrecentage(caId);

            summaryCa.ProcessesPrecentage.Add(notificationProcessPrecentage);
            ProcessPrecentageModel ResponseProcessPrecentage = CalculateResponseProcessPrecentage(caId);

            summaryCa.ProcessesPrecentage.Add(ResponseProcessPrecentage);
            ProcessPrecentageModel InstructionProcessPrecentage = CalculateInstructionProcessPrecentage(caId);

            summaryCa.ProcessesPrecentage.Add(InstructionProcessPrecentage);
            ProcessPrecentageModel PaymentProcessPrecentage = CalculatePaymentProcessPrecentage(caId);

            summaryCa.ProcessesPrecentage.Add(PaymentProcessPrecentage);

            var caInfo = _context.ScrubbingInfo.FirstOrDefault(a => a.CaId == caId);

            summaryCa.CaTypeId = caInfo != null ? caInfo.CaTypeId.Value : 0;

            return(summaryCa);
        }
        public IHttpActionResult GetSummaryInformation()
        {
            SummaryModel summaryModel = new SummaryModel();

            List <int> CaIds = _context.CaTimeline.Select(a => a.CaId).ToList();

            foreach (int caId in CaIds)
            {
                SummaryCaModel CorporateActionSummary = CreateSummaryCa(caId);
                summaryModel.CAs.Add(CorporateActionSummary);
            }

            ProcessPrecentageModel scrubingProcessPrecentage = CalculateScrubingProcessPrecentage(0, true);

            summaryModel.SummaryProcessPrecentage.Add(scrubingProcessPrecentage);
            ProcessPrecentageModel notificationProcessPrecentage = CalculateNotificationProcessPrecentage(0, true);

            summaryModel.SummaryProcessPrecentage.Add(notificationProcessPrecentage);
            ProcessPrecentageModel responseProcessPrecentage = CalculateResponseProcessPrecentage(0, true);

            summaryModel.SummaryProcessPrecentage.Add(responseProcessPrecentage);
            ProcessPrecentageModel instructionProcessPrecentage = CalculateInstructionProcessPrecentage(0, true);

            summaryModel.SummaryProcessPrecentage.Add(instructionProcessPrecentage);
            ProcessPrecentageModel paymentProcessPrecentage = CalculatePaymentProcessPrecentage(0, true);

            summaryModel.SummaryProcessPrecentage.Add(paymentProcessPrecentage);

            return(Ok(summaryModel));
        }