public void TestQuantityCombinationNoDiscount()
        {
            // test
            var discountProducts = new List <IProduct>();
            var km       = new KortingsManager();
            var barcodes = new List <string>();

            barcodes.Add("02");
            barcodes.Add("03");

            km.CombinationDiscount(barcodes, 4, 0.2m);

            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 100m));
            var product2 = new BarcodeEventArgs(new Product("02", "Test product 02!", 1.4m));
            var product3 = new BarcodeEventArgs(new Product("03", "Test product 03!", 11m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product3);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product3);
            km.RaiseBarcodeScaned(null, product2);

            // validate
            Assert.IsEmpty(discountProducts);
        }
        public void TestQuantityCombinationDiscountSingleProduct()
        {
            // test
            var discountProducts = new List <IProduct>();
            var km       = new KortingsManager();
            var barcodes = new List <string>();

            barcodes.Add("02");
            barcodes.Add("01");
            km.CombinationDiscount(barcodes, 5, 0.10m);
            var product1 = new BarcodeEventArgs(new Product("02", "Test product 02!", 1m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);

            // validate
            Assert.IsNotEmpty(discountProducts);
            Assert.AreEqual(1, discountProducts.Count);
            Assert.AreEqual("D-", discountProducts[0].Barcode);
            Assert.AreEqual(-0.50m, discountProducts[0].Amount);
        }
        public void TestNoDiscounWithCheckOutAfter4()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            var barcodes = new List <string>();

            barcodes.Add("02");
            barcodes.Add("01");

            km.CombinationDiscountOfProduct(barcodes, 5);

            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1.76m));
            var product2 = new BarcodeEventArgs(new Product("02", "Test product 02!", 4m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product2);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product2);

            // validate
            Assert.IsEmpty(discountProducts);
        }
Exemplo n.º 4
0
 private void TellThemCaptureCompleted(BarcodeEventArgs e)
 {
     if (OnCapturedNotify != null)
     {
         OnCapturedNotify(_deviceHandler, e);
     }
 }
Exemplo n.º 5
0
 private async void animateFlash(object sender, BarcodeEventArgs e)
 {
     Device.BeginInvokeOnMainThread(async() => {
         await flash.FadeTo(1, 150, Easing.CubicInOut);
         flash.Opacity = 0;
     });
 }
        public void TestSingleDiscount()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            var barcodes = new List <string>();

            barcodes.Add("01");
            barcodes.Add("02");

            km.TwoProductDiscount(barcodes, 2.99m);

            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1.0m));
            var product2 = new BarcodeEventArgs(new Product("02", "Test product 02!", 4.0m));


            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product2);

            // validate
            Assert.IsNotEmpty(discountProducts);
            Assert.AreEqual(1, discountProducts.Count);
            Assert.AreEqual("Discount-01-02", discountProducts[0].Description);
            Assert.AreEqual(-2.01m, discountProducts[0].Amount);
        }
        public void TestNoDiscount()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            var barcodes = new List <string>();

            barcodes.Add("02");
            barcodes.Add("03");

            km.TwoProductDiscount(barcodes, 2.99m);

            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1.0m));
            var product2 = new BarcodeEventArgs(new Product("02", "Test product 02!", 4.0m));


            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product2);

            // validate
            Assert.IsEmpty(discountProducts);
        }
Exemplo n.º 8
0
        public void TestSingleDiscounWithCheckOutAfter3()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            km.QuantityThreeDiscount();
            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);

            // validate
            Assert.IsNotEmpty(discountProducts);
            Assert.AreEqual(1, discountProducts.Count);
            Assert.AreEqual(-0.75m, discountProducts[0].Amount);
            Assert.AreEqual("DISCOUNT ON" + product1.Product.Description, discountProducts[0].Description);

            Assert.AreEqual(2, product1.Product.Amount + product1.Product.Amount);
        }
 private void TellThemCaptureCompleted(BarcodeEventArgs e)
 {
     if (m_captureCompleted != null)
     {
         m_captureCompleted(e);
     }
 }
Exemplo n.º 10
0
        //---------------------------------------------------------------------------------------

        void onBcr(object sender, BarcodeEventArgs args)
        {
            Tools.RunInGui(this, delegate()
            {
                string theText = Tools.MaskNonAscii(args.Data);
                logTextControl.AppendTicksLine("BCR: " + theText);
                textBox.AppendText(theText + "\r\n");
            });
        }
Exemplo n.º 11
0
 public void BarcodeDelegateMethod(BarcodeEventArgs value)
 {
     edBarcode.Text         = value.Value;
     edBarcodeMetadata.Text = string.Empty;
     foreach (var o in value.Metadata)
     {
         edBarcodeMetadata.Text += o.Key + ": " + o.Value + Environment.NewLine;
     }
 }
