protected async override void OnAppearing()
        {
            base.OnAppearing();
            searchAppointments = await InspectionLogTools.SearchAppointments("", currentUser);

            SearchListView.ItemsSource = searchAppointments;
            if (searchAppointments.Count > 0)
            {
                SaveReportBtn.IsVisible = true;
            }
            else
            {
                SaveReportBtn.IsVisible = false;
            }
        }
        private async void searchBar_SearchButtonPressed(object sender, EventArgs e)
        {
            string search = searchBar.Text;

            searchAppointments = await InspectionLogTools.SearchAppointments(search, currentUser);

            SearchListView.ItemsSource = searchAppointments;
            if (searchAppointments.Count > 0)
            {
                SaveReportBtn.IsVisible = true;
            }
            else
            {
                SaveReportBtn.IsVisible = false;
            }
        }
        private async void SaveReportBtn_Clicked(object sender, EventArgs e)
        {
            Report report = new Report();

            report.InspectorID = currentUser.ID;
            var fileName = await DisplayPromptAsync("Name File", "Name this inspection report file.", "Save", "Cancel", "Report Name", 12, Keyboard.Default);

            fileName += ".txt";
            var filePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), fileName);

            string text = null;

            foreach (var s in searchAppointments)
            {
                int    index       = s.IndexOf(" ");
                string idStr       = s.Substring(1, index - 1);
                var    appointment = await App.Database.GetAppointmentAsync(Convert.ToInt32(idStr.Trim()));

                text += await InspectionLogTools.BuildReport(appointment);
            }
            string creater = "Report created by " + currentUser.Name + "\n" + "________________________" + "\n\n";

            text = creater + text;
            if (!File.Exists(filePath) && !filePath.Contains(" "))
            {
                File.WriteAllText(filePath, text);
                report.FilePath  = filePath;
                report.TimeStamp = File.GetLastWriteTime(filePath);
                report.FileName  = fileName;
                await App.Database.SaveReportAsync(report);
                await DisplayAlert("Saved", "Report has been saved.", "OK");
            }
            else
            {
                if (File.Exists(filePath))
                {
                    await DisplayAlert("Conflict", "A file already exist by that name.", "OK");
                }

                else if (filePath.Contains(" "))
                {
                    await DisplayAlert("Naming Error", "File name cannot contain spaces.", "OK");
                }
            }
        }
Ejemplo n.º 4
0
 private async void SearchReports_SearchButtonPressed(object sender, EventArgs e)
 {
     ReportListView.ItemsSource = await InspectionLogTools.SearchReports(SearchReports.Text, reportsDisplay);
 }