protected override int Execute() { Hashtable args = GetArguments(); string prof = args["profile"].ToString(); string outpath = args["outpath"].ToString(); QRProfileBase prf = (QRProfileBase)BarcodeProfileFactory.CreateBarcodeProfileObject(prof); MProfile p = new MProfile(); p.Message1 = prf.Message1; p.Message2 = prf.Message2; p.CompanyWebSite = prf.CompanyWebSite; string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss"); string fileName = string.Format("{0}/{1}_{2}.png", outpath, prof, timeStamp); generator.TemplateFile = prf.TemplateFile; generator.Setup(); generator.RenderToFile(p, fileName); generator.Cleanup(); Console.WriteLine("Done generating barcode at [{0}].", fileName); return(0); }
protected override int Execute() { logger = GetLogger(); Hashtable args = GetArguments(); string payloadUrl = args["url"].ToString(); string batch = args["batch"].ToString(); string prof = args["profile"].ToString(); string outputPath = args["outpath"].ToString(); string generate = (string)args["generate"]; if (generate == null) { generate = ""; } bool imageGenerate = generate.Equals("Y"); BarcodeProfileBase prf = (BarcodeProfileBase)BarcodeProfileFactory.CreateBarcodeProfileObject(prof); INoSqlContext ctx = GetNoSqlContextWithAuthen("FirebaseNoSqlContext"); FactoryBusinessOperation.SetNoSqlContext(ctx); FactoryBusinessOperation.SetLoggerFactory(FactoryConsoleApplication.GetLoggerFactory()); CreateBarcode opr = (CreateBarcode)FactoryBusinessOperation.CreateBusinessOperationObject("CreateBarcode"); int quantity = Int32.Parse(args["quantity"].ToString()); MBarcode param = new MBarcode(); param.BatchNo = batch; param.Url = payloadUrl; string timeStamp = DateTime.Now.ToString("yyyyMMddHHmmss"); generator.TemplateFile = prf.TemplateFile; generator.Setup(); CreateExportFile(prof, param, outputPath, timeStamp); for (int i = 1; i <= quantity; i++) { string chunk = ((i - 1) / imgPerFolder).ToString().PadLeft(6, '0'); string urlPath = string.Format("{0}_{1}_{2}/{3}", prof, param.BatchNo, timeStamp, chunk); string dir = string.Format("{0}/{1}", outputPath, urlPath); if (!Directory.Exists(dir) && imageGenerate) { Directory.CreateDirectory(dir); } param.Path = urlPath; param.CompanyWebSite = prf.CompanyWebSite; param.Barcode = prf.Barcode; param.Product = prf.Product; MBarcode bc = opr.Apply(param); string fileName = string.Format("{0}/{1}-{2}.png", dir, bc.SerialNumber, bc.Pin); if (imageGenerate) { generator.RenderToFile(bc, fileName); } progressFunc(bc, dir); WriteExportFile(prf, bc, param); if ((i % progressPerImage) == 0) { int remain = quantity - i; LogUtils.LogInformation(logger, "Generated {0} barcodes, {1} barcodes to go...", i, remain); } } CloseExportFiles(); generator.Cleanup(); LogUtils.LogInformation(logger, "Done generating {0} barcodes.", quantity); int shipped = UpdateTotalShipped(quantity); LogUtils.LogInformation(logger, "Updated shipped number to {0}.", shipped); return(0); }