public void Set(ScrapParameter param) { if (!FlowMap.ContainsKey(param.Code)) { throw new ScraperException("Code is not defined. Please check code of parameter. Code : " + param.Code); } FlowType type = FlowMap[param.Code]; this.flow = Activator.CreateInstance(type.Flow, this, param, type.LoginMode) as IScrapFlow; this.parameter = param; Gecko.LauncherDialog.Download += (sender, e) => { String tempPath = ConfigSystem.ReadConfig("Config", "Temp", "Path"); String file = Path.Combine(tempPath, DateTime.Now.ToString("yyyyMMddHHmmss") + e.Filename); nsILocalFile objTarget = (nsILocalFile)Xpcom.NewNativeLocalFile(file); e.HelperAppLauncher.SaveToDisk(objTarget, false); Action <String, String> action = flow.DownloadProcedure(e.Url); action(e.Url, file); }; timer.Interval = 10 * 1000; timer.Tick += (s, e) => { Ping(parameter.Keycode); }; timer.Start(); this.Navigate(flow.StartPage()); }
public AuctionFlow(ScrapBrowser browser, ScrapParameter param, bool login_mode) : base(browser, param, login_mode) { logger.Info("Action initialize"); FlowMap.Add("Member/SignIn/LogOn", Login); FlowMap.Add("Home/Home", Home); FlowMap.Add("membership/MyInfo/MyInfoComp", Profile); FlowMap.Add("Escrow/Delivery/BuyDecision", BuyDecision); FlowMap.Add("Member/Settle/IacSettleDetail", LacSettleDetail); FlowMap.Add("Escrow/Delivery/GeneralDelivery", GeneralDelivery); FlowMap.Add("Escrow/Delivery/Sending", Sending); FlowMap.Add("Areas/Manual/SellerGuide", ScrapEnd); FlowMap.Add("Escrow/Claim/ReturnRequestManagement", ReturnRequestManagement); FlowMap.Add("Sell/Items/ItemsMng", ItemsMng); FlowMap.Add("Sell/Items/GetItemMngList", GetItemMngList); FlowMap.Add("Member/CustomerService/CSManagement", CSManagement); DownloadMap.Add("BuyDecisionExcel", BuyDecisionExcel); DownloadMap.Add("IacRemitListExcelDownload", LacRemitListExcelDownload); DownloadMap.Add("GeneralDeliveryExcel", GeneralDeliveryExcel); DownloadMap.Add("SendingExcel", SendingExcel); DownloadMap.Add("ExcelDownload", ExcelDownload); base.ReflectFlyweightKeys.Add(typeof(BuyDecisionExcel)); base.ReflectFlyweightKeys.Add(typeof(LacRemitListExcel)); base.ReflectFlyweightKeys.Add(typeof(GeneralDeliveryExcel)); base.ReflectFlyweightKeys.Add(typeof(SendingExcel)); base.ReflectFlyweightKeys.Add(typeof(ReturnRequest)); base.ReflectFlyweightKeys.ForEach(type => { ReflectFlyweight.Add(type, new List <FieldInfo>(type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))); }); }
public ActionResult Save(LotScrapViewModel model) { MethodReturnResult result = new MethodReturnResult(); try { ScrapParameter p = new ScrapParameter() { Creator = User.Identity.Name, OperateComputer = Request.UserHostAddress, Operator = User.Identity.Name, ReasonCodes = new Dictionary <string, IList <ScrapReasonCodeParameter> >(), Remark = model.Description, LotNumbers = new List <string>() }; //获取批值。 string lotNumber = model.LotNumber.ToUpper(); result = GetLot(lotNumber); if (result.Code > 0) { return(Json(result)); } p.LotNumbers.Add(lotNumber); //组织报废原因代码 if (!p.ReasonCodes.ContainsKey(lotNumber)) { p.ReasonCodes.Add(lotNumber, new List <ScrapReasonCodeParameter>()); } p.ReasonCodes[lotNumber].Add(new ScrapReasonCodeParameter() { Description = model.ReasonDescription, Quantity = model.ScrapQuantity, ReasonCodeCategoryName = model.ReasonCodeCategoryName, ReasonCodeName = model.ReasonCodeName, ResponsiblePerson = model.ResponsiblePerson, RouteOperationName = model.RouteOperationName, }); //批次报废操作。 using (LotScrapServiceClient client = new LotScrapServiceClient()) { result = client.Scrap(p); } if (result.Code == 0) { result.Message = string.Format("批次 {0} 报废操作成功。", model.LotNumber); } } catch (Exception ex) { result.Code = 1000; result.Message = ex.Message; result.Detail = ex.ToString(); } // 如果我们进行到这一步时某个地方出错,则重新显示表单 return(Json(result)); }
public GMarketFlow(ScrapBrowser browser, ScrapParameter param, bool login_mode) : base(browser, param, login_mode) { logger.Info("Gmarket initialize"); FlowMap.Add("Member/SignIn/LogOn", Login); FlowMap.Add("Home/Home", Home); FlowMap.Add("Member/CustomerService/CSManagement", CSManagement); }
public StreetFlow(ScrapBrowser browser, ScrapParameter param, bool login_mode) : base(browser, param, login_mode) { logger.Info("StreetFlow initialize"); FlowMap.Add("login/Login.page", Login); FlowMap.Add("Index.tmall", Index); FlowMap.Add("marketing/SellerMenuAction.tmall", SellerMenuAction); FlowMap.Add("register/SellerInfoEdit.tmall", SellerInfoEdit); FlowMap.Add("stats/StatsPeriodProdSel.tmall", StatsPeriodProdSel); FlowMap.Add("remittance/SellerRemittanceAction.tmall", SellerRemittanceAction); FlowMap.Add("escrow/OrderingLogisticsAction.tmall", OrderingLogisticsAction); }
public ScraperContext(String key, String param) { logger.Info("ScraperContext initialize"); Xpcom.EnableProfileMonitoring = false; var app_dir = Path.GetDirectoryName(Application.ExecutablePath); Xpcom.Initialize(Path.Combine(app_dir, "Firefox")); ScrapParameter sp = new ScrapParameter(key, param); logger.Debug("ScrapParameter : " + sp); browser.Set(sp); }
public AbstractScrapFlow(ScrapBrowser browser, ScrapParameter param, bool login_mode) { Parameter = param; this.browser = browser; this.commondao = FactoryDao.GetInstance().GetDao <IScrapingCommonDataDao>(); this.packagedao = FactoryDao.GetInstance().GetDao <IScrapingPackageDataDao>(); logger = LoggerBuilder.Init().Set(this.GetType()); //this.browser.InitializeDownLoad(ExcelDownload); this.browser.ProgressChanged += (s, e) => { //logger.Debug("CurrentProgress/MaximumProgress : " + e.CurrentProgress + "/" + e.MaximumProgress); }; }
public TestFlow(ScrapBrowser browser, ScrapParameter param, bool login_mode) : base(browser, param, login_mode) { FlowMap.Add("", Test); }
public InterparkFlow(ScrapBrowser browser, ScrapParameter param, bool login_mode) : base(browser, param, login_mode) { logger.Info("InterparkFlow initialize"); }