Example #1
0
 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);
     }
 }
Example #2
0
 /// <summary>
 /// 指定したテキストをPreTreeにかける。
 /// </summary>
 /// <param name="text"></param>
 /// <returns></returns>
 protected string GetText(string preText)
 {
     if (preTree != null)
     {
         return(RawlerBase.GetText(preText, PreTree));
     }
     else
     {
         return(preText);
     }
 }
Example #3
0
 private IEnumerable <string> Convert(IEnumerable <string> list)
 {
     if (ConvertTree != null)
     {
         ConvertTree.SetParent(this.Parent);
         foreach (var item in list)
         {
             yield return(RawlerBase.GetText(item, ConvertTree, this.Parent));
         }
     }
     else
     {
         foreach (var item in list)
         {
             yield return(item);
         }
     }
 }
Example #4
0
 /// <summary>
 /// PreTreeを通したあとのText
 /// </summary>
 /// <returns></returns>
 protected string GetText()
 {
     if (this.Parent != null)
     {
         if (preTree != null)
         {
             preTree.SetParent();
             return(RawlerBase.GetText(this.Parent.Text, PreTree, this.Parent));
         }
         else
         {
             return(this.Parent.Text);
         }
     }
     else
     {
         return(this.text);
     }
 }
Example #5
0
 private IEnumerable <TextPair <T> > Convert <T>(IEnumerable <TextPair <T> > list, Func <T, string> textFunc)
 {
     if (ConvertTree != null)
     {
         ConvertTree.SetParent(this.Parent);
         foreach (var item in list)
         {
             item.Text = RawlerBase.GetText(item.Text, ConvertTree, this.Parent);
             yield return(item);
             //yield return RawlerBase.GetText(item, ConvertTree, this.Parent);
         }
     }
     else
     {
         foreach (var item in list)
         {
             yield return(item);
         }
     }
 }