public int PeakDailyFooFallInLastMonth(List <string> dateList) { var date = DateTime.Now; var previousMonth = Convert.ToInt32(date.AddMonths(-1).Month.ToString()); var previousMonthDates = new Dictionary <string, int>(); var uniqueDateList = GetUniqueDateList(dateList); foreach (var i in uniqueDateList) { const string format = "d/M/yyyy"; var convertedDate = DateTime.ParseExact(i, format, null); var convertedDateMonth = convertedDate.Month; if (convertedDateMonth == previousMonth) { var myDate = convertedDate.ToString("d/M/yyyy"); var countFreq = CountDateFreq(myDate, dateList); previousMonthDates.Add(myDate, countFreq); } } var peak = GetPeakInAMonth(previousMonthDates); Console.WriteLine(peak); var csvWriter = new WriteToCsvFile(); csvWriter.FootfallLastMonthCsvFileWriter(previousMonth, peak); return(peak); }
public float GetAvgDailyFootfallInAWeek(string date, List <string> dateList) { var dateCount = new Dictionary <string, float>(); const string format = "d/M/yyyy"; var convertedDate = DateTime.ParseExact(date, format, null); var year = convertedDate.Year; var month = convertedDate.Month; var daysInMonth = DateTime.DaysInMonth(year, month); for (var i = 0; i < daysInMonth; i++) { var nextDate = convertedDate.AddDays(i); var day = (int)nextDate.DayOfWeek; if (day == 1) { var myDate = nextDate.ToString("d/M/yyyy"); var countFreq = CountDateFreq(myDate, dateList); dateCount.Add(myDate, countFreq); } } var addCountAvg = SumOfDateCountFreq(dateCount); var dailyAvgInAWeek = addCountAvg / dateCount.Count; Console.WriteLine(dailyAvgInAWeek); var csvWriter = new WriteToCsvFile(); const string filename = "FootfallWeekCsv.csv"; csvWriter.FootfallDayWeekCsvFileWriter(date, dailyAvgInAWeek, filename); return(dailyAvgInAWeek); }
public float GetAvgPerHourInADay(string date, List <string> dateList, List <string> hourList) { var myHourList = new List <string>(); for (var i = 0; i < hourList.Count; i++) { if (date == dateList[i]) { myHourList.Add(hourList[i]); } } var myCountHour = CountHours(myHourList); var hourAvgResult = myCountHour / 4; Console.WriteLine(hourAvgResult); var csvWriter = new WriteToCsvFile(); const string filename = "FootfallDayCsv.csv"; csvWriter.FootfallDayWeekCsvFileWriter(date, hourAvgResult, filename); return(hourAvgResult); }