| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using Infragistics.Win.UltraWinDataSource;
- using Infragistics.Win.UltraWinGrid;
- using Core.Mes.Client.Comm.Server;
- using CoreFS.CA06;
- using System.Windows.Forms;
- using System.Collections;
- using CoreFS.CA06;
- using Core.Mes.Client.Comm.Server;
- using com.steering.mes.zgmil.entity;
- namespace Core.StlMes.Client.ZGMil.Entity
- {
- public static class NativeMethod
- {
- //public NativeMethod()
- //{
- //}
- /// <summary>
- /// 获取表格中
- /// </summary>
- /// <typeparam name="T">返回类</typeparam>
- /// <param name="dt">数据表</param>
- /// <param name="t">输入类</param>
- /// <returns></returns>
- public static T GetTableToEntity<T>(DataTable dt,T t)
- {
- String[] strColumns=null;
- DataRow dr=dt.Rows[0];
-
- try
- {
- if (dt.Columns.Count > 0)
- {
- int columnNum = 0;
- columnNum = dt.Columns.Count;
- strColumns = new string[columnNum];
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- strColumns[i] = dt.Columns[i].ColumnName.Replace("_", "");
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- if (item.PropertyType == typeof(int?))
- {
- item.SetValue(t, Convert.ToInt32(dr[i].ToString3()), null);
- }
- else
- {
- item.SetValue(t, dr[i].ToString(), null);
- }
- }
- }
- }
- }
- else
- {
- }
- }
- catch (Exception e)
- {
- System.Windows.Forms.MessageBox.Show("出错:", e.ToString());
- }
- return t;
- }
- /// <summary>
- /// 获取表格中制定行数据到实体类
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="dr"></param>
- /// <param name="t"></param>
- /// <returns></returns>
- public static T GetTableRowToEntity<T>(DataRow dr, DataTable dt,T t)
- {
- String[] strColumns = null;
- try
- {
- if (dt.Columns.Count > 0)
- {
- int columnNum = 0;
- columnNum = dt.Columns.Count;
- strColumns = new string[columnNum];
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- strColumns[i] = dt.Columns[i].ColumnName.Replace("_", "");
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t, Convert.ToString(dr[i]), null);
- }
- }
- }
- }
- else
- {
- }
- }
- catch (Exception e)
- {
- System.Windows.Forms.MessageBox.Show("出错:", e.ToString());
- }
- return t;
-
-
- }
- /// <summary>
- /// 获取表格中制定行数据到实体类
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="dt"></param>
- /// <param name="t"></param>
- /// <param name="rowno"></param>
- /// <returns></returns>
- public static T GetTableToEntity<T>(DataTable dt, T t,int rowno)
- {
- String[] strColumns = null;
- DataRow dr = dt.Rows[rowno];
- try
- {
- if (dt.Columns.Count > 0)
- {
- int columnNum = 0;
- columnNum = dt.Columns.Count;
- strColumns = new string[columnNum];
- for (int i = 0; i < dt.Columns.Count; i++)
- {
- strColumns[i] = dt.Columns[i].ColumnName.Replace("_", "");
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t, Convert.ToString(dr[i]), null);
- }
- }
- }
- }
- else
- {
- }
- }
- catch (Exception e)
- {
- System.Windows.Forms.MessageBox.Show("出错:", e.ToString());
- }
- return t;
-
-
-
- }
- /// <summary>
- /// 将表格中制定行赋到实体类中
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="ugr"></param>
- /// <param name="_grid"></param>
- /// <param name="t"></param>
- /// <returns></returns>
- public static T GetUltraGridRowToEntity<T>(UltraGridRow ugr,UltraGrid _grid, T t,int bands)
- {
- String[] strColumns = null;
- String[] strColumnsnew = null;
- UltraGridRow dr = ugr;
- int columnNum = dr.Cells.Count;
- strColumns = new String[columnNum];
- strColumnsnew = new String[columnNum];
- for (int i = 0; i < columnNum; i++)
- {
- strColumns[i] = _grid.DisplayLayout.Bands[bands].Columns[i].Key.ToString().Replace("_", "");
- strColumnsnew[i] = _grid.DisplayLayout.Bands[bands].Columns[i].Key.ToString();
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t, Convert.ToString(dr.Cells[strColumnsnew[i]].Value.ToString()), null);
- }
- }
- }
- return t;
- }
-
- /// <summary>
- /// 获取数据源中第一行数据赋到类中
- /// </summary>
- /// <typeparam name="T">返回类</typeparam>
- /// <param name="ds">输入带数据的数据源</param>
- /// <param name="t">输入类</param>
- /// <returns></returns>
- public static T GetUltraGridToEntity<T>(UltraGrid _grid, T t)
- {
- String[] strColumns = null;
-
-
- UltraGridRow dr = _grid.Rows[0];
- int columnNum = dr.Cells.Count;
- strColumns = new String[columnNum];
- for (int i = 0; i < columnNum; i++)
- {
- strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString();
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t, Convert.ToString(dr.Cells[strColumns[i]].Value.ToString()), null);
- }
- }
- }
- return t;
-
- }
- /// <summary>
- /// 获取数据源中某行数据赋到类中
- /// </summary>
- /// <typeparam name="T">返回类</typeparam>
- /// <param name="_grid">输入带数据的数据源</param>
- /// <param name="t">输入类</param>
- /// <param name="Rows">行号</param>
- /// <returns></returns>
- public static T GetUltraGridToEntity<T>(UltraGrid _grid, T t, int Rows)
- {
- String[] strColumns = null;
- String[] strColumnsnew = null;
- UltraGridRow dr = _grid.Rows[Rows];
- int columnNum = dr.Cells.Count;
- strColumns = new String[columnNum];
- strColumnsnew = new String[columnNum];
- for (int i = 0; i < columnNum; i++)
- {
- strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString().Replace("_", "");
- strColumnsnew[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString();
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t, Convert.ToString(dr.Cells[strColumnsnew[i]].Value.ToString()), null);
- }
- }
- }
- return t;
- }
- /// <summary>
- /// 获取数据源中第一行数据赋到类中(grid 带下划线)
- /// </summary>
- /// <typeparam name="T">返回类</typeparam>
- /// <param name="ds">输入带数据的数据源</param>
- /// <param name="t">输入类</param>
- /// <returns></returns>
- public static T GetUltraGridToEntityNEW<T>(UltraGrid _grid, T t)
- {
- String[] strColumns = null;
- String[] strColumnsNew = null;
- UltraGridRow dr = _grid.Rows[0];
- int columnNum = dr.Cells.Count;
- strColumns = new String[columnNum];
- strColumnsNew = new String[columnNum];
- for (int i = 0; i < columnNum; i++)
- {
- strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString().Replace("_", "");
- strColumnsNew[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString();
- }
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- if (item.PropertyType == typeof(int?))
- {
- item.SetValue(t, Convert.ToInt32(dr.Cells[strColumnsNew[i]].Value.ToString3()), null);
- }
- else
- {
- item.SetValue(t, Convert.ToString(dr.Cells[strColumnsNew[i]].Value.ToString()), null);
- }
- }
- }
- }
- return t;
-
- }
- /// <summary>
- /// 获取类的值,并赋给另一个类
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="t">返回类</param>
- /// <param name="t1">输入类</param>
- /// <returns></returns>
- public static T GetEntityToEntity<T>(T t, T t1)
- {
- System.Reflection.PropertyInfo[] pro = t.GetType().GetProperties();
- System.Reflection.PropertyInfo[] pro1 = t1.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- foreach (System.Reflection.PropertyInfo item1 in pro1)
- {
- if(string.Compare(item.Name.ToString(),item1.Name.ToString(),true)==0)
- {
- item.SetValue(t,item1.GetValue(t1,null),null);
- }
- }
-
- }
- return t;
-
- }
- /// <summary>
- /// 遍历Grid 赋值到list<T>
- /// </summary>
- /// <typeparam name="T"></typeparam>
- /// <param name="_grid"></param>
- /// <param name="t"></param>
- /// <returns></returns>
- public static List<T> GetGridToList<T>(UltraGrid _grid, T t)
- {
- String[] strColumns = null;
- String[] strColumnsNew = null;
- List<T> list=new List<T>();
- if (_grid.Rows.Count > 0)
- {
- UltraGridRow dr = _grid.Rows[0];
- int columnNum = dr.Cells.Count;
- strColumns = new String[columnNum];
- strColumnsNew = new String[columnNum];
- for (int i = 0; i < columnNum; i++)
- {
- strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString().Replace("_", "");
- strColumnsNew[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString();
- }
- for (int m = 0; m < _grid.Rows.Count; m++)
- {
- UltraGridRow dr1 = _grid.Rows[m];
- T t1 = System.Activator.CreateInstance<T>();
- System.Reflection.PropertyInfo[] pro = t1.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t1, Convert.ToString(dr1.Cells[strColumnsNew[i]].Value.ToString()), null);
- }
- }
- }
- list.Add(t1);
- }
- }
- return list;
- }
- public static List<T> GetGridToList1<T>(UltraGrid _grid, T t)
- {
- String[] strColumns = null;
- String[] strColumnsNew = null;
- List<T> list = new List<T>();
- int s = 0;
- if (_grid.Rows.Count > 0)
- {
- UltraGridRow dr = _grid.Rows[0];
- int columnNum = dr.Cells.Count;
- strColumns = new String[columnNum];
- strColumnsNew = new String[columnNum];
- for (int i = 0; i < columnNum; i++)
- {
- strColumns[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString().Replace("_", "");
- strColumnsNew[i] = _grid.DisplayLayout.Bands[0].Columns[i].Key.ToString();
- }
- IQueryable<UltraGridRow> checkMagRows = _grid.Rows.AsQueryable().Where(" Check = 'True'");
-
- for (int m = 0; m < checkMagRows.Count(); m++)
- {
- UltraGridRow dr1 = _grid.Rows[m];
- T t1 = System.Activator.CreateInstance<T>();
- System.Reflection.PropertyInfo[] pro = t1.GetType().GetProperties();
- foreach (System.Reflection.PropertyInfo item in pro)
- {
- for (int i = 0; i < strColumns.Length; i++)
- {
- if (string.Compare(item.Name.ToString(), strColumns[i].ToString(), true) == 0)
- {
- item.SetValue(t1, Convert.ToString(dr1.Cells[strColumnsNew[i]].Value.ToString()), null);
- }
- }
- }
- list.Add(t1);
- }
- }
- return list;
- }
- ////数据局部刷新尝试
- //public void GridPartRefresh(DataTable dt, DataTable dtgrid)
- //{
- // String[] strColumns = null;
- // int columnNum = 0;
- // try
- // {
- // if (dt.Rows.Count > 0)
- // {
- // columnNum = dt.Columns.Count;
- // strColumns = new string[columnNum];
- // for (int i = 0; i < dt.Columns.Count; i++)
- // {
- // strColumns[i] = dt.Columns[i].ColumnName.ToString();
- // }
- // for (int j = 0; j < dt.Rows.Count; j++)
- // {
- // DataRow dr = dt.Rows[j];
- // DataRow drgrid=d
- // }
- // }
- // }
- //}
- /// <summary>
- /// 判断 输入 是否可转换为 数字
- /// </summary>
- /// <param name="i"></param>
- /// <returns></returns>
- public static bool Checkint(string i)
- {
- bool result = false;
- int a=0;
- if(int.TryParse(i,out a))
- {
- result = true;
- }
- return result;
-
- }
-
- /// <summary>
- /// 结炉时修改无效剔除管序号
- /// </summary>
- /// <param name="JudgeStoveNo">炉号</param>
- /// <param name="PrcoessNo">工序号 0-上 料锯切 1-加热炉 2-穿孔 3-连轧 4-再加热 5-定径 6-分切 7-矫直 8-探伤 9-质检</param>
- /// <param name="op"></param>
- public static void CheckNodeMatStatus(string JudgeStoveNo, string proPlanId, string gxPlanNo, int PrcoessNo, OpeBase ob)
- {
- int count = ServerHelper.SetData("com.steering.mes.zgmil.coup.FeedSawResult.NodeCheckMat", new object[] { JudgeStoveNo, PrcoessNo, proPlanId, gxPlanNo }, ob);
- }
- /// <summary>
- /// 得到服务器时间
- /// </summary>
- public static DateTime GetSeverTime(OpeBase ob)
- {
- DataTable dt = ServerHelper.GetData("com.steering.mes.zgmil.coup.FeedSawResult.GetSeverTime", new object[] { }, ob);
- return DateTime.Parse(dt.Rows[0][0].ToString());
- }
- }
- }
|