/// <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
            }
        }
示例#2
0
        /// <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);
        }