public string _Analyze(string txt) { string r = string.Empty; try { while (tagger == null) { _Init(); if (tagger == null) { System.Threading.Thread.Sleep(100); } } r = tagger.parse(txt); } catch (Exception e) { ReportManage.ErrReport(this, "形態素解析に失敗しました:" + txt); } finally { tagger.Dispose(); tagger = null; } return(r); }
/// <summary> /// 新增(传入事务处理) /// </summary> /// <param name="p_BE">要新增的实体</param> /// <param name="sqlTrans">事务类</param> public void RAdd(ReportManage p_BE, BaseEntity[] p_BE2, ReportFile p_BE3, IDBTransAccess sqlTrans) { try { this.RAdd(p_BE, sqlTrans); ReportManageDtsRule ruledts = new ReportManageDtsRule(); ruledts.RSave(p_BE, p_BE2, sqlTrans);//保存从表 ReportFileRule ruleFile = new ReportFileRule(); p_BE3.FileID = p_BE.ID; ruleFile.RAdd(p_BE3, sqlTrans); string sql = " UPDATE Data_ReportManage SET FileID = " + p_BE3.ID; sql += " WHERE ID =" + p_BE.ID; sqlTrans.ExecuteNonQuery(sql); } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// このクラスでの実行すること。 /// </summary> /// <param name="runChildren"></param> public override void Run(bool runChildren) { SetText(GetText()); var login = this.GetAncestorRawler().OfType <TwitterLogin>().First(); if (login != null) { var r = login.Token.Statuses.Update(status => GetText()); if (r != null) { // Tweet posted successfully! } else { ReportManage.ErrReport(this, "ツイートに失敗しました。"); // Something bad happened } } else { ReportManage.ErrReport(this, "上流にTwitterLoginがありません。"); } base.Run(runChildren); }
public string Analyze(string txt) { string r = null; try { while (r == null) { if (mecabDotNet == null) { Init(); } r = mecabDotNet.mecab_sparse_tostr(txt); if (r == null) { System.Threading.Thread.Sleep(100); Init(); } } } catch (Exception e) { ReportManage.ErrReport(this, "形態素解析に失敗しました:" + e.Message + "\ttext:" + txt); } return(r); }
/// <summary> /// 获得实体 /// </summary> /// <returns></returns> private ReportManage EntityGet() { ReportManage entity = new ReportManage(); entity.ID = HTDataID; return(entity); }
/// <summary> /// 删除 /// </summary> /// <param name="p_BE">要删除的实体</param> /// <param name="sqlTrans">事务类</param> public void RDelete(BaseEntity p_BE, IDBTransAccess sqlTrans) { try { this.CheckCorrect(p_BE); ReportManage entity = (ReportManage)p_BE; ReportManageCtl control = new ReportManageCtl(sqlTrans); string sql = "DELETE FROM Data_ReportManageDts WHERE MainID=" + entity.ID.ToString(); sqlTrans.ExecuteNonQuery(sql);//删除原单据明细数据 sql = "DELETE FROM Data_ReportFile WHERE FileID=" + entity.ID.ToString(); sqlTrans.ExecuteNonQuery(sql);//删除原单据明细数据 control.Delete(entity); } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// 新增 /// </summary> /// <param name="p_BE">要新增的实体</param> public void RAdd(ReportManage p_BE, BaseEntity[] p_BE2, ReportFile p_BE3) { try { IDBTransAccess sqlTrans = TransSysUtils.GetDBTransAccess(); try { sqlTrans.OpenTrans(); this.RAdd(p_BE, p_BE2, p_BE3, sqlTrans); sqlTrans.CommitTrans(); } catch (Exception TE) { sqlTrans.RollbackTrans(); throw TE; } } catch (BaseException) { throw; } catch (Exception E) { throw new BaseException(E.Message); } }
/// <summary> /// このクラスでの実行すること。 /// </summary> /// <param name="runChildren"></param> public override void Run(bool runChildren) { var xaml = GetText(); try { var td = TweetData.Parse(xaml); this.SetText(td.GetTweetDataElement(DataElement)); base.Run(runChildren); //var obj = System.Xaml.XamlServices.Parse(xaml); //if (obj is TweetData) //{ // var td = obj as TweetData; // this.SetText(td.GetTweetDataElement(DataElement)); // base.Run(runChildren); //} //else //{ // ReportManage.ErrReport(this, "TweetDataの解釈に失敗しました。"); //} } catch { ReportManage.ErrReport(this, "TweetDataの解釈に失敗しました。"); } }
public RawlerBase GetRawlerBase(string xaml) { object obj = null; try { obj = System.Xaml.XamlServices.Parse(textEditor.Text); } catch (Exception ex) { ReportManage.ErrReport(new RawlerBase(), "XAMLの形式がおかしいです" + ex.Message); } if (obj == null) { return(null); } if ((obj is Rawler.Tool.RawlerBase) == false) { ReportManage.ErrReport(new RawlerBase(), "キャストできませんでした。XAMLの形式がおかしいです"); return(null); } else { return(obj as Rawler.Tool.RawlerBase); } }
/// <summary> /// ElementAt を適応する。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="list"></param> /// <returns></returns> IEnumerable <T> DoElementAt <T>(IEnumerable <T> list) { if (list.Count() == 0) { return(list); } if (ElementAt.HasValue) { try { var l = list.ToArray(); if (ElementAt.Value > -1) { return(new T[] { l[ElementAt.Value] }); //return new List<T>() { list.ElementAt(ElementAt.Value) }; } else { return(new T[] { l[list.Count() + ElementAt.Value] }); // return new List<T>() { list.ElementAt(list.Count() + ElementAt.Value) }; } } catch { ReportManage.ErrReport(this, "ElementAtの値がレンジから外れました。ElementAt:" + ElementAt.Value); } } return(list); }
public override void Run(bool runChildren) { currentFileName = FileName.Convert(this); baseFileName = currentFileName; if (currentFileName.Length == 0) { ReportManage.ErrReport(this, "FileNameがありません"); return; } var f = CheckFileSizeAndCreate(System.IO.File.AppendText(currentFileName)); int count = 0; ActionBlock <string> actionBlock = new ActionBlock <string>((n) => { if (count % 10000 == 0) { f = CheckFileSizeAndCreate(f); } f.WriteLine(n); ReportManage.Report(this, "NextDataRow"); count++; }); inputBlock = new BufferBlock <string>(); inputBlock.LinkTo(actionBlock, new DataflowLinkOptions() { PropagateCompletion = true }); base.Run(runChildren); inputBlock.Complete(); actionBlock.Completion.Wait(); f.Close(); }
/// <summary> /// 设置 /// </summary> public override void EntitySet() { ReportManage entity = new ReportManage(); entity.ID = HTDataID; bool findFlag = entity.SelectByID(); drpParentID.EditValue = entity.ParentID; drpWinListID.EditValue = entity.MenuID; txtWinListID.Text = entity.WinListID.ToString(); txtSeq.Text = entity.Seq.ToString(); txtFileName.Text = entity.FileName.ToString(); txtReportName.Text = entity.ReportName.ToString(); drpReportModelType.Text = entity.ModelType.ToString(); drpReportModel.EditValue = entity.ModelID; txtRemark.Text = entity.Remark.ToString(); txtHeadTypeID.Text = entity.HeadTypeID.ToString(); txtSubTypeID.Text = entity.SubTypeID.ToString(); OLDModelType = entity.ModelID.ToString(); txtWinID.Text = entity.WinID.ToString(); // HTDataSubmitFlag = entity.SubmitFlag; //HTDataDelFlag = entity.DelFlag; if (!findFlag) { } BindGridDts(); }
/// <summary> /// 新增 /// </summary> public override int EntityAdd() { ReportManageRule rule = new ReportManageRule(); ReportManage entity = EntityGet(); ReportFile entityFile = new ReportFile(); ReportFileModel entityFileModel = new ReportFileModel(); if (drpReportModelType.EditValue.ToString() == "使用系统模板") { entityFileModel.ID = SysConvert.ToInt32(drpReportModel.EditValue); entityFileModel.SelectByID(); entityFile.Context = entityFileModel.Context; entityFile.FileName = txtFileName.Text.Trim(); } if (drpReportModelType.EditValue.ToString() == "使用本地文件") { entityFile.Context = HttSoft.WinUIBase.FastReport.ConvertToBinaryByPath(txtFilePath.Text.Trim()); entityFile.FileName = txtFileName.Text.Trim(); } ReportManageDts[] entitydts = EntityDtsGet(); //entity.SubmitFlag = this.HTSubmitFlagInsertGet(); rule.RAdd(entity, entitydts, entityFile); return(entity.ID); }
private void _Init() { if (tagger != null) { tagger.Dispose(); tagger = null; } try { if (Args != null) { tagger = new MeCab.Tagger(Args); } else { tagger = new MeCab.Tagger(); } if (tagger == null) { ReportManage.ErrReport(this, "Mecabの起動に失敗しました。インストールされているか確かめてください。"); throw new Exception("Mecabの起動に失敗しました。インストールされているか確かめてください。"); } } catch { ReportManage.ErrReport(this, "Mecabの起動に失敗しました。インストールされているか確かめてください。"); throw new Exception("Mecabの起動に失敗しました。インストールされているか確かめてください。"); } }
/// <summary> /// 删除 /// </summary> /// <param name="p_Entity">实体类</param> /// <returns>操作影响的记录行数</returns> public override int Delete(BaseEntity p_Entity) { try { ReportManage MasterEntity = (ReportManage)p_Entity; if (MasterEntity.ID == 0) { return(0); } //删除主表数据 string Sql = ""; Sql = "DELETE FROM Data_ReportManage WHERE " + "ID=" + SysString.ToDBString(MasterEntity.ID); //执行 int AffectedRows = 0; if (!this.sqlTransFlag) { AffectedRows = this.ExecuteNonQuery(Sql); } else { AffectedRows = sqlTrans.ExecuteNonQuery(Sql); } return(AffectedRows); } catch (BaseException E) { throw new BaseException(E.Message, E); } catch (Exception E) { throw new BaseException(FrameWorkMessage.GetAlertMessage((int)Message.CommonDBDelete), E); } }
/// <summary> /// 删除 /// </summary> public override void EntityDelete() { ReportManageRule rule = new ReportManageRule(); ReportManage entity = EntityGet(); //FastReport.DeleteFile(entity.FileName); rule.RDelete(entity); }
/// <summary> /// 构造方法 /// </summary> public ReportAppService(IRepository <Core.CustomDomain.Report.Report, int> reportRepository, ReportManage reportManage ) { _reportRepository = reportRepository; _reportManage = reportManage; }
private static void StopWatch() { if (startDate != null) { var time = DateTime.Now - startDate; ReportManage.Report(null, "経過時間:" + time.ToString(), true, true); } MessageBox.Show("Complete"); }
public void Run(RawlerBase parent) { try { var type = parent.GetType(); var field = type.GetRuntimeProperty(PropertyName); var text = RawlerBase.GetText(string.Empty, Child, parent); if (field.PropertyType == typeof(string)) { field.SetValue(parent, text, null); } else if (field.PropertyType == typeof(int)) { int num; if (int.TryParse(text, out num)) { field.SetValue(parent, num, null); } else { ReportManage.ErrReport(parent, "InitTreeで" + PropertyName + "の値をint型に変換に失敗しました"); } } else if (field.PropertyType == typeof(double)) { double num; if (double.TryParse(text, out num)) { field.SetValue(parent, num, null); } else { ReportManage.ErrReport(parent, "InitTreeで" + PropertyName + "の値をdouble型に変換に失敗しました"); } } else if (field.PropertyType == typeof(bool)) { if (text.ToLower() == "true") { field.SetValue(parent, true, null); } else if (text.ToLower() == "false") { field.SetValue(parent, false, null); } else { ReportManage.ErrReport(parent, "InitTreeで" + PropertyName + "の値をbool型に変換に失敗しました。Valueは" + text); } } } catch (Exception ex) { ReportManage.ErrReport(parent, "InitTreeで" + PropertyName + "でエラーが発生しました。" + ex.Message); } }
public IEnumerable <string> ReadAPI() { var login = this.GetUpperRawler <TwitterLogin>(); if (login == null) { ReportManage.ErrReport(this, "TwitterLoginをTweetUserTimelineの上流に配置してください"); return(new List <string>()); } List <long> list = new List <long>(); Dictionary <string, object> dic = new Dictionary <string, object>() { { "cursor", cursor }, { "count", 5000 } }; if (ScreenName.IsNullOrEmpty() == false) { dic.Add("screen_name", ScreenName.Convert(this)); } else if (UserId.IsNullOrEmpty() == false) { dic.Add("user_id", UserId.Convert(this)); } else { if (ParentUserIdType == RawlerTwitter.ParentUserIdType.ScreenName) { dic.Add("screen_name", GetText()); } else if (ParentUserIdType == RawlerTwitter.ParentUserIdType.UserId) { dic.Add("user_id", GetText()); } } var result = login.Token.Followers.Ids(dic); foreach (var item in result.Result) { list.Add(item); } if (result.NextCursor > 0) { cursor = result.NextCursor; } else { cursor = -1; } return(list.Select(n => n.ToString()).ToList()); }
public override bool Check(string txt) { DateTime dt; if (StartDate == null && EndDate == null) { return(false); } if (DateTime.TryParse(txt, out dt)) { if (StartDate == null && EndDate != null) { if (dt < EndDate) { return(true); } else { return(false); } } else if (StartDate != null && EndDate != null) { if (dt >= StartDate && dt < EndDate) { return(true); } else { return(false); } } else { if (dt >= StartDate) { return(true); } else { return(false); } } } else { if (ErrReport) { ReportManage.ErrReport(this, "DateTime型のキャストに失敗:" + txt); } return(false); } // return base.Check(txt); }
public override bool Check(string txt) { int dt; if (Start == null && End == null) { return(false); } if (int.TryParse(txt, out dt)) { if (Start == null && End != null) { if (dt < End) { return(true); } else { return(false); } } else if (Start != null && End != null) { if (dt >= Start && dt < End) { return(true); } else { return(false); } } else { if (dt >= Start) { return(true); } else { return(false); } } } else { if (ErrReport) { ReportManage.ErrReport(this, "int型のキャストに失敗:" + txt); } return(false); } // return base.Check(txt); }
public override void Run(bool runChildren) { if (System.DateTime.TryParse(GetText(), out dateTime)) { base.Run(runChildren); } else { ReportManage.ErrReport(this, "DateTime.TryParseに失敗しました"); } }
public override void Run(bool runChildren) { if (DirectoryName == null) { ReportManage.ErrEmptyPropertyName(this, nameof(DirectoryName)); return; } var list = System.IO.Directory.EnumerateFiles(DirectoryName.Convert(this), SearchPattern.Convert(this)); base.RunChildrenForArray(true, list); }
/// <summary> /// このクラスでの実行すること。 /// </summary> /// <param name="runChildren"></param> public override void Run(bool runChildren) { //App認証の場合 if (SetTwitterApiKeys.UseAppOnlyAutherentcation || AppOnlyAuthentication != null) { if (AppOnlyAuthentication == null) { AppOnlyAuthentication = new AppOnlyAuthentication(); } AppOnlyAuthentication.SetUp(this); token = OAuth2.GetToken(AppOnlyAuthentication.ConsumerKey, AppOnlyAuthentication.ConsumerSecret); } else { //普通の認証の場合 if (GetOAuthTokens() == null) { var session = OAuth.Authorize(ConsumerKey, ConsumerSecret); ReportManage.Report(this, "PINがありません。ブラウザに表示されているPINの値を入力してください。PIN=\"(表示されているPIN)\" とTwitterLoginクラスに情報を追加してください"); System.Diagnostics.Process.Start(session.AuthorizeUri.ToString()); Task reportProgressTask = Task.Factory.StartNew(() => { PinDialog pin = new PinDialog(); if (pin.ShowDialog() == true) { var tokens = session.GetTokens(pin.PIN); TokenData td = new TokenData() { ConsumerKey = ConsumerKey, ConsumerSecret = ConsumerSecret, AccessToken = tokens.AccessToken, AccessTokenSecret = tokens.AccessTokenSecret }; this.Token = new Tokens(tokens); this.TokenData = td; System.Xaml.XamlServices.Save(tokenSettingFileName, td); } else { return; } }, CancellationToken.None, TaskCreationOptions.None, RawlerLib.UIData.UISyncContext); reportProgressTask.Wait(); } } base.Run(runChildren); }
public override bool Check(string txt) { if (CheckText != null && CheckText.Length > 0) { return(txt.Contains(CheckText)); } else { ReportManage.ErrReport(this, "SwitchTextNodeオブジェクトでCheckTextの値がありません。"); return(false); } }
/// <summary> /// このクラスでの実行すること。 /// </summary> /// <param name="runChildren"></param> public override void Run(bool runChildren) { if (SouceIterator != null) { SouceIterator.SetParent(this); SouceIterator.Run(); string target = GetText(); int count = 0; if (createOnceFlag == false || createOnce == false) { //辞書の作成 dic = new Dictionary <string, List <string> >(); var wordList = SouceIterator.Texts.GetList().OrderByDescending(n => n.Length).ToArray(); foreach (var item in wordList) { List <string> tmpList = new List <string>(); if (dic.TryGetValue(item.Substring(0, keyWordLength), out tmpList) == false) { tmpList = new List <string>(); dic.Add(item.Substring(0, keyWordLength), tmpList); } tmpList.Add(item); } } List <string> list = new List <string>(); foreach (var item in NGram(GetText(), keyWordLength).Distinct()) { List <string> tmpList = new List <string>(); if (dic.TryGetValue(item, out tmpList)) { foreach (var item2 in tmpList) { target = GetCount(target, item2, out count); if (count >= MinCount) { for (int i = 0; i < count; i++) { list.Add(item2); } } } } } RunChildrenForArray(runChildren, list); } else { ReportManage.ErrReport(this, "SouceIteratorがありません"); } }
public override void Run(bool runChildren) { currentDataRow = new DataRowObject(); SetText(GetText()); base.Run(runChildren); if (file == null) { file = this.GetUpperRawler <File>(); if (file == null) { ReportManage.ErrUpperNotFound <File>(this); return; } } if (MustAttributes.IsNullOrEmpty() == false) { var must = MustAttributes.Split(','); if (currentDataRow.Attributes.Intersect(must).Count() == must.Count()) { if (SaveType == FileType.Ltsv) { file.WriteLine(currentDataRow.ToLtsv()); } else { file.WriteLine(currentDataRow.DataDic.Select(n => n.Value.JoinText(",")).JoinText("\t")); } } } else { if (SaveType == FileType.Ltsv) { file.WriteLine(currentDataRow.ToLtsv()); } else { file.WriteLine(currentDataRow.DataDic.Select(n => n.Value.JoinText(",")).JoinText("\t")); } } if (currentDataRow.IsDataNull()) { if (EmptyTree != null) { EmptyTree.SetParent(this); EmptyTree.Run(); } } }
public override void Run(bool runChildren) { if (hash == null) { hash = this.GetUpperRawler <HashSet>(); if (hash == null) { ReportManage.ErrUpperNotFound <HashSet>(this); return; } } hash.AddHash(GetText()); base.Run(runChildren); }
public async override void Run(bool runChildren) { fileReadCompleted = false; string file = FileName.Convert(this); if (string.IsNullOrEmpty(file)) { file = GetText(); } if (System.IO.File.Exists(file) == false) { ReportManage.ErrReport(this, "Fileが見つかりません「" + file + "」"); return; } cancellationTokenSource = new CancellationTokenSource(); var task = Task.Factory.StartNew(() => { List <string> list = new List <string>(BlockSize); foreach (var item in System.IO.File.ReadLines(FileName.Convert(this))) { if (cancellationTokenSource.Token.IsCancellationRequested) { break; } bool flag = true; do { if (q.Count < MaxBlock) { list.Add(item); if (list.Count > BlockSize) { q.Push(list.ToArray()); list.Clear(); } flag = false; break; } else { Task.Delay(3).Wait(); } }while (flag); } fileReadCompleted = true; }, cancellationTokenSource.Token); base.Run(runChildren); }