/// <summary> /// /// </summary> private void GetData() { if (fgrLoadSearch.Rows.Count > 0) { #region Nếu ở chế độ Single Select if (IsMultipleSelect == false) { try { for (int i = 0; i < Source.Rows.Count; i++) { if (Source.Rows[i][0].ToString().Equals(fgrLoadSearch.CurrentRow.Cells[0].FormattedValue.ToString())) { DataRow dr = Source.Rows[i]; getModel = ProcessTransaction.PopulateModel(dr, ProcessTransaction.getClassName(TableName)); } } } catch (Exception ex) { return; } } #endregion #region Nếu ở chế độ Multi select int Dem = 0; #region Đếm số Item được chọn for (int i = 0; i < fgrLoadSearch.Rows.Count; i++) { if (fgrLoadSearch.Rows[i].Selected == true) { Dem = Dem + 1; } } #endregion #region Nếu không có item nào được chọn if (Dem == 0) { return; } #endregion #region Nếu có Item được chọn else { getArrModel = new BaseModel[Dem]; Dem = 0; for (int i = 0; i < fgrLoadSearch.Rows.Count; i++) { if (fgrLoadSearch.Rows[i].Selected == true) { for (int j = 0; j < Source.Rows.Count; j++) { if (Source.Rows[j][0].ToString().Equals(fgrLoadSearch.Rows[i].Cells[0].FormattedValue.ToString())) { DataRow dr = Source.Rows[j]; getArrModel[Dem] = ProcessTransaction.PopulateModel(dr, ProcessTransaction.getClassName(TableName)); Dem = Dem + 1; } } } } } #endregion #endregion } }
/// <summary> /// Phuong thuc do du lieu tu XML string ra model /// --- Nguyen Trung Kien 12/10/2009 /// </summary> /// <param name="TableName">Ten bang</param> /// <param name="ObjectID">ID cua PK</param> /// <param name="SystemDate">Ngay he thong</param> /// <param name="BussinessDate">BussinessDate</param> /// <param name="UserID">User</param> /// <returns></returns> static public BaseModel GetModelFromXML(string TableName, string XmlContent) { #region Khởi tạo Model string fullname = "CEFA.Model." + ProcessTransaction.getClassName(TableName); BaseModel mB = (BaseModel)PropertyUtils.getObject(fullname); #endregion #region Doc du lieu XmlTextReader Reader = new XmlTextReader(new System.IO.StringReader(XmlContent)); #endregion #region Khoi tao mang va gan gia tri vao do string[] paramName = new string[mB.GetType().GetProperties().Length]; string[] paramValue = new string[mB.GetType().GetProperties().Length]; int k = 0; while (Reader.Read()) { if (Reader.NodeType == XmlNodeType.Element) { if (!Reader.LocalName.Equals(TableName)) { paramName[k] = Reader.LocalName; paramValue[k] = Reader.ReadString(); k = k + 1; } } } #endregion #region xu li va do du lieu vao model neu co PropertyInfo[] propertiesName = mB.GetType().GetProperties(); for (int i = 0; i < propertiesName.Length; i++) { for (int j = 0; j < paramName.Length; j++) { if (propertiesName[i].Name.Equals(paramName[j])) { if (propertiesName[i].PropertyType.Name.Equals("Int32")) { propertiesName[i].SetValue(mB, Convert.ToInt32(paramValue[j]), null); } else if (propertiesName[i].PropertyType.Name.Equals("Decimal")) { propertiesName[i].SetValue(mB, Convert.ToDecimal(paramValue[j]), null); } else if (propertiesName[i].PropertyType.Name.Equals("DateTime")) { propertiesName[i].SetValue(mB, Convert.ToDateTime(paramValue[j]), null); } else if (propertiesName[i].PropertyType.Name.Equals("Boolean")) { propertiesName[i].SetValue(mB, Convert.ToBoolean(paramValue[j]), null); } else if (propertiesName[i].PropertyType.Name.Equals("String")) { propertiesName[i].SetValue(mB, Convert.ToString(paramValue[j]), null); } //mo cho cac kieu du lieu khac } } } #endregion return(mB); }