public App() { InitializeComponent(); restClient = new RestClient(); _connection = new SQLiteConnection(Connection.GetConnection()); #region i18n var getter = DependencyService.Get <IDependencyGetter>(); localizer = getter.Get <ILocalizer>(); localizeResProvider = getter.Get <ILocalizedResourceProvider>(); defaultCulture = localizer.GetCurrentCultureInfo(); localizer.SetLocale(defaultCulture); #endregion var icons = Plugin.Iconize.Iconize.Modules.FirstOrDefault()?.Keys.Take(5) ?? new string[0]; AuthenticationClient = new PublicClientApplication(Constants.ApplicationID); //Load json file ListReport = ReportQuestion.initReport(); ReportText = LoadResourceJson.GetJsonFile(); ListReportData = LoadResourceJson.GetBeforeDisater(); Reporter = new Reporter(); ReportTextReplace = ""; bottomTabbedPage = new BottomTabbedPage(); SetData(); MainPage = new NavigationPage(bottomTabbedPage) { BarBackgroundColor = Color.FromHex("#ce1e21"), BarTextColor = Color.White, }; //IsNavBack = true; IsConnectivity = CrossConnectivity.Current.IsConnected; if (_connection == null) { } if (IsConnectivity) { //SetContact(); ListContact = new List <Models.User>(); } AsyncEvent(); var repository = Get <UserRepository>(); UserLites = repository.GetAll(); CrossConnectivity.Current.ConnectivityChanged += Current_ConnectivityChanged; }
async void Next_Clicked(object sender, EventArgs e) { App.localizer.SetLocale(App.defaultCulture); try { if (App.user == null || string.IsNullOrEmpty(App.user.UserId)) { await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String159"), "Ok"); } else { var answer = await DisplayAlert(App.localizeResProvider.GetText("String160"), App.localizeResProvider.GetText("String161"), App.localizeResProvider.GetText("Yes1"), App.localizeResProvider.GetText("No1")); if (answer) { SetData(); if (App.IsConnectivity) { #region neu nhu co mang App.ReportTextReplace = App.ReportText.ReplaceData(App.ListReport); RestClient restClient = App.restClient; Models.Report report = new Models.Report(); report.Data = App.ReportTextReplace; report.CreatedTime = DateTime.Now; report.ReportType = 1; report.Event = ListEvent[picEvent.SelectedIndex]; report.Status = 0; report.User = App.user; report.Location = App.user.Location; var result = await restClient.PostAsync("reports", report); if (result.ToUpper().Equals(ApiStatusConstant.SUCCESS)) { App.ListReport = ReportQuestion.initReport(); await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String157"), "Ok"); } else { await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String158"), "Ok"); } #endregion var existingPages = Navigation.NavigationStack.ToList(); for (int i = 1; i < existingPages.Count; i++) { Navigation.RemovePage(existingPages[i]); } } else { #region Neu nhu mat mang if (App._connection == null) { App._connection = new SQLite.SQLiteConnection(Connection.GetConnection()); } try { //Bao cao sau tham hoa offline var repository = App.Get <ReportRepository>(); ReportLite reportLite = new ReportLite(); reportLite.Data = JsonConvert.SerializeObject(App.ListReport); reportLite.CreatedTime = DateTime.Now; reportLite.ReportType = 1; reportLite.EventId = ListEvent[picEvent.SelectedIndex].EventId; reportLite.Status = 0; reportLite.LocationId = App.user.Location != null ? App.user.Location.LocationId : 0; reportLite.UserId = App.user.UserId; repository.Create(reportLite); App.ListReport = ReportQuestion.initReport(); await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String157"), "Ok"); } catch { await DisplayAlert(App.localizeResProvider.GetText("Notification"), App.localizeResProvider.GetText("String158"), "Ok"); } #endregion var existingPages = Navigation.NavigationStack.ToList(); for (int i = 1; i < existingPages.Count; i++) { Navigation.RemovePage(existingPages[i]); } } } } } catch (Exception ex) { } }