private void BtnWeeklyReport_Click(object sender, EventArgs e) { List <VisitorsInformation> list = new List <VisitorsInformation>(); using (Stream stream = new FileStream("CheckoutsInformation.csv", FileMode.Open, FileAccess.Read)) { CsvChecker <VisitorsInformation> cs = new CsvChecker <VisitorsInformation>() { UseTextQualifier = true, }; list = cs.ReadFromFile(stream); } var dateFrom = weeklyDatePicker.Value.Date; int dayindex = (int)dateFrom.DayOfWeek; int diff = 5 - dayindex; var dateTo = dateFrom.AddDays(diff); List <VisitorsInformation> filteredList = new List <VisitorsInformation>(); foreach (VisitorsInformation v in list) { var date = DateTime.ParseExact(v.EntryDate, "dd/MM/yyyy", CultureInfo.InvariantCulture); if (date >= dateFrom && date <= dateTo) { DateTime outTime = DateTime.Parse(v.CheckOutTime); DateTime inTime = DateTime.Parse(v.CheckInTime); TimeSpan diffT = (outTime - inTime); v.TotalDuration = Math.Round(diffT.TotalMinutes, 2); v.Day = date.DayOfWeek.ToString(); filteredList.Add(v); } } List <ReportsWeekly> weekReport = GetWeekReport(filteredList); reportChart.Series.Clear(); reportChart.Series.Add("Total Time Spent (In Minutes)"); foreach (ReportsWeekly report in weekReport) { reportChart.Series["Total Time Spent (In Minutes)"].Points.AddXY(report.Day, report.TotalTimeSpent); } reportChart.Show(); MuseumManagementSystem.SortingAlgorithm sort = new MuseumManagementSystem.SortingAlgorithm(); BindingList <ReportsWeekly> bindingList = new BindingList <ReportsWeekly>(sort.QuickSortByTotalVisitor(weekReport)); BindingSource source = new BindingSource(bindingList, null); dispReportGridView.DataSource = source; dispReportGridView.Show(); }
private void BtnDailyList_Click(object sender, EventArgs e) { List <VisitorsInformation> list = new List <VisitorsInformation>(); using (Stream stream = new FileStream("CheckoutsInformation.csv", FileMode.Open, FileAccess.Read)) { CsvChecker <VisitorsInformation> cs = new CsvChecker <VisitorsInformation>() { UseTextQualifier = true, }; list = cs.ReadFromFile(stream); } var date = reportDatePicker.Value.Date.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture); List <VisitorsInformation> filteredList = new List <VisitorsInformation>(); foreach (VisitorsInformation v in list) { if (v.EntryDate.Equals(date)) { DateTime outTime = DateTime.Parse(v.CheckOutTime); DateTime inTime = DateTime.Parse(v.CheckInTime); TimeSpan diff = (outTime - inTime); v.TotalDuration = Math.Round(diff.TotalMinutes, 2); v.Day = reportDatePicker.Value.DayOfWeek.ToString(); filteredList.Add(v); } } MuseumManagementSystem.SortingAlgorithm sort = new MuseumManagementSystem.SortingAlgorithm(); filteredList = sort.QuickSortByInTime(filteredList); BindingList <VisitorsInformation> bindingList = new BindingList <VisitorsInformation>(filteredList); BindingSource source = new BindingSource(bindingList, null); dispReportGridView.DataSource = source; dispReportGridView.Show(); reportChart.Hide(); }