Example #1
0
        /// <summary>
        /// Writes QRCode to file
        /// </summary>
        /// <param name="dealerQrCode">object containing filename and qrcodeImage to write if Lincoln for layering</param>
        /// <param name="qrCode">other vendor QRCode (straight write)</param>
        public void WriteQrCode(ref DealerQRCode dealerQrCode, QRCode qrCode)
        {
            using (var outerStream = new MemoryStream())
            {
                qrCode.drawBarcode(outerStream);
                dealerQrCode.QRCodeImage = outerStream.ToArray();
                outerStream.Flush();

                var basePath = dealerQrCode.IsGeneric
                                      ? (_backEndType == BackEndType.CatalogAdminDev
                                             ? EnviornmentPath.GenericDev
                                             : _backEndType == BackEndType.CatalogAdminStaging
                                                   ? EnviornmentPath.GenericStaging
                                                   : EnviornmentPath.GenericProduction)
                                      : (_backEndType == BackEndType.CatalogAdminDev
                                             ? EnviornmentPath.Dev
                                             : _backEndType == BackEndType.CatalogAdminStaging
                                                   ? EnviornmentPath.Staging
                                                   : EnviornmentPath.Production);

                using (var fileStream = new FileStream(string.Format(@"{0}\{1}", basePath, dealerQrCode.FileName), FileMode.OpenOrCreate, FileAccess.ReadWrite))
                {
                    qrCode.drawBarcode(fileStream);
                }

                //Must Layer Lincoln logo
                //if (dealerQrCode.Brand.ToLower() == "lincoln")
                //{
                //    var layerStream = new MemoryStream();
                //    using (var innerStream = new MemoryStream(dealerQrCode.QRCodeImage))
                //    {
                //        var bmp = new Bitmap(innerStream);
                //        var logoImg = Resources.lincolnlogo;
                //        using (var layeredBitMap = ImageImpose.SuperImpose(bmp, logoImg))
                //        {
                //            layeredBitMap.Save(layerStream, ImageFormat.Jpeg);

                //            dealerQrCode.QRCodeImage = layerStream.ToArray();

                //            using (var fileStream =new FileStream(string.Format("{0}/{1}", basePath, dealerQrCode.FileName),FileMode.OpenOrCreate, FileAccess.ReadWrite))
                //            {
                //                bmp.Save(fileStream, ImageFormat.Jpeg);
                //            }
                //        }
                //    }

                //}
                //else
                //{
                //    using (var fileStream = new FileStream(string.Format(@"{0}\{1}", basePath, dealerQrCode.FileName), FileMode.OpenOrCreate, FileAccess.ReadWrite))
                //    {
                //        qrCode.drawBarcode(fileStream);
                //    }
                //}
            }
        }
Example #2
0
        private static DealerQRCode BuildGenericQrCode(Catalog catalog)
        {
            var genericQr = new DealerQRCode
                {
                    DealerPA = "00000",
                    SKU = catalog.Sku,
                    Year = catalog.CatalogYear,
                    Brand = catalog.Brand,
                    Vehicle = catalog.ShortName,
                    FileName = string.Format(@"{0}_Generic_QRCode.jpg", catalog.Sku),
                    QRCodeYear = catalog.CatalogYear.ToString(CultureInfo.InvariantCulture),
                    BarcodeData = QrCodeUrl.BuildGenericUrl(catalog),
                    IsGeneric = true
                };

            return genericQr;
        }