コード例 #1
0
 private void Start()
 {
     scanner                   = ScannerView.Instance;
     backRenderer.color        = new Color(backRenderer.color.r, backRenderer.color.g, backRenderer.color.b, 0);
     fillRenderer.color        = new Color(fillRenderer.color.r, fillRenderer.color.g, fillRenderer.color.b, 0);
     backRenderer.sortingOrder = nextNoteView.ringSpriteRenderer.sortingOrder + 1;
     fillRenderer.sortingOrder = backRenderer.sortingOrder + 1;
 }
コード例 #2
0
        public App()
        {
            var scannedLabel = new Label {
                Text          = "Scanned Value",
                HeightRequest = 50,
            };

            var scan = new ScannerView {
                HeightRequest = 400,
                WidthRequest  = 400,
                CornerRadius  = 20,
            };

            var btn = new Button {
                Text          = "Push To start scanner",
                HeightRequest = 50,
            };

            scan.OnCancelPressed = () => scannedLabel.Text = "Canceled";
            var options = new MobileBarcodeScanningOptions();

            options.UseFrontCameraIfAvailable = true;
            options.PossibleFormats           = new List <ZXing.BarcodeFormat> {
                ZXing.BarcodeFormat.QR_CODE
            };

            btn.Clicked += (s, e) => {
                scan.StartScanner((res) => {
                    scan.StopScanner();
                    scannedLabel.Text = res.Text;
                }, options);
            };

            // The root page of your application
            MainPage = new ContentPage {
                Content = new StackLayout {
                    VerticalOptions   = LayoutOptions.Center,
                    HorizontalOptions = LayoutOptions.Center,
                    Children          =
                    {
                        scan,
                        scannedLabel,
                        btn
                    }
                }
            };
        }
コード例 #3
0
        public App()
        {
            var scannedLabel = new Label {
                Text = "Scanned Value",
                HeightRequest = 50,
            };

            var scan = new ScannerView {
                HeightRequest = 400,
                WidthRequest = 400,
                CornerRadius=20,
            };

            var btn = new Button {
                Text = "Push To start scanner",
                HeightRequest=50,
            };
            scan.OnCancelPressed = () => scannedLabel.Text = "Canceled";
            var options = new MobileBarcodeScanningOptions ();
            options.UseFrontCameraIfAvailable = true;
            options.PossibleFormats = new List<ZXing.BarcodeFormat> {
                ZXing.BarcodeFormat.QR_CODE
            };

            btn.Clicked += (s, e) => {
                scan.StartScanner((res)=>{
                    scan.StopScanner();
                    scannedLabel.Text=res.Text;
                },options);
            };

            // The root page of your application
            MainPage = new ContentPage {
                Content = new StackLayout {
                    VerticalOptions = LayoutOptions.Center,
                    HorizontalOptions=LayoutOptions.Center,
                    Children = {
                        scan,
                        scannedLabel,
                        btn
                    }
                }
            };
        }
コード例 #4
0
 /// <summary>
 /// Applies saved settings to the ScannerView
 /// </summary>
 /// <param name="view">The ScannerView</param>
 public static void ApplyScannerViewSettings(ScannerView view)
 {
     if (string.IsNullOrEmpty(Settings.Default.gridOrder))
     {
         return;
     }
     try
     {
         //The string is like this:
         //<ColumnName>,<index>,<visible>|<ColumnName>,<index>,<visible>|<ColumnName>,<index>,<visible>|etc.
         string[] parts;
         foreach (string piece in Settings.Default.gridOrder.Split('|'))
         {
             parts = piece.Split(',');
             if (view != null)
             {
                 view.scannerGrid.Columns[parts[0]].DisplayIndex = Convert.ToInt32(parts[1]);
                 view.scannerGrid.Columns[parts[0]].Visible      = parts[2] == "True";
             }
         }
     }
     catch (NullReferenceException)
     {
         //Something went wrong, ignore
     }
     catch (IndexOutOfRangeException)
     {
         //Something went wrong, ignore
     }
     catch (FormatException)
     {
         //Something went wrong, ignore
     }
     //refresh the context menu
     if (view != null)
     {
         view.UpdateColumnList();
     }
 }
コード例 #5
0
        public async void ShowScan()
        {
            var    page       = MainPage.GetInstance();
            var    httpClient = new HttpClient();
            string validStr   = "";

            try
            {
                var result = await httpClient.PostAsJsonAsync(Definitions.Localhost + "api/KiemKe/BKK_CHECK?dv_QL=" + MaDV + "&bkk_ID=" + MaBKK + "&ngay_TAO=" + Date.ToString("yyyy-MM-dd"), new { });

                var content = await result.Content.ReadAsStringAsync();

                JObject rss       = JObject.Parse(content);
                var     resultAPI = rss["result"];
                validStr = (resultAPI as JArray).First["result"].ToString();
            }
            catch
            {
                await page.DisplayAlert("Lỗi", "Kết nối server bị lỗi, kiểm tra lại đường dẫn!", "Ok");

                return;
            }



            if (validStr != "Hop Le")
            {
                await page.DisplayAlert("Lỗi", "Thông tin kiểm kê không đúng hoặc bản kiểm kê đã bị đóng!", "Ok");

                return;
            }
            using (UserDialogs.Instance.Loading("Waiting.."))
            {
                ScannerView scanPage = ScannerView.GetInstance();
                //scanPage.InitData(Date, MaBKK, MaDV);
                await App.Current.MainPage.Navigation.PushAsync(scanPage, true);
            }
        }
コード例 #6
0
        public ScannerPage(ScanningOptionsBase options = null, View customOverlay = null) : base()
        {
            _scannerView = new ScannerView
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.FillAndExpand,
                Options           = options,
            };

            _scannerView.SetBinding(ScannerView.IsAnalyzingProperty, new Binding(nameof(IsAnalyzing)));
            _scannerView.SetBinding(ScannerView.IsScanningProperty, new Binding(nameof(IsScanning)));
            _scannerView.SetBinding(ScannerView.ResultProperty, new Binding(nameof(Result)));

            _scannerView.OnScanResult += (result) =>
            {
                this.OnScanResult?.Invoke(result);
            };



            var grid = new Grid
            {
                VerticalOptions   = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
            };

            grid.Children.Add(_scannerView);

            if (customOverlay != null)
            {
                Overlay = customOverlay;
                grid.Children.Add(Overlay);
            }

            // The root page of your application
            Content = grid;
        }
コード例 #7
0
 /// <summary>
 /// Saves the settings of the ScannerView
 /// </summary>
 /// <param name="view">The ScannerView</param>
 public static void SaveScannerViewSettings(ScannerView view)
 {
     try
     {
         StringBuilder sbOut = new StringBuilder();
         string        pipe  = "";
         foreach (DataGridViewColumn col in view.scannerGrid.Columns)
         {
             //Add the column name and order
             sbOut.Append(pipe);
             sbOut.Append(col.Name);
             sbOut.Append(",");
             sbOut.Append(col.DisplayIndex);
             sbOut.Append(",");
             sbOut.Append(col.Visible);
             pipe = "|";
         }
         Settings.Default.gridOrder = sbOut.ToString();
     }
     catch (Exception)
     {
         //Something went wrong, ignore
     }
 }
コード例 #8
0
        public async void Scan()
        {
            try
            {
                FileService.CreateFileData();
            }
            catch
            {
                await NavigationService.GetTopPage().DisplayAlert("Lỗi", "App chưa được quyền truy cập dữ liệu trong máy", "OK");

                return;
            }
            BanKiemKe banKiemKe = new BanKiemKe();

            foreach (BanKiemKe item in AppValue.banKiemKes)
            {
                if (CurrentBKK == item.KK_CODE)
                {
                    banKiemKe = item;
                    break;
                }
            }

            AppValue.banKiemKe = banKiemKe;
            if (Choose1) //online
            {
                AppValue.KKType = 1;
            }
            else //offline
            {
                AppValue.KKType = 2;
            }

            using (Acr.UserDialogs.UserDialogs.Instance.Loading("Loading.."))
            {
                if (Choose1) //KK ONLINE
                {
                }
                else //KK OFFLINE
                {
                    //LẤY RA KIEMKE TRONG LOCAL DATA
                    KiemKe kiemke = DataProvider.GetKiemKe(banKiemKe);
                    if (kiemke == null)
                    {
                        kiemke = new KiemKe
                        {
                            BKK     = banKiemKe,
                            RECORDS = new List <ChiTietBanKiemKe>()
                        };
                        LocalData.KiemKes.Add(kiemke);
                    }

                    //Lưu lại thông tin kiểm kê hiện tại
                    AppValue.kiemKe = kiemke;
                }

                //chuyển sang page quét mã
                var scanPage = ScannerView.GetInstance();
                scanPage.SetBKKInfor();
                await App.Current.MainPage.Navigation.PushAsync(scanPage);
            }
        }
コード例 #9
0
 public MainWindow()
 {
     InitializeComponent();
     DataContext = new ScannerView();
 }
コード例 #10
0
        public async void KiemKe()
        {
            string error = CheckValidInfor();

            if (error != "")
            {
                var page = NavigationService.GetTopPage();
                await page.DisplayAlert("Lỗi", error, "OK");

                return;
            }

            ThietBi thietbi = new ThietBi();

            if (AppValue.KKType == 1) //ONLINE
            {
                if (Choose1)          //nhập mã
                {
                    var            httpClient = new HttpClient();
                    JsonSerializer serializer = new JsonSerializer();
                    var            response   = await httpClient.GetStringAsync(Definitions.Localhost + "api/ThietBi/ThietBiById?thietbiId=" + MaTB);

                    JObject rss2       = JObject.Parse(response);
                    var     resultAPI2 = rss2["result"];
                    thietbi = (ThietBi)serializer.Deserialize(new JTokenReader(resultAPI2), typeof(ThietBi));

                    if (thietbi == null)
                    {
                        var scanPage = ScannerView.GetInstance();
                        await scanPage.DisplayAlert("Lỗi", "Thiết bị không tồn tại hoặc đã bị xóa!", "OK", "Hủy");

                        scanPage.popupIsOpen = false;
                        return;
                    }
                }
                else //nhập tên
                {
                    thietbi.TB_TEN         = TenTB;
                    thietbi.TB_NGAY_MUA    = new DateTime(0001, 01, 01);
                    thietbi.TB_NGAY_BH     = new DateTime(0001, 01, 01);
                    thietbi.TB_NGAY_HET_BH = new DateTime(0001, 01, 01);
                    thietbi.TB_Nam_SX      = 0;
                }
            }
            else//OFFLINE
            {
                if (Choose1)
                {
                    thietbi.TB_ID = MaTB;
                }
                else
                {
                    thietbi.TB_TEN = TenTB;
                }
            }


            using (Acr.UserDialogs.UserDialogs.Instance.Loading("Loading.."))
            {
                StockTakingView sw = new StockTakingView(thietbi);
                await App.Current.MainPage.Navigation.PushAsync(sw, true);
            }
        }