Beispiel #1
0
        private void loadListBox()
        {
            this.Invoke((MethodInvoker)(() => listBox1.Items.Clear()));

            foreach (InventoryMember invMemb in DataStore.Inventory.Values)
            {
                Product p = DataStore.getProductByAsin(invMemb.ASIN);

                FNSkuLabel f = new FNSkuLabel(p.ASIN, invMemb.FNSKU, p.Title, "New", 3.0, 1.0);

                this.Invoke((MethodInvoker)(() => listBox1.Items.Add(f)));
            }
        }
Beispiel #2
0
        public static void createInitialBindingList()
        {
            if (Labels == null)
            {
                Labels = new BindingList <FNSkuLabel>();
            }
            Labels.Clear();

            foreach (InventoryMember inv in Inventory.Values)

            {
                if (Products.ContainsKey(inv.ASIN))
                {
                    Product p     = Products[inv.ASIN];
                    var     label = new FNSkuLabel(inv.ASIN, inv.FNSKU, p.Title, "New", 1, 3);
                    Labels.Add(label);
                }
            }
        }
Beispiel #3
0
        public static void Upsert_Product(Product p)
        {
            loadFiles();
            lock (Products)
            {
                Products[p.ASIN] = p;

                if (Inventory.ContainsKey(p.ASIN))
                {
                    InventoryMember inv   = Inventory[p.ASIN];
                    var             label = new FNSkuLabel(inv.ASIN, inv.FNSKU, p.Title, "New", 1, 3);
                    if (Labels.Contains(label))
                    {
                        Labels.Remove(label);
                    }
                    Labels.Add(label);
                }
            }
            saveProduct();
        }
Beispiel #4
0
        public static void Upsert_Inventory(InventoryMember inv)
        {
            loadFiles();

            lock (Inventory)
            {
                Inventory[inv.ASIN] = inv;

                if (Products.ContainsKey(inv.ASIN))
                {
                    Product p = Products[inv.ASIN];

                    var label = new FNSkuLabel(inv.ASIN, inv.FNSKU, p.Title, "New", 1, 3);
                    if (Labels.Contains(label))
                    {
                        Labels.Remove(label);
                    }
                    Labels.Add(label);
                }
            }
            saveInventory();
        }
Beispiel #5
0
        public void create(FNSkuLabel label, string condition, int copies, Double widthInches, Double heightInches)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();

            document.Info.Title = label.FNSKU;
            int ImageHeight = 0;



            for (int i = 0; i < copies; i++)
            {
                // Create an empty page
                PdfPage page = document.AddPage();
                page.Orientation = PageOrientation.Landscape;
                page.Height      = XUnit.FromInch(heightInches);
                page.Width       = XUnit.FromInch(widthInches);

                // Get an XGraphics object for drawing
                using (XGraphics gfx = XGraphics.FromPdfPage(page))
                {
                    using (FNSKUBarcode bc = new FNSKUBarcode(label.FNSKU))
                    {
                        var barCodeImage = bc.getBarCodeImage(1);


                        ImageHeight = barCodeImage.Height;

                        var xOffsetBcToCenter = (page.Width - barCodeImage.Width) / 2;
                        if (xOffsetBcToCenter < 0)
                        {
                            xOffsetBcToCenter = 0;
                        }
                        gfx.DrawImage(barCodeImage, new Point((int)xOffsetBcToCenter + 20, 2));
                    }


                    string labelToFit = label.Title;
                    bool   fit        = false;
                    int    fontSize   = 10;
                    var    font       = new XFont("Verdana", fontSize);
                    XSize  sizeText   = new XSize();

                    while (!fit)
                    {
                        // Create a font

                        sizeText = gfx.MeasureString(labelToFit, font);
                        if (sizeText.Width < page.Width)
                        {
                            fit = true;
                        }
                        else
                        {
                            if (fontSize > minFontSize)
                            {
                                fontSize--;
                                font = new XFont("Verdana", fontSize);
                            }
                            else
                            {
                                string[] words = labelToFit.Split(' ');
                                if (words.Length > 1)
                                {
                                    if (words[words.Length / 2].Length <= 0)
                                    {
                                        labelToFit = labelToFit.Remove(labelToFit.Length / 2, 2);
                                    }
                                    else
                                    {
                                        labelToFit = labelToFit.Replace(words[words.Length / 2], "");
                                    }
                                }
                                else
                                {
                                    labelToFit = labelToFit.Remove(labelToFit.Length / 2, 1);
                                }
                            }
                        }
                    }

                    Double xOffsetToCenter = (page.Width - sizeText.Width) / 2;

                    gfx.DrawString(labelToFit, font, XBrushes.Black, new PointF((float)xOffsetToCenter, ImageHeight + 3));


                    sizeText        = gfx.MeasureString(label.FNSKU, font);
                    xOffsetToCenter = (page.Width - sizeText.Width) / 2;
                    gfx.DrawString(label.FNSKU, font, XBrushes.Black, new PointF((float)xOffsetToCenter, (float)ImageHeight + (float)sizeText.Height + 6.0f));


                    sizeText        = gfx.MeasureString(condition, font);
                    xOffsetToCenter = (page.Width - sizeText.Width) / 2;
                    gfx.DrawString(condition, font, XBrushes.Black, new PointF((float)xOffsetToCenter, (float)ImageHeight + (float)sizeText.Height * 2 + 8.0f));
                    // Draw the text
                    //gfx.DrawString(label.title, font, XBrushes.Black,
                    //new XRect(i.Height+1, 0, page.Width, page.Height),
                    //XStringFormats.Center);

                    // Save the document...
                }
            }
            const string filename = "HelloWorld.pdf";

            document.Save(filename);
            Process.Start(filename);
        }
Beispiel #6
0
 public printLabel(FNSkuLabel fnskuLabel)
 {
     this.label = fnskuLabel;
 }