Esempio n. 1
0
 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;
 }
Esempio n. 2
0
        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)
            {
            }
        }