Exemplo n.º 1
0
        /// <summary>
        /// Will generate a summary report for the total number of providers, total number of consultations, total number of fees
        /// </summary>
        /// <param name="name">Name of the report</param>
        public static void GenerateSummaryReport(string name)
        {
            var allProviders = DataCenter.RequestAllProviders();

            var   fileName      = name + ".txt";
            float totalFee      = 0;
            int   totalConsults = 0;

            using (var output = new StreamWriter(new FileStream(fileName, FileMode.CreateNew)))
            {
                foreach (var iProvider in allProviders)
                {
                    var allRecords = DataCenter.RequestAllRecordsFromProvider(iProvider.Number);
                    output.Write("Provider Name: " + iProvider.Name + ",");
                    if (allRecords == null)
                    {
                        output.Write(" Number of Consultations: 0" + "," + " Fees: $0\n");
                    }
                    else
                    {
                        output.Write(" Number of Consultations: " + allRecords.Count + ",");
                        output.Write(" Fees: $" + DataCenter.RequestAllRecordsFromProvider(iProvider.Number).Sum(p => p.Fee) + "\n");
                        totalConsults += allRecords.Count;
                        totalFee      += DataCenter.RequestAllRecordsFromProvider(iProvider.Number).Sum(p => p.Fee);
                    }
                }
                output.Write("\n");
                output.Write("Total Number of Providers: " + allProviders.Count() + "\n");
                output.Write("Total Number of Consultations: " + totalConsults + "\n");
                output.Write("Total Number of Fees: $" + totalFee + "\n");
            }

            OpenFile(fileName);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Print the provider report
        /// </summary>
        /// <param name="provider">Provider object</param>
        /// <param name="name">Name of the report to generate</param>
        public static void PrintProviderReport(Provider provider, string name)
        {
            name = name.Replace("\\s+", "");
            double totalFee = 0;
            string fileName = name + ".txt";

            using (var output = new StreamWriter(new FileStream(fileName, FileMode.CreateNew)))
            {
                output.Write("Provider Name: " + provider.Name + "\n" + "Provider Number: " + provider.Number + "\n" + "Provider Address: " + provider.Address +
                             "\n" + "Provider City: " + provider.City + "\n" + "Provider State: " + provider.State + "\n" + "Provider Zip Code: " + provider.Zip + "\n");

                var allRecords = DataCenter.RequestAllRecordsFromProvider(provider.Number);
                if (allRecords != null)
                {
                    foreach (var iRecord in allRecords)
                    {
                        output.Write("\n");
                        output.Write("Service Date: " + iRecord.ServiceDate + "\n" + "Date Data Was Received: " + iRecord.CurrentDate +
                                     "\n" + "Member Name: " + iRecord.Member.Name +
                                     "\n" + "Member Number: " + iRecord.MemberNumber + "\n" + "Service Code: " + iRecord.ServiceCode +
                                     "\n" + "Fee to be paid: " + iRecord.Service.Fee + "\n");
                        totalFee += iRecord.Service.Fee;
                    }
                    output.Write("Total number of consultations with members: " + allRecords.Count() + "\n");
                    output.Write("Total fees for the week: $" + totalFee + "\n");
                }
                else
                {
                    output.Write("Total number of consultations with members: 0\n");
                    output.Write("Total fees for the week: $0\n");
                }
            }

            OpenFile(fileName);
        }