Пример #1
0
        public static YPIConnect.Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportData GetClientBillingDetailReport(DateTime postDateStart, DateTime postDateEnd, int clientGroupId)
        {
            JObject   message      = APIRequestHelper.GetClientBillingDetailReportMessage(postDateStart, postDateEnd, 1);
            APIResult apiResult    = APIRequestHelper.SubmitAPIRequestMessage(message);
            JArray    billingItems = (JArray)apiResult.JSONResult["result"]["results"][0];

            YPIConnect.Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportData result = new Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportData();
            foreach (JObject itemHead in billingItems)
            {
                YPIConnect.Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataAccessionOrder clientBillingDetailReportDataAccessionOrder = new YPIConnect.Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataAccessionOrder();
                clientBillingDetailReportDataAccessionOrder.FromJson(typeof(YPIConnect.Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataAccessionOrder), itemHead);
                result.Add(clientBillingDetailReportDataAccessionOrder);
            }

            JArray billingItems2 = (JArray)apiResult.JSONResult["result"]["results"][1];

            foreach (JObject item2 in billingItems2)
            {
                Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataReport clientBillingDetailReportDataReport = new Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataReport();
                clientBillingDetailReportDataReport.FromJson(typeof(YPIConnect.Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataReport), item2);
                foreach (Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataAccessionOrder clientBillingDetailReportDataAccessionOrder in result)
                {
                    if (clientBillingDetailReportDataReport.MasterAccessionNo == clientBillingDetailReportDataAccessionOrder.MasterAccessionNo)
                    {
                        clientBillingDetailReportDataAccessionOrder.ClientBillingDetailReportDataReports.Add(clientBillingDetailReportDataReport);
                        break;
                    }
                }
            }

            JArray billingItems3 = (JArray)apiResult.JSONResult["result"]["results"][2];

            foreach (JObject item3 in billingItems3)
            {
                Billing.PanelSetOrderCPTCode panelSetOrderCPTCode = new Billing.PanelSetOrderCPTCode();
                panelSetOrderCPTCode.FromJson(typeof(Billing.PanelSetOrderCPTCode), item3);
                foreach (Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataAccessionOrder clientBillingDetailReportDataAccessionOrder in result)
                {
                    bool added = false;
                    foreach (Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataReport clientBillingDetailReportDataReport in clientBillingDetailReportDataAccessionOrder.ClientBillingDetailReportDataReports)
                    {
                        if (panelSetOrderCPTCode.ReportNo == clientBillingDetailReportDataReport.ReportNo)
                        {
                            clientBillingDetailReportDataReport.PanelSetOrderCPTCodes.Add(panelSetOrderCPTCode);
                            added = true;
                            break;
                        }
                    }
                    if (added)
                    {
                        break;
                    }
                }
            }

            JArray billingItems4 = (JArray)apiResult.JSONResult["result"]["results"][3];

            foreach (JObject item4 in billingItems4)
            {
                Billing.PanelSetOrderCPTCodeBill panelSetOrderCPTCodeBill = new Billing.PanelSetOrderCPTCodeBill();
                panelSetOrderCPTCodeBill.FromJson(typeof(Billing.PanelSetOrderCPTCodeBill), item4);
                foreach (Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataAccessionOrder clientBillingDetailReportDataAccessionOrder in result)
                {
                    bool added = false;
                    foreach (Xps.Result.ClientBillingDetailReportResult.ClientBillingDetailReportDataReport clientBillingDetailReportDataReport in clientBillingDetailReportDataAccessionOrder.ClientBillingDetailReportDataReports)
                    {
                        if (panelSetOrderCPTCodeBill.ReportNo == clientBillingDetailReportDataReport.ReportNo)
                        {
                            clientBillingDetailReportDataReport.PanelSetOrderCPTCodeBills.Add(panelSetOrderCPTCodeBill);
                            added = true;
                            break;
                        }
                    }
                    if (added)
                    {
                        break;
                    }
                }
            }

            return(result);
        }