Exemplo n.º 12
0
        private void IssueBarcodeMessage(string prefix, BarcodeEventArgs e)
        {
            string message = string.Format(
                System.Globalization.CultureInfo.CurrentUICulture,
                "{0,-8} Barcode: {1}",
                prefix,
                e.Barcode);

            this.OnBarcodeMessage(message);
        }
Exemplo n.º 13
0
        private ScanStationErrors OnBarcodeProveRequest(BarcodeEventArgs e)
        {
            var handler = BarcodeProveRequestEvent;

            if (handler != null)
            {
                return(handler(this, e));
            }

            return(ScanStationErrors.Success);
        }
Exemplo n.º 14
0
 void conScan_ScanReady(object sender, BarcodeEventArgs e)
 {
     textBox1.Text = e.Text;
     if (e._bSuccess)
     {
         textBox1.BackColor = Color.Green;
     }
     else
     {
         textBox1.BackColor = Color.Pink;
     }
 }
Exemplo n.º 15
0
        private void _player_OnBarcodeDetected(object sender, BarcodeEventArgs e)
        {
            e.DetectorEnabled = false;

            Invoke((Action)(() =>
            {
                edBarcode.Text = e.Value;
                edBarcodeMetadata.Text = string.Empty;
                foreach (var o in e.Metadata)
                {
                    edBarcodeMetadata.Text += o.Key + ": " + o.Value + Environment.NewLine;
                }
            }));
        }
Exemplo n.º 16
0
        private BarcodeReceivedFeedback OnBarcodeReceived(BarcodeEventArgs e)
        {
            var handler = BarcodeReceivedEvent;

            if (handler != null)
            {
                return(handler(this, e));
            }

            return(new BarcodeReceivedFeedback()
            {
                Result = ScanStationErrors.Failed, Data = new BarcodeResultJsonType()
                {
                    Barcode = e.Barcode, Message = "Barcode receiver missing - Check source code"
                }
            });
        }
Exemplo n.º 17
0
        private ScanStationErrors BarcodeSanityCheckHandler(object sender, BarcodeEventArgs e)
        {
            _logger.DebugFormat("Barcode Sanity Check: {0}", e.Barcode);

            if (!string.IsNullOrEmpty(e.Barcode) && (e.Barcode.Length < 10))
            {
                ulong tmp;
                if (!ulong.TryParse(e.Barcode, out tmp))
                {
                    return(ScanStationErrors.Failed);
                }

                return(ScanStationErrors.Success);
            }

            return(ScanStationErrors.Failed);
        }
Exemplo n.º 18
0
        private BarcodeReceivedFeedback BarcodeReceivedHandler(object sender, BarcodeEventArgs e)
        {
            _logger.DebugFormat("Barcode Received: {0}", e.Barcode);

            var workflowsCollection = _workflowProvider.WorkflowCollection;
            var workflow            = workflowsCollection.Workflows.FirstOrDefault(x => x.Barcode.Equals(e.Barcode));

            if (workflow == null)
            {
                _logger.ErrorFormat("Barcode ({0}) could not be found", e.Barcode);
                return(new BarcodeReceivedFeedback
                {
                    Result = ScanStationErrors.Failed,
                    Data = new BarcodeResultJsonType
                    {
                        Barcode = e.Barcode,
                        Message = "Barcode not found"
                    }
                });
            }

            if (!CreateEntity(e.Barcode, workflow))
            {
                return(new BarcodeReceivedFeedback
                {
                    Result = ScanStationErrors.Failed,
                    Data = new BarcodeResultJsonType
                    {
                        Barcode = e.Barcode,
                        Message = "Job generation Failed"
                    }
                });
            }

            return(new BarcodeReceivedFeedback
            {
                Result = ScanStationErrors.Success,
                Data = new BarcodeResultJsonType
                {
                    Barcode = e.Barcode,
                    Message = "Well done my great Operator"
                }
            });
        }
Exemplo n.º 19
0
 void conScan_ScanReady(object sender, BarcodeEventArgs e)
 {
     textBoxScanResult.Text = e.Text;
     if (e._bSuccess)
     {
         if (checkBoxVibro.Checked)
         {
             conUt.Vibration(200);
         }
         conUt.GoodSound(200);
         pictureBoxOK.Visible    = true;
         pictureBoxNotOk.Visible = false;
     }
     else
     {
         conUt.BadSound(200);
         pictureBoxOK.Visible    = false;
         pictureBoxNotOk.Visible = true;
     }
 }
        public void TestSingleDiscounWithCheckOutAfter6()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            var barcodes = new List <string>();

            barcodes.Add("02");
            barcodes.Add("01");

            km.CombinationDiscountOfProduct(barcodes, 5);

            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1.76m));
            var product2 = new BarcodeEventArgs(new Product("02", "Test product 02!", 4m));
            var product3 = new BarcodeEventArgs(new Product("03", "Test product 02!", 800m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product2);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product2);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product3);


            // validate
            Assert.IsNotEmpty(discountProducts);
            Assert.AreEqual(1, discountProducts.Count);
            Assert.AreEqual(-1.76m, discountProducts[0].Amount);
            Assert.AreEqual("discount-cheapest-01-02-01-02-01-", discountProducts[0].Description);
        }
Exemplo n.º 21
0
        public void TestDiscountTwiseDifferentGetProducts()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            km.QuantityThreeDiscount();
            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1m));
            var product2 = new BarcodeEventArgs(new Product("02", "Test product 02!", 1.4m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);

            km.RaiseBarcodeScaned(null, product2);
            km.RaiseBarcodeScaned(null, product2);
            km.RaiseBarcodeScaned(null, product2);

            // validate
            Assert.IsNotEmpty(discountProducts);
            Assert.AreEqual(2, discountProducts.Count);
            Assert.AreEqual("01", discountProducts[0].Barcode);
            Assert.AreEqual("02", discountProducts[1].Barcode);


            Assert.AreEqual(-0.75m, discountProducts[0].Amount);
            Assert.AreEqual(-1.05m, discountProducts[1].Amount);

            Assert.AreEqual("DISCOUNT ON" + product1.Product.Description, discountProducts[0].Description);
            Assert.AreEqual("DISCOUNT ON" + product2.Product.Description, discountProducts[1].Description);
        }
Exemplo n.º 22
0
        public void TestNODiscounWithCheckOutAfter2()
        {
            // prepare
            var discountProducts = new List <IProduct>();
            var km = new KortingsManager();

            km.QuantityThreeDiscount();
            var product1 = new BarcodeEventArgs(new Product("01", "Test product 01!", 1m));

            km.DiscountAProduct += (sender, e) =>
            {
                discountProducts.Add(e.Product);
            };

            // test
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);
            km.RaisePayment(null, null);
            km.RaiseBarcodeScaned(null, product1);
            km.RaiseBarcodeScaned(null, product1);

            // validate
            Assert.IsEmpty(discountProducts);
        }
Exemplo n.º 23
0
        private void VideoEdit1_OnBarcodeDetected(object sender, BarcodeEventArgs e)
        {
            e.DetectorEnabled = false;

            BeginInvoke(new BarcodeDelegate(BarcodeDelegateMethod), e);
        }
Exemplo n.º 24
0
 private void _barcodeScanner_BarcodeCouldNotScanned(object sender, BarcodeEventArgs e)
 {
     listBox1.Items.Insert(0, "NoRead!");
 }
Exemplo n.º 25
0
 private void _barcodeScanner_BarcodeScanned(object sender, BarcodeEventArgs e)
 {
     listBox1.Items.Insert(0, e.Barcode);
 }
Exemplo n.º 26
0
 /// <summary>
 ///         引发启动事件。
 /// </summary>
 /// <param name="e">包含事件数据的实例<see cref="EventArgs" /></param>
 protected virtual void OnBarcodeChanged(BarcodeEventArgs e)
 => e.Raise(this, ref BarcodeChanged);
Exemplo n.º 27
0
 /// <summary>
 /// Notifies the user interface of a synchronous barcode response
 /// </summary>
 /// <param name="sender">The event source</param>
 /// <param name="e">Data provided for the event</param>
 private void SynchronousBarcode_Received(object sender, BarcodeEventArgs e)
 {
     this.IssueBarcodeMessage("[Sync] ", e);
 }
Exemplo n.º 28
0
        private void OnBarcodeDetected(object sender, BarcodeEventArgs barcodeEventArgs)
        {
            var itemId = HashHelper.ConvertStringToLong(barcodeEventArgs.Barcode);

            RaisePlatformItemDetected(itemId);
        }
Exemplo n.º 29
0
 private void FireCaptureCompletedEvent(BarcodeEventArgs e)
 {
     TellThemCaptureCompleted(e);
 }
Exemplo n.º 30
0
 protected virtual void OnBarcodeEventHandler(BarcodeEventArgs e)
 {
     BarcodeEventHandler?.Invoke(this, e);
 }