public object GetEnityByPrimaryKey(object objEntity) { object objResult = null; try { GetConnection(); string strPrimaryKey = null; if (sqlCMD.Connection.State == ConnectionState.Open) { if (sqlCMD.Connection.State == ConnectionState.Closed) { MySqlConnection.GetConnection.OpenConnection(sqlCon); } CommonMSSQL.ClearParameter(sqlCMD); #region Get Primarykey Information from object PropertyInfo[] properties = objEntity.GetType().GetProperties(); foreach (PropertyInfo property in properties) { var attribute = Attribute.GetCustomAttribute(property, typeof(KeyAttribute)) as KeyAttribute; if (attribute != null) // This property has a KeyAttribute { // Do something, to read from the property: //object val = property.GetValue(objPrimaryKey); strPrimaryKey = ((TTAttributs)objEntity.GetType().GetProperty(property.Name).GetCustomAttribute(typeof(TTAttributs), false)).FieldName; break; } } #endregion CommonMSSQL.AddParameter(sqlCMD, objEntity, strPrimaryKey); sqlCMD.CommandType = CommandType.Text; sqlCMD.CommandText = CommonMSSQL.PrepairSelectPrimaryKey(HelperMethod.GetTableName(objEntity).ToString(), objEntity); using (SqlDataReader dr = sqlCMD.ExecuteReader()) { objResult = FillEntityFromReader(dr, objEntity); dr.Close(); } } } catch (Exception) { objResult = null; throw; } finally { MySqlConnection.GetConnection.CloseConnection(sqlCon); } return(objResult); }
private long PagerRecordCount(TTDictionaryQuery SQLDictionery, TTDictionary parDictionery, object objEntity) { long lngResult = 0; StringBuilder sbCount = new StringBuilder(); SqlCommand sqlCMDCount = new SqlCommand(); sqlCMDCount.Connection = MySqlConnection.GetConnection.GetDBConnection(); sbCount.Append("select total_count = COUNT(*) ").AppendLine(); sbCount.Append(SQLDictionery.TablePart).AppendLine(); if (parDictionery != null) { if (parDictionery.Count > 0) { sqlCMDCount.Parameters.Clear(); CommonMSSQL.AddParameter(sqlCMDCount, parDictionery, objEntity); sbCount.Append(HelperMethod.GetParameter(parDictionery, sbCount)).AppendLine(); if (SQLDictionery.ParameterPart != null) { sbCount.Append(SQLDictionery.ParameterPart.Replace("WHERE", "AND")); } } else { sbCount.Append(SQLDictionery.ParameterPart); } } else { sbCount.Append(SQLDictionery.ParameterPart); } if (SQLDictionery.GroupPart != null) { sbCount.Append(SQLDictionery.GroupPart).AppendLine(); } if (SQLDictionery.HavingPart != null) { sbCount.Append(SQLDictionery.HavingPart).AppendLine(); } sqlCMDCount.CommandText = sbCount.ToString(); object objCount = sqlCMDCount.ExecuteScalar(); if (objCount != null) { lngResult = objCount == DBNull.Value ? 0 : Convert.ToInt64(objCount); TTPagination.PageCount = (long)Math.Ceiling((double)lngResult / TTPagination.PageSize); } sqlCMDCount.Connection.Close(); sqlCMDCount.Dispose(); return(lngResult); }
public object GetEnityByPerameters(object objEntity, Dictionary <string, MyEnumration.Operation> parFields) { object objResult = null; try { GetConnection(); if (sqlCMD.Connection.State == ConnectionState.Open) { if (sqlCMD.Connection.State == ConnectionState.Closed) { MySqlConnection.GetConnection.OpenConnection(sqlCon); } CommonMSSQL.ClearParameter(sqlCMD); for (int i = 0; i < parFields.Count; i++) { var el = parFields.ElementAt(i); CommonMSSQL.AddParameter(sqlCMD, objEntity, el.Key); } sqlCMD.CommandType = CommandType.Text; sqlCMD.CommandText = CommonMSSQL.PrepairSelectPerameters(parFields, HelperMethod.GetTableName(objEntity), objEntity); using (SqlDataReader dr = sqlCMD.ExecuteReader()) { objResult = FillEntityFromReader(dr, objEntity); dr.Close(); } } } catch (Exception) { objResult = null; throw; } finally { if (sqlCon != null) { if (sqlCon.State == ConnectionState.Open) { sqlCon.Close(); MySqlConnection.GetConnection.CloseConnection(sqlCon); } } } return(objResult); }
public SqlDataReader ExecuteReaderQuery(TTDictionaryQuery SQLDictionery, TTDictionary parDictionery, object objEntity) { SqlDataReader drResult = null; try { GetConnection(); MySqlConnection.GetConnection.OpenConnection(sqlCon); sqlCMD.Parameters.Clear(); CommonMSSQL.AddParameter(sqlCMD, parDictionery, objEntity); StringBuilder SQLQuery = new StringBuilder(); SQLQuery.Append(SQLDictionery.SelectPart).AppendLine(); SQLQuery.Append(SQLDictionery.TablePart).AppendLine(); if (parDictionery.Count > 0) { SQLQuery.Append(HelperMethod.GetParameter(parDictionery, SQLQuery)).AppendLine(); } if (!string.IsNullOrEmpty(SQLDictionery.ParameterPart)) { if (SQLDictionery.ParameterPart.Trim() != "") { SQLQuery.Append(SQLDictionery.ParameterPart).AppendLine(); } } if (SQLDictionery.GroupPart != null) { SQLQuery.Append(SQLDictionery.GroupPart).AppendLine(); } if (SQLDictionery.HavingPart != null) { SQLQuery.Append(SQLDictionery.HavingPart).AppendLine(); } if (TTPagination.isPageing) { if (TTPagination.PageSize != -1) { SQLQuery.Append(string.Format("{0} {1}", SQLDictionery.OrderPart, HelperMethod.GetPageingString(SQLDictionery.OrderPart, objEntity))).AppendLine(); } } else { if (SQLDictionery.OrderPart != null) { SQLQuery.Append(SQLDictionery.OrderPart).AppendLine(); } } sqlCMD.CommandTimeout = 0; sqlCMD.CommandType = CommandType.Text; sqlCMD.CommandText = SQLQuery.ToString(); SqlDataReader dr = sqlCMD.ExecuteReader(); TTPagination.RecordCount = PagerRecordCount(SQLDictionery, parDictionery, objEntity); drResult = dr; } catch (Exception) { throw; } finally { TTPagination.isPageing = false; } return(drResult); }