/// <summary> /// Selects mutiple records based on fileter columns and their values /// </summary> /// <param name="fieldNames"> /// filter on filed names /// </param> /// <param name="fieldValues"> /// filter for field values /// </param> /// <returns> /// Imodel array /// </returns> public IModel[] SelectMultiple(string[] fieldNames, object[] fieldValues) { SqlCommand command = null; SqlDataReader dataReader = null; IModel[] models = null; command = (SqlCommand)this.CreateSelectCommandForMultipleResults( this.modelDataMap, fieldNames, fieldValues); command.Connection = (SqlConnection)this.connection; command.Transaction = (SqlTransaction)this.transaction; try { dataReader = command.ExecuteReader(); DataReaderConverter converter = new DataReaderConverter(this.modelType); models = converter.ConvertDatReaderToModels(dataReader); } catch (Exception ex) { string str = ex.Message; } finally { dataReader.Close(); } return(models); }
/// <summary> /// Generates select command from model and execute that stored procedure /// </summary> /// <param name="model"> /// Model object with value for input parameters /// </param> /// <returns> /// Imodel object /// </returns> public IModel[] SelectMultipleFromProcedure(IModel model) { SqlDataReader dataReader = null; IModel[] models; // creates new as command object using stored procedure SqlCommand command = this.commandBuilder.GetSelectMultipleCommand(model); command.Transaction = (SqlTransaction)this.transaction; command.Connection = (SqlConnection)this.connection; // executes select stored procedure using (dataReader = command.ExecuteReader()) { try { DataReaderConverter converter = new DataReaderConverter(this.modelType); models = converter.ConvertDatReaderToModels(dataReader); } finally { dataReader.Close(); } } return(models); }
/// <summary> /// Returns Imodel array with sorted records for given sort field /// and with given filter columns and values /// </summary> /// <param name="fieldNames"> /// Field names to filter on /// </param> /// <param name="fieldValues"> /// filter for field values /// </param> /// <param name="sortField"> /// Sort on field name /// </param> /// <param name="ascending"> /// true for sort ascending /// </param> /// <returns> /// sorted Imodel array /// </returns> public IModel[] SelectSorted( string[] fieldNames, object[] fieldValues, string[] sortField, bool ascending) { SqlCommand command = null; SqlDataReader dataReader = null; IModel[] models = null; command = (SqlCommand)this.CreateSelectCommandForMultipleResultsSorted( this.modelDataMap, fieldNames, fieldValues, sortField, ascending); command.Connection = (SqlConnection)this.connection; command.Transaction = (SqlTransaction)this.transaction; dataReader = command.ExecuteReader(); try { DataReaderConverter converter = new DataReaderConverter(this.modelType); models = converter.ConvertDatReaderToModels(dataReader); } finally { dataReader.Close(); } return(models); }