async void Handle_Tapped(object sender, System.EventArgs e)
        {
            var icon = sender as Image;

            switch (icon.StyleId)
            {
            case "camera_icon":
                await CommonFunction.StoreImages(jobItem.EventRecordId.ToString(), this, "NormalImage");

                DisplayImage();
                BackgroundTask.StartTimer();
                break;

            case "confirm_icon":
                UploadDetail();
                break;
            }
        }
Пример #2
0
        async void ChangePassword_Clicked(object sender, EventArgs e)
        {
            try
            {
                if (!(string.IsNullOrEmpty(newPasswordEntry.Text) && string.IsNullOrEmpty(confirmPasswordEntry.Text)))
                {
                    if (newPasswordEntry.Text.Equals(confirmPasswordEntry.Text))
                    {
                        string encryptedNewPassword = clsCommonFunc.AES_Encrypt(newPasswordEntry.Text);

                        var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.getChangePasswordURL(encryptedNewPassword), this);

                        clsResponse json_response = JsonConvert.DeserializeObject <clsResponse>(content);

                        if (json_response.IsGood)
                        {
                            string response = (Ultis.Settings.Language.Equals("English")) ? "Change Password is Successful! Please login again." : "Berjaya ! Sila login semula.";

                            await DisplayAlert("", response, "OK");

                            BackgroundTask.Logout(this);
                        }
                    }
                    else
                    {
                        await DisplayAlert("New Password Not Match", "Entered New Password and Confirm New Password must be the same.", "Okay");
                    }
                }
                else
                {
                    await DisplayAlert("Field missing", "Entered all field before proceed.", "Okay");
                }
            }
            catch (Exception)
            {
            }
        }
Пример #3
0
        public async void takeImage(object sender, EventArgs e)
        {
            try
            {
                lblReminder.IsVisible = false;
                await CommonFunction.StoreImages(linkId, this, "NormalImage");

                displayImage();

                BackgroundTask.StartTimer();

                /*List<AppImage> uploadImages = App.Database.GetRecordImagesAsync(linkId, false);
                 *
                 * foreach (AppImage uploadImage in uploadImages)
                 * {
                 *  clsFileObject capturedImage = new clsFileObject();
                 *  if (uploadImage.photoScaledFileLocation == null)
                 *  {
                 *      byte[] originalPhotoImageBytes = File.ReadAllBytes(uploadImage.photoFileLocation);
                 *      byte[] scaledImageByte = DependencyService.Get<IThumbnailHelper>().ResizeImage(originalPhotoImageBytes, 1024, 1024, 100);
                 *
                 *      capturedImage.Content = scaledImageByte;
                 *      capturedImage.FileName = uploadImage.photoFileName;
                 *
                 *      string scaledFolder = HelperUtil.GetScaledFolder(uploadImage.photoFileLocation);
                 *
                 *      if (!Directory.Exists(scaledFolder))
                 *      {
                 *          Directory.CreateDirectory(scaledFolder);
                 *      }
                 *      uploadImage.photoScaledFileLocation = Path.Combine(scaledFolder, HelperUtil.GetPhotoFileName(uploadImage.photoFileLocation));
                 *      File.WriteAllBytes(uploadImage.photoScaledFileLocation, scaledImageByte);
                 *      App.Database.SaveRecordImageAsync(uploadImage);
                 *  }
                 *
                 *  try
                 *  {
                 *      var imageClient = new HttpClient();
                 *      imageClient.BaseAddress = new Uri(Ultis.Settings.SessionBaseURI);
                 *      var imageUri = ControllerUtil.UploadImageURL(linkId);
                 *      var content = JsonConvert.SerializeObject(capturedImage);
                 *      var httpContent = new StringContent(content, Encoding.UTF8, "application/json");
                 *
                 *      HttpResponseMessage imageResponse = await imageClient.PostAsync(imageUri, httpContent);
                 *      var Imagereply = await imageResponse.Content.ReadAsStringAsync();
                 *      Debug.WriteLine(Imagereply);
                 *      clsResponse Imageresult = JsonConvert.DeserializeObject<clsResponse>(Imagereply);
                 *
                 *      if (Imageresult.IsGood == true)
                 *      {
                 *          uploadImage.Uploaded = true;
                 *          App.Database.SaveRecordImageAsync(uploadImage);
                 *          await DisplayAlert("Success", "Images uploaded", "Ok");
                 *      }
                 *      else
                 *      {
                 *          await DisplayAlert("Error", Imageresult.Message, "OK");
                 *      }
                 *  }
                 *  catch (HttpRequestException)
                 *  {
                 *      await DisplayAlert("Unable to connect", "Please try again later", "Ok");
                 *  }
                 *  catch (Exception exception)
                 *  {
                 *      await DisplayAlert("Error", exception.Message, "Ok");
                 *  }
                 * }*/
            }
            catch
            {
            }
        }
Пример #4
0
        async void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            if (Ultis.Settings.SessionSettingKey == "")
            {
                BackgroundTask.Logout(this);
            }
            else
            {
                var item = e.SelectedItem as MasterPageItem;

                if (item != null)
                {
                    if (item.Id.Equals("AddProvider"))
                    {
                        var answer = await DisplayAlert("", "Refresh provider list?", "Yes", "No");

                        if (answer.Equals(true))
                        {
                            try
                            {
                                var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.getAutoScanURL(), this);

                                clsResponse autoScan_response = JsonConvert.DeserializeObject <clsResponse>(content);

                                if (autoScan_response.IsGood)
                                {
                                    await DisplayAlert("Success", autoScan_response.Result, "OK");

                                    Ultis.Settings.AppFirstInstall = "Refresh";
                                    Application.Current.MainPage   = new MainPage();
                                }
                            }
                            catch
                            {
                            }
                        }
                    }
                    else if (item.Id.Equals("Panic"))
                    {
                        string panic  = (Ultis.Settings.Language.Equals("English")) ? "Send panic message ?" : "Pasti ?";
                        var    answer = await DisplayAlert("", panic, "Yes", "No");

                        if (answer.Equals(true))
                        {
                            try
                            {
                                var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.getPanicURL(), this);

                                clsResponse panic_response = JsonConvert.DeserializeObject <clsResponse>(content);
                                if (panic_response.IsGood)
                                {
                                    string reply = (Ultis.Settings.Language.Equals("English")) ? "Message sent successfully." : "Permintaan anda telah dihantar.";
                                    await DisplayAlert("", reply, "Okay");
                                }
                            }
                            catch
                            {
                            }
                        }
                    }
                    else if (item.Id.Equals("CallOffice"))
                    {
                        try
                        {
                            Device.OpenUri(new Uri(String.Format("tel:{0}", Ultis.Settings.SessionUserItem.OperationPhone)));
                        }
                        catch
                        {
                        }
                    }
                    else if (item.Id.Equals("CallMe"))
                    {
                        string callMe = (Ultis.Settings.Language.Equals("English")) ? "Request controller to call you ?" : "Pasti ?";
                        var    answer = await DisplayAlert("", callMe, "Yes", "No");

                        if (answer.Equals(true))
                        {
                            try
                            {
                                var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.getCallOperatorURL(), this);

                                clsResponse callMe_response = JsonConvert.DeserializeObject <clsResponse>(content);
                                if (callMe_response.IsGood == true)
                                {
                                    string reply = (Ultis.Settings.Language.Equals("English")) ? "Your request has been attended" : "Permintaan anda telah dihantar.";
                                    await DisplayAlert("", reply, "Okay");
                                }
                            }
                            catch
                            {
                            }
                        }
                    }
                    else if (item.Id.Equals("Language"))
                    {
                        string language = (Ultis.Settings.Language.Equals("English")) ? "Please choose prefer language" : "Sila pilih bahasa ";
                        var    answer   = await DisplayActionSheet(language, "", null, "English", "Malay");

                        string uri = "";
                        if (answer != null)
                        {
                            if (answer.Equals("English"))
                            {
                                uri = ControllerUtil.getLanguageURL(0);
                                Ultis.Settings.Language = "English";
                            }
                            else if (answer.Equals("Malay"))
                            {
                                uri = ControllerUtil.getLanguageURL(1);
                                Ultis.Settings.Language = "Malay";
                            }

                            try
                            {
                                var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, uri, this);

                                clsResponse json_response = JsonConvert.DeserializeObject <clsResponse>(content);

                                if (json_response.IsGood)
                                {
                                    Ultis.Settings.RefreshListView = "Yes";
                                    string reply = (Ultis.Settings.Language.Equals("English")) ? "Language had been changed." : "Bahasa telah diubah.";
                                    await DisplayAlert("", reply, "Okay");

                                    refreshMainPage();
                                }
                            }
                            catch
                            {
                            }
                        }
                        else
                        {
                        }
                    }
                    else if (item.Id.Equals("LogOff"))
                    {
                        string logoff = (Ultis.Settings.Language.Equals("English")) ? "Are you sure?" : "Pasti ?";
                        var    answer = await DisplayAlert("", logoff, "Yes", "No");

                        if (answer.Equals(true))
                        {
                            try
                            {
                                var content = await CommonFunction.CallWebService(0, null, Ultis.Settings.SessionBaseURI, ControllerUtil.getLogOutURL(), this);

                                clsResponse logoutResponse = JsonConvert.DeserializeObject <clsResponse>(content);

                                if (logoutResponse.IsGood)
                                {
                                    //App.DropDatabase(); the app will crash
                                    BackgroundTask.Logout(this);
                                }
                            }
                            catch
                            {
                            }
                        }
                    }
                    else
                    {
                        Detail = new CustomNavigationPage((Page)Activator.CreateInstance(item.TargetType));
                        masterPage.ListView.SelectedItem = null;
                        IsPresented = false;
                    }
                }
            }
        }
Пример #5
0
        protected override async void OnAppearing()
        {
            if (Ultis.Settings.UpdatedRecord.Equals("Yes"))
            {
                await BackgroundTask.DownloadLatestRecord(this);

                Ultis.Settings.UpdatedRecord = "No";
            }

            var activity = new ActivityIndicator
            {
                IsEnabled         = true,
                IsVisible         = true,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                IsRunning         = true
            };

            var layout = new StackLayout();

            ListView listView = new ListView()
            {
                HasUnevenRows  = true,
                Style          = (Style)App.Current.Resources["recordListStyle"],
                SeparatorColor = Color.White
            };

            Image noData = new Image()
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                Source            = "nodatafound.png",
                IsVisible         = false
            };

            Image scanBC = new Image()
            {
                HorizontalOptions = LayoutOptions.EndAndExpand,
                Source            = "barCode.png",
                IsVisible         = true,
            };

            var scanCode = new TapGestureRecognizer();

            scanCode.Tapped += async(sender, e) =>
            {
            };
            scanBC.GestureRecognizers.Add(scanCode);


            layout.Children.Add(listView);
            layout.Children.Add(noData);
            layout.Children.Add(activity);

            if (Ultis.Settings.MenuAction.Equals("Job_List"))
            {
                jobs = new ObservableCollection <JobItems>(App.Database.GetJobItems(doneStatus, "HaulageJob"));


                listView.ItemsSource    = jobs;
                Ultis.Settings.ListType = "Job_List";
            }

            listView.ItemTemplate = new DataTemplate(typeof(CustomListViewCell));


            if (jobs.Count == 0)
            {
                listView.IsVisible = false;
                noData.IsVisible   = true;
            }
            else
            {
                listView.IsVisible = true;
                noData.IsVisible   = false;
            }

            listView.ItemTapped += (sender, e) =>
            {
                Ultis.Settings.SessionCurrentJobId = ((JobItems)e.Item).Id;
                JobDetails jobDetail = new JobDetails(((JobItems)e.Item).ActionId, ((JobItems)e.Item).ActionMessage);
                Ultis.Settings.ActionID = ((JobItems)e.Item).ActionId;
                //jobDetail.previousPage = this;
                Navigation.PushAsync(jobDetail);
            };

            listView.IsPullToRefreshEnabled = true;

            listView.Refreshing += (sender, e) =>
            {
                if (doneStatus == 0)
                {
                    Task.Run(async() => {
                        await BackgroundTask.DownloadLatestRecord(this);
                        await BackgroundTask.UploadLatestRecord();
                    }).Wait();
                }
                ListView list = (ListView)sender;

                if (Ultis.Settings.App.Equals("Haulage"))
                {
                    list.ItemsSource = App.Database.GetJobItems(doneStatus, "HaulageJob");
                }
                list.IsRefreshing = false;
            };

            activity.IsRunning = false;
            activity.IsVisible = false;

            Content = layout;
        }