예제 #1
0
        private async void getReportDataBtn_Click(object sender, EventArgs e)
        {
            ValidateInputForUsageList();

            using (new WaitCursor())
            {
                updateStatus("Fetching usage report list ...", true);
                string availReportsJson = await GetEnrollmentUsageList(enrollmentTx.Text, accessKeyPriceTxt.Text);

                usageListJsonTx.Text = availReportsJson;

                try
                {
                    EAAvailableUsageReports availReports = JsonConvert.DeserializeObject <EAAvailableUsageReports>(availReportsJson);

                    //Parse the response and fill the usage list
                    fillUsageList(availReports);
                }
                catch (Exception ex)
                {
                    MessageBox.Show($"An error occured getting report data::{ex.ToString()}");
                }
                updateStatus("Report list populated");
            }
        }
예제 #2
0
        private void fillUsageList(EAAvailableUsageReports reports)
        {
            availReportTree.Nodes.Clear();
            TreeNode rootNode = availReportTree.Nodes.Add($"Available reports ({reports.AvailableMonths.Count})");
            TreeNode yearNode = null;
            int      prevYear = 0;

            foreach (EAUsageAvailableMonth month in reports.AvailableMonths)
            {
                //Parse the month and year. Add the years
                DateTime curMonthReports = DateTime.Parse(month.Month);
                int      curYear         = curMonthReports.Year;

                if (curYear != prevYear)
                {
                    //If the year changes, add a new node
                    yearNode = rootNode.Nodes.Add(curYear.ToString());
                }
                //Add a new month node for this item
                TreeNode monthNode = yearNode.Nodes.Add(month.Month, curMonthReports.ToString("MMMM"));

                if (!string.IsNullOrEmpty(month.LinkToDownloadDetailReport))
                {
                    TreeNode detRpt = monthNode.Nodes.Add(month.LinkToDownloadDetailReport, UsageReportType.Detail.ToString());
                    detRpt.ToolTipText = month.LinkToDownloadDetailReport;
                }
                if (!string.IsNullOrEmpty(month.LinkToDownloadPriceSheetReport))
                {
                    TreeNode dRpt = monthNode.Nodes.Add(month.LinkToDownloadPriceSheetReport, UsageReportType.PriceSheet.ToString());
                    dRpt.ToolTipText = month.LinkToDownloadPriceSheetReport;
                }
                if (!string.IsNullOrEmpty(month.LinkToDownloadStoreChargeReport))
                {
                    TreeNode scRpt = monthNode.Nodes.Add(month.LinkToDownloadStoreChargeReport, UsageReportType.StoreCharge.ToString());
                    scRpt.ToolTipText = month.LinkToDownloadStoreChargeReport;
                }
                if (!string.IsNullOrEmpty(month.LinkToDownloadSummaryReport))
                {
                    TreeNode sumRpt = monthNode.Nodes.Add(month.LinkToDownloadSummaryReport, UsageReportType.Summary.ToString());
                    sumRpt.ToolTipText = month.LinkToDownloadSummaryReport;
                }

                //Add the reconciliation nodes to the tree
                TreeNode reconcileU2PNode = monthNode.Nodes.Add(UsageReportType.ReconcileUsageToPriceSheet.ToString(), UsageReportType.ReconcileUsageToPriceSheet.ToString());
                reconcileU2PNode.ToolTipText = "Reconcile Usage to Price Sheet";

                TreeNode reconcileS2PNode = monthNode.Nodes.Add(UsageReportType.ReconcileStoreChargeToPriceSheet.ToString(), UsageReportType.ReconcileStoreChargeToPriceSheet.ToString());
                reconcileS2PNode.ToolTipText = "Reconcile Store to Price Sheet";

                prevYear = curYear;
            }
        }