using Ophelias.Models; using Ophelias.Managers; namespace Ophelias.Reporting { internal static class Management { internal static void CalculateExpectedOccupancy(List<(DateTime, int, int, int, int, int)> items, double average) { List entries = new(); foreach (var x in items) { entries.Add($"{x.Item1.Date.ToString("yyyy-MM-dd")}\t{x.Item2}\t{x.Item3}\t{x.Item4}\t{x.Item5}\t{x.Item6}"); } string report = $"EXPECTED 30 DAY OCCUPANCY REPORT - GENERATED ON {DateTime.Now.Date.ToString("yyyy-MM-dd")}\n" + $"Date\tRooms Filled\tConventional\tPrepaid\t60-Day\tIncentive\n" + $"{string.Join("\n", entries)}\n" + $"Average Occupancy Rate: {average}\n\n"; File.AppendAllText(Path.GetFullPath("ExpectedOccupancy.txt"), report); } internal static void CalculateExpectedIncome(List<(DateTime, double)> items, double totalIncome, double average) { List entries = new(); foreach (var x in items) { entries.Add($"{x.Item1.Date.ToString("yyyy-MM-dd")}\t{x.Item2}"); } string report = $"EXPECTED 30 DAY INCOME REPORT - GENERATED ON {DateTime.Now.Date.ToString("yyyy-MM-dd")}\n" + $"Date\tIncome\n" + $"{string.Join("\n", entries)}\n" + $"Average Income: {average}\n" + $"Total Income: {totalIncome}\n\n"; File.AppendAllText(Path.GetFullPath("ExpectedIncome.txt"), report); } internal static void CalculateIncentiveLosses(List<(DateTime, double)> items, double totalLosses, double average) { List entries = new(); foreach (var x in items) { entries.Add($"{x.Item1.Date.ToString("yyyy-MM-dd")}\t{x.Item2}"); } string report = $"EXPECTED 30 DAY LOSSES (TO INCENTIVE) REPORT - GENERATED ON {DateTime.Now.Date.ToString("yyyy-MM-dd")}\n" + $"Date\tLosses\n" + $"{string.Join("\n", entries)}\n" + $"Average Losses (Due to incentive): {average}\n" + $"Total Losses (Due to incentive): {totalLosses}\n\n"; File.AppendAllText(Path.GetFullPath("IncentiveLosses.txt"), report); } } }