ReportPage.xaml.cs 930 B

123456789101112131415161718192021222324252627282930313233
  1. namespace practiceApplicaiton;
  2. public partial class ReportPage : ContentPage
  3. {
  4. public ReportPage()
  5. {
  6. InitializeComponent();
  7. DateFrom.Date = DateTime.Today.AddMonths(-1);
  8. DateTo.Date = DateTime.Today;
  9. }
  10. private async void OnGenerateClicked(object sender, EventArgs e)
  11. {
  12. if (DateTo.Date < DateFrom.Date)
  13. {
  14. await DisplayAlert("Ошибка", "Дата «По» не может быть раньше «С»", "OK");
  15. return;
  16. }
  17. try
  18. {
  19. var data = await Repository.GetBookingReportAsync((DateTime)DateFrom.Date, (DateTime)DateTo.Date);
  20. ReportList.ItemsSource = data;
  21. var total = data.Sum(b => b.TotalCost);
  22. TotalLabel.Text = $"{total:N0} ₽";
  23. }
  24. catch (Exception ex)
  25. {
  26. await DisplayAlert("Ошибка", ex.Message, "OK");
  27. }
  28. }
  29. }