/// <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); // } //} } }
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; }