/// <summary> /// Create QR Codes given a DealerPA, creates based upon what QRCodes and Catalogs already exist in the database. /// </summary> /// <param name="dealerPa"></param> /// <returns></returns> public TransactionResponse CreateQRCodeByDealerPa(string dealerPa, string userName) { var response = new TransactionResponse(); try { var dealerSproc = new DealerGetDealerPaStoredProcedure(); dealerSproc.SprocParameters["@DealerPa"] = dealerPa; var dealers = _responseController.SprocController.ExecuteEntitySet<DealerGetDealerPaStoredProcedure, Dealer>(dealerSproc); var catalogs = _responseController.SprocController.ExecuteEntitySet<CatalogGetInDealerQrCodesStoredProcedure, Catalog>(new CatalogGetInDealerQrCodesStoredProcedure()); var dealerQrCodes = new List<DealerQRCode>(); foreach (var catalog in catalogs) { dealerQrCodes.AddRange(BuildDealerQRCodes(catalog, dealers)); } var qrCodes = BuildQRCodes(dealerQrCodes); var container = BuildDealerQRCodeContainer(dealerQrCodes, qrCodes); response.ResponseCode = 200; ProcessQrCodes(container, ref response, userName); response.Message = "Success."; } catch (Exception exc) { response.Message = string.Format("Error! {0}", exc.Message); //response.Count = 0; response.ResponseCode = 500; //response.DealerPa = dealerPa; LogWriter.LogException(new Exception(string.Format("Qr Code Create For Dealers, DealerPa: {0}", dealerPa)), exc); } return response; }
/// <summary> /// Create QR Codes by SKU for dealers subscribed to the program (AddressType = 1 in db). Process is as follows: /// 1. Builds Collection of Dealer information /// 2. Build Catalog by given SKU /// 3. Build QR Codes for insertion (generic and dealerized) /// 4. Build QR Code image files for each dealer + 1 for generic. /// 5. Saves image files based on enviornment. /// 6. Writes QR Codes to database (dbo.DealerQRCodes) via stored procedure ([dbo].[usp_DealerQRCode_Create]). /// </summary> /// <param name="sku"></param> /// <returns></returns> public TransactionResponse CreateQrCodeBySku(string sku, string userName) { var response = new TransactionResponse(); try { var dealerSproc = new DealerGetDealerPaStoredProcedure(); dealerSproc.SprocParameters["@DealerPa"] = null; var dealers = _responseController.SprocController.ExecuteEntitySet<DealerGetDealerPaStoredProcedure, Dealer>(dealerSproc); var catalog = _responseController.SprocController.ExecuteEntity<CatalogGetBySkuStoredProcedure, Catalog>(new CatalogGetBySkuStoredProcedure { SprocParameters = new Dictionary<string, object> {{"@sku", sku}} }); var dealerQrCodes = BuildDealerQRCodes(catalog, dealers); dealerQrCodes.Add(BuildGenericQrCode(catalog)); var qrCodes = BuildQRCodes(dealerQrCodes); var container = BuildDealerQRCodeContainer(dealerQrCodes, qrCodes); //response.Count = 0; ProcessQrCodes(container, ref response, userName); response.Message = "Success."; response.ResponseCode = 200; //response.Sku = sku; } catch (Exception exc) { response.Message = string.Format("Error! {0}", exc.Message); //response.Count = 0; response.ResponseCode = 500; //response.Sku = sku; LogWriter.LogException(new Exception(string.Format("Qr Code Create, Sku: {0}", sku)), exc); } return response; }