Beispiel #1
0
        /// <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;
        }
Beispiel #2
0
        /// <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;
        }