// ===================================================================================== /// <summary> /// This class reads the content of the data reader object into FormField business object. /// </summary> /// <param name="Row">DataRow: an sql data query row</param> /// <returns>EvFormField: a form field object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Update formfield object with the compatible data row items. /// /// 2. If the formfield typeId is table, iterate through the formfield table and set the validation rules /// /// 3. If the selection validation options are missing, add them. /// /// 4. If it is an external coding visitSchedule then add the relevant coding visitSchedule items. /// /// 5. Resolve the numeric 'NA' to negative infinity issue. /// /// 6. Update the instrument type to current enumeration. /// /// 7. If formfield typeId is either analogue scale or horizontal radio buttons, /// select the design by coding value /// /// 8. Return the formfield object. /// </remarks> // ------------------------------------------------------------------------------------- private Evado.Digital.Model.EdRecordSection getRowData(DataRow Row) { // // Initialise xmltable string and a return formfield object. // string xmlTable = String.Empty; Evado.Digital.Model.EdRecordSection formSection = new Evado.Digital.Model.EdRecordSection( ); // // Update formfield object with the compatible data row items. // formSection.LayoutGuid = EvSqlMethods.getGuid(Row, EdRecordSections.DB_LAYOUT_GUID); formSection.No = EvSqlMethods.getInteger(Row, EdRecordSections.DB_NUMBER);; formSection.Title = EvSqlMethods.getString(Row, EdRecordSections.DB_NAME); formSection.Order = EvSqlMethods.getInteger(Row, EdRecordSections.DB_ORDER); formSection.FieldId = EvSqlMethods.getString(Row, EdRecordSections.DB_FIELD_NAME); formSection.Instructions = EvSqlMethods.getString(Row, EdRecordSections.DB_INSTRUCTIONS); formSection.FieldValue = EvSqlMethods.getString(Row, EdRecordSections.DB_FIELD_VALUE); formSection.OnMatchVisible = EvSqlMethods.getBool(Row, EdRecordSections.DB_ON_MATCH_VISIBLE); formSection.OnOpenVisible = EvSqlMethods.getBool(Row, EdRecordSections.DB_VISIBLE); formSection.ReadAccessRoles = EvSqlMethods.getString(Row, EdRecordSections.DB_DEFAULT_DISPLAY_ROLES); formSection.EditAccessRoles = EvSqlMethods.getString(Row, EdRecordSections.DB_DEFAULT_EDIT_ROLES); formSection.PercentWidth = EvSqlMethods.getInteger(Row, EdRecordSections.DB_PERCENT_WIDTH); return(formSection); }//END getRowData method.
}//END getRecordFieldList method. // ===================================================================================== /// <summary> /// this method processes a form field type that is a numeric. /// </summary> /// <param name="Row">The DataRow containing the field</param> /// <param name="FormField"> Evado.Model.Forms.EvFormField object, containg the field data.</param> // ------------------------------------------------------------------------------------- private void getCheckBoxValue(DataRow Row, Evado.Digital.Model.EdRecordField FormField) { LogMethod("getCheckBoxValue"); // // Get the field value. // String columnId = EvSqlMethods.getString(Row, EdRecordValues.DB_VALUES_COLUMN_ID); bool value = EvSqlMethods.getBool(Row, EdRecordValues.DB_VALUES_NUMERIC); this.LogDebug(" columnId: " + columnId + ", value: " + value); if (value == false) { LogMethodEnd("getCheckBoxValue"); return; } // // iterate through the list looking for a matching option value. // foreach (EvOption option in FormField.Design.OptionList) { if (option.Value == columnId) { FormField.ItemValue += ";" + option.Value; } } LogMethodEnd("getCheckBoxValue"); }//END getCheckBoxValue method
}//ENd getHeaderColumnNo method // ===================================================================================== /// <summary> /// this method updates a table cell value form the query result set. /// Note: the cell indexes are zero based. /// </summary> /// <param name="Row">The DataRow containing the field</param> /// <param name="Col">Int: The column index in the able.</param> /// <param name="RecordField"> Evado.Model.Forms.EvFormField object, containg the field data.</param> // ------------------------------------------------------------------------------------- private String getTableColumnValue(DataRow Row, int Col, Evado.Digital.Model.EdRecordField RecordField) { LogMethod("getTableColumnValue"); // // Select the column to retieve the value from // switch (RecordField.Table.Header [Col].TypeId) { case EvDataTypes.Numeric: { float fltValue = EvSqlMethods.getFloat(Row, EdRecordValues.DB_VALUES_NUMERIC); return(fltValue.ToString( )); } case EvDataTypes.Yes_No: { bool bYesNo = EvSqlMethods.getBool(Row, EdRecordValues.DB_VALUES_NUMERIC); string value = "No"; if (bYesNo == true) { value = "Yes"; } return(value); } case EvDataTypes.Date: { DateTime dtValue = EvSqlMethods.getDateTime(Row, EdRecordValues.DB_VALUES_DATE); if (dtValue == Evado.Model.EvStatics.CONST_DATE_NULL) { return(String.Empty); } // // Return the value. // return(dtValue.ToString("dd MMM yyyy")); } default: { return(EvSqlMethods.getString(Row, EdRecordValues.DB_VALUES_STRING)); } } //END table column type switch. } //END getTableColumnValue method
}//END SetParameters class. #endregion #region Data Reader methods // ================================================================================== /// <summary> /// This method reads the content of the data row object containing a query result /// into an ActivityRecord object. /// </summary> /// <param name="Row">DataRow: a retrieving data row object</param> /// <returns>EvBinaryFileMetaData: a readed data row object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible data row values to the Binary file Meta data object /// /// 2. Return the Binary file Meta data object /// </remarks> // ---------------------------------------------------------------------------------- public EvBinaryFileMetaData readDataRow(DataRow Row) { // // Initialise the instrument objects and variables. // EvBinaryFileMetaData binaryFile = new EvBinaryFileMetaData( ); // // Extract the data object values. // binaryFile.Guid = EvSqlMethods.getGuid(Row, EvBinaryFiles.DB_GUID); binaryFile.FileGuid = EvSqlMethods.getGuid(Row, EvBinaryFiles.DB_FILE_GUID); binaryFile.TrialGuid = EvSqlMethods.getGuid(Row, EvBinaryFiles.DB_PROJECT_GUID); binaryFile.GroupGuid = EvSqlMethods.getGuid(Row, EvBinaryFiles.DB_GROUP_GUID); binaryFile.SubGroupGuid = EvSqlMethods.getGuid(Row, EvBinaryFiles.DB_SUB_GROUP_GUID); binaryFile.Language = EvSqlMethods.getString(Row, EvBinaryFiles.DB_LANGUAGE); binaryFile.TrialId = EvSqlMethods.getString(Row, EvBinaryFiles.DB_TRIAL_ID); binaryFile.GroupId = EvSqlMethods.getString(Row, EvBinaryFiles.DB_GROUP_ID); binaryFile.SubGroupId = EvSqlMethods.getString(Row, EvBinaryFiles.DB_SUB_GROUP_ID); binaryFile.FileId = EvSqlMethods.getString(Row, EvBinaryFiles.DB_FILE_ID); binaryFile.Title = EvSqlMethods.getString(Row, EvBinaryFiles.DB_FILE_TITLE); binaryFile.Comments = EvSqlMethods.getString(Row, EvBinaryFiles.DB_FILE_COMMENT); binaryFile.FileName = EvSqlMethods.getString(Row, EvBinaryFiles.DB_FILE_NAME); binaryFile.MimeType = EvSqlMethods.getString(Row, EvBinaryFiles.DB_MIME_TYPE); binaryFile.Status = EvSqlMethods.getString <EvBinaryFileMetaData.FileStatus> ( Row, EvBinaryFiles.DB_FILE_STATUS); binaryFile.UploadDate = EvSqlMethods.getDateTime(Row, EvBinaryFiles.DB_UPLOAD_DATE); binaryFile.ReleaseDate = EvSqlMethods.getDateTime(Row, EvBinaryFiles.DB_RELEASE_DATE); binaryFile.SupersededDate = EvSqlMethods.getDateTime(Row, EvBinaryFiles.DB_SUPERSEDED_DATE); binaryFile.FileExists = EvSqlMethods.getBool(Row, EvBinaryFiles.DB_FILE_EXISTS); binaryFile.FileEncrypted = EvSqlMethods.getBool(Row, EvBinaryFiles.DB_FILE_ENCRYPTED); binaryFile.Version = EvSqlMethods.getInteger(Row, EvBinaryFiles.DB_VERSION); binaryFile.UpdatedByUserId = EvSqlMethods.getString(Row, EvBinaryFiles.DB_UPDATED_BY_USER_ID); binaryFile.UpdatedBy = EvSqlMethods.getString(Row, EvBinaryFiles.DB_UPDATED_BY); binaryFile.UpdatedByDate = EvSqlMethods.getDateTime(Row, EvBinaryFiles.DB_UPDATED_DATE); // // Return the object. // return(binaryFile); }//End readDataRow method.
}//END SetParameters class. #endregion #region PageLayout Reader // ===================================================================================== /// <summary> /// This class extracts the content of the reader to the formfield selectionlist object. /// </summary> /// <param name="Row">DataRow: a data Reader containing the query results</param> /// <returns>EvFormFieldSelectionList: a formfield selectionlist object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible data row values to the formfield selectionlist object. /// /// 2. Return the Formfield selectionlist object. /// </remarks> // --------------------------------------------------------------------------------- private EdPageLayout readDataRow(DataRow Row) { // // Initialise the formfield selectionlist object. // EdPageLayout Item = new EdPageLayout( ); // // Extract the compatible data row values to the formfield selectionlist object items. // Item.Guid = EvSqlMethods.getGuid(Row, EdPageLayouts.DB_GUID); Item.PageId = EvSqlMethods.getString(Row, EdPageLayouts.DB_PAGE_ID); Item.State = EvSqlMethods.getString <EdPageLayout.States> (Row, EdPageLayouts.DB_STATE); Item.UserTypes = EvSqlMethods.getString(Row, EdPageLayouts.DB_USER_TYPES); Item.Title = EvSqlMethods.getString(Row, EdPageLayouts.DB_TITLE); Item.HomePage = EvSqlMethods.getBool(Row, EdPageLayouts.DB_HOME_PAGE); Item.MenuLocation = EvSqlMethods.getString <EdPageLayout.MenuLocations> (Row, EdPageLayouts.DB_MENU_LOCATION); Item.PageCommands = EvSqlMethods.getString(Row, EdPageLayouts.DB_PAGE_COMMANDS); Item.HeaderContent = EvSqlMethods.getString(Row, EdPageLayouts.DB_HEADER_CONTENT); Item.HeaderComponentList = EvSqlMethods.getString(Row, EdPageLayouts.DB_HEADER_COMPONENT_LIST); Item.LeftColumnContent = EvSqlMethods.getString(Row, EdPageLayouts.DB_LEFT_CONTENT); Item.LeftColumnComponentList = EvSqlMethods.getString(Row, EdPageLayouts.DB_LEFT_COMPONENT_LIST); Item.LeftColumnWidth = (short)EvSqlMethods.getInteger(Row, EdPageLayouts.DB_LEFT_COLUMN_WIDTH); Item.CenterColumnContent = EvSqlMethods.getString(Row, EdPageLayouts.DB_CENTER_CONTENT); Item.CenterColumnComponentList = EvSqlMethods.getString(Row, EdPageLayouts.DB_CENTER_COMPONENT_LIST); Item.RightColumnContent = EvSqlMethods.getString(Row, EdPageLayouts.DB_RIGHT_CONTENT); Item.RightColumnComponentList = EvSqlMethods.getString(Row, EdPageLayouts.DB_RIGHT_COMPONENT_LIST); Item.RightColumnWidth = (short)EvSqlMethods.getInteger(Row, EdPageLayouts.DB_RIGHT_COLUMN_WIDTH); Item.Version = EvSqlMethods.getInteger(Row, EdPageLayouts.DB_VERSION); Item.UpdatedByUserId = EvSqlMethods.getString(Row, EdPageLayouts.DB_UPDATED_BY_USER_ID); Item.UpdatedBy = EvSqlMethods.getString(Row, EdPageLayouts.DB_UPDATED_BY); Item.UpdatedDate += EvSqlMethods.getDateTime(Row, EdPageLayouts.DB_UPDATED_DATE); // // Return item // return(Item); }//END readDataRow method.
}//END SetLetterParameters. #endregion #region ReaderData methods // ===================================================================================== /// <summary> /// This class reads the content of the data reader object into Menus business object. /// </summary> /// <param name="Row">DataRow: a sql data row</param> /// <returns>EvMenuItem: a row data of the menu item</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Add page identifier to a menu item object if it exists /// /// 2. Append the row strings of EvSqlMethods object to the menu item object. /// /// 3. Rename the role visitSchedule members and add them to the menu item object. /// /// 4. Return the menu item object /// </remarks> // ------------------------------------------------------------------------------------- public Evado.Digital.Model.EvMenuItem getRowData(DataRow Row) { // // Initialise the menu item object and a page identifier string. // Evado.Digital.Model.EvMenuItem menu = new Evado.Digital.Model.EvMenuItem( ); menu.Guid = EvSqlMethods.getGuid(Row, "MNU_GUID"); menu.PageId = EvSqlMethods.getString(Row, "MNU_PAGE_ID"); menu.Title = EvSqlMethods.getString(Row, "MNU_TITLE"); menu.Order = EvSqlMethods.getInteger(Row, "MNU_ORDER"); menu.Group = EvSqlMethods.getString(Row, "MNU_GROUP"); menu.GroupHeader = EvSqlMethods.getBool(Row, "MNU_GROUP_HEADER"); menu.Platform = EvSqlMethods.getString(Row, "MNU_PLATFORM"); menu.UserTypes = EvSqlMethods.getString(Row, "MNU_USER_TYPES"); menu.RoleList = EvSqlMethods.getString(Row, "MNU_ROLES"); menu.Parameters = EvSqlMethods.getString(Row, "MNU_PARAMETERS"); return(menu); }//END getRowData method.
}//END processNotAvailableValues method #endregion #region Record field list Queries // ===================================================================================== /// <summary> /// This class returns a list of formfield object retrieved by the record Guid. /// </summary> /// <param name="Record">EvForm: (Mandatory) The record object.</param> /// <param name="IncludeComments">bool: true = include field comments.</param> /// <returns>List of EvFormField: a formfield object.</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Return an empty formfield object if the record's Guid is empty /// /// 2. Define the sql query parameters and sql query string /// /// 3. Execute the sql query string with parameters and store the results on data table. /// /// 4. Iterate through the table and extract the data row to the formfield object. /// /// 5. Add object result to the formfields list. /// /// 6. Return the formfields list. /// </remarks> // ------------------------------------------------------------------------------------- public List <EdRecordField> getRecordFieldList( EdRecord Record) { this.LogMethod("getRecordFieldList method. "); this.LogDebug("Record.Guid: " + Record.Guid); // // Initialise the methods variables and objects. // List <EdRecordField> recordFieldList = new List <EdRecordField> ( ); EdRecordField recordField = new EdRecordField( ); Guid previousValueGuid = Guid.Empty; // // Validate whether the record Guid is not empty. // if (Record.Guid == Guid.Empty) { return(recordFieldList); } // // Define the SQL query parameters. // SqlParameter [] cmdParms = new SqlParameter [] { new SqlParameter(PARM_RECORD_GUID, SqlDbType.UniqueIdentifier), }; cmdParms [0].Value = Record.Guid; // // Define the query string. // _Sql_QueryString = SQL_QUERY_VALUES_VIEW + " WHERE ( " + EdRecordValues.DB_RECORD_GUID + " =" + EdRecordValues.PARM_RECORD_GUID + ") " + "ORDER BY " + EdRecordFields.DB_ORDER + "; "; this.LogDebug(_Sql_QueryString); // // Execute the query against the database. // using (DataTable table = EvSqlMethods.RunQuery(_Sql_QueryString, cmdParms)) { if (table.Rows.Count == 0) { return(recordFieldList); } // // Iterate through the results extracting the role information. // for (int count = 0; count < table.Rows.Count; count++) { // // Extract the table row // DataRow row = table.Rows [count]; Guid recordValueGuid = EvSqlMethods.getGuid(row, EdRecordValues.DB_VALUES_GUID); this.LogDebug("previousValueGuid: {0}, recordValueGuid: {1}.", previousValueGuid, recordValueGuid); // // Empty fields are skipped. // if (recordValueGuid == Guid.Empty) { this.LogDebug("Skip the value Guid is empty."); continue; } // If the field guid has changed then it is a new field. // So add the previous field then get the data for the new field. // if (previousValueGuid != recordValueGuid) { this.LogDebug("Change of recordValueGuid."); // // Add the last field to the list. // if (recordField.Guid != Guid.Empty) { this.LogDebug("Add field to record field list."); recordFieldList.Add(recordField); } // // Get the object data from the row. // recordField = this.getRowData(row); // // skip all non summary field if summary fields is selected. // if (Record.Design.LinkContentSetting != EdRecord.LinkContentSetting.First_Text_Field && Record.SelectOnlySummaryFields == true && recordField.Design.IsSummaryField == false) { this.LogDebug("{0} is a summary field so SKIPPED.", recordField.FieldId); continue; } // // skip all non summary field if summary fields is selected. // if (Record.Design.LinkContentSetting != EdRecord.LinkContentSetting.First_Text_Field && count > 1) { this.LogDebug("{0} first field retrieved so SKIPPED.", recordField.FieldId); continue; } // // Update the lst field guid to enable the other field values to be collected. // previousValueGuid = recordField.Guid; }//END create new field object. this.LogDebug("Read in value data."); switch (recordField.TypeId) { case Evado.Model.EvDataTypes.Special_Matrix: case Evado.Model.EvDataTypes.Table: { this.getTableCellValue(row, recordField); break; } case Evado.Model.EvDataTypes.Check_Box_List: { this.getCheckBoxValue(row, recordField); break; } case Evado.Model.EvDataTypes.Numeric: { recordField.ItemValue = EvSqlMethods.getString(row, EdRecordValues.DB_VALUES_NUMERIC); this.LogDebug("recordField.ItemValue: {0}.", recordField.ItemValue); break; } case Evado.Model.EvDataTypes.Boolean: case Evado.Model.EvDataTypes.Yes_No: { bool bValue = EvSqlMethods.getBool(row, EdRecordValues.DB_VALUES_NUMERIC); this.LogDebug("bValue: {0}.", bValue); recordField.ItemValue = "No"; if (bValue == true) { recordField.ItemValue = "Yes"; } this.LogDebug("recordField.ItemValue: {0} bool.", recordField.ItemValue); break; } case Evado.Model.EvDataTypes.Date: { var dtValue = EvSqlMethods.getDateTime(row, EdRecordValues.DB_VALUES_DATE); recordField.ItemValue = EvStatics.getDateAsString(dtValue); this.LogDebug("recordField.ItemValue: {0}.", recordField.ItemValue); break; } case Evado.Model.EvDataTypes.Free_Text: { recordField.ItemText = EvSqlMethods.getString(row, EdRecordValues.DB_VALUES_TEXT); this.LogDebug("recordField.ItemValue: {0}.", recordField.ItemText); break; } default: { if (recordField.isReadOnly == true) { break; } recordField.ItemValue = EvSqlMethods.getString(row, EdRecordValues.DB_VALUES_STRING); this.LogDebug("recordField.ItemValue: {0}.", recordField.ItemValue); break; } } } //ENR record iteration loop. } //ENd using statement // // Add the last field to the list. // if (recordField.Guid != Guid.Empty) { recordFieldList.Add(recordField); } // // Return the formfields list. // return(recordFieldList); }//END getRecordFieldList method.
// ===================================================================================== /// <summary> /// This class reads the content of the data reader object into ChecklistItem business object. /// </summary> /// <param name="Row">DataRow: an Sql DataReader object</param> /// <returns>EvFormField: a formfield object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible row data to the formfield object. /// /// 2. Deserialize the xmlData to the formfield design object if it exists. /// /// 3. Deserialize the xmlvalidationRules to the formfield validationRules object if they exist. /// /// 4. Reset the horizontal radion button list enumertion /// /// 5. Ensure that the formfield state is not null. /// /// 6. if skip retrieving comments is selected, fill the comment list and format it /// /// 7. Get the table object and the external selection list object. /// /// 8. Process the NA values in selectionlists. /// /// 9. Update the current formfield state and type object. /// /// 10. Return the formfield object. /// </remarks> // ------------------------------------------------------------------------------------- private EdRecordField getRowData( DataRow Row) { this.LogMethod("getRowData method"); // // Initialise method template table string, a return formfield object and an annotation string. // string stTemplateTable = String.Empty; EdRecordField recordField = new EdRecordField( ); // // Fill the evForm object.l // recordField.Guid = EvSqlMethods.getGuid(Row, EdRecordValues.DB_VALUES_GUID); recordField.RecordGuid = EvSqlMethods.getGuid(Row, EdRecords.DB_RECORD_GUID); recordField.LayoutGuid = EvSqlMethods.getGuid(Row, EdRecordLayouts.DB_LAYOUT_GUID); recordField.FieldGuid = EvSqlMethods.getGuid(Row, EdRecordValues.DB_FIELD_GUID); recordField.FieldId = EvSqlMethods.getString(Row, EdRecordFields.DB_FIELD_ID); String value = EvSqlMethods.getString(Row, EdRecordFields.DB_TYPE_ID); recordField.Design.TypeId = Evado.Model.EvStatics.parseEnumValue <Evado.Model.EvDataTypes> (value); recordField.Design.Title = EvSqlMethods.getString(Row, EdRecordFields.DB_TITLE); recordField.Design.Instructions = EvSqlMethods.getString(Row, EdRecordFields.DB_INSTRUCTIONS); recordField.Design.HttpReference = EvSqlMethods.getString(Row, EdRecordFields.DB_HTTP_REFERENCE); recordField.Design.SectionNo = EvSqlMethods.getInteger(Row, EdRecordFields.DB_SECTION_ID); recordField.Design.Options = EvSqlMethods.getString(Row, EdRecordFields.DB_OPTIONS); recordField.Design.IsSummaryField = EvSqlMethods.getBool(Row, EdRecordFields.DB_SUMMARY_FIELD); recordField.Design.Mandatory = EvSqlMethods.getBool(Row, EdRecordFields.DB_MANDATORY); recordField.Design.AiDataPoint = EvSqlMethods.getBool(Row, EdRecordFields.DB_AI_DATA_POINT); recordField.Design.HideField = EvSqlMethods.getBool(Row, EdRecordFields.DB_HIDDEN); recordField.Design.ExSelectionListId = EvSqlMethods.getString(Row, EdRecordFields.DB_EX_SELECTION_LIST_ID); recordField.Design.ExSelectionListCategory = EvSqlMethods.getString(Row, EdRecordFields.DB_EX_SELECTION_LIST_CATEGORY); recordField.Design.DefaultValue = EvSqlMethods.getString(Row, EdRecordFields.DB_DEFAULT_VALUE); recordField.Design.Unit = EvSqlMethods.getString(Row, EdRecordFields.DB_UNIT); recordField.Design.UnitScaling = EvSqlMethods.getString(Row, EdRecordFields.DB_UNIT_SCALING); recordField.Design.ValidationLowerLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_VALIDATION_LOWER_LIMIT); recordField.Design.ValidationUpperLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_VALIDATION_UPPER_LIMIT); recordField.Design.AlertLowerLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_ALERT_LOWER_LIMIT); recordField.Design.AlertUpperLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_ALERT_UPPER_LIMIT); recordField.Design.NormalRangeLowerLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_NORMAL_LOWER_LIMITD); recordField.Design.NormalRangeUpperLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_NORMAL_UPPER_LIMIT); recordField.Design.FieldCategory = EvSqlMethods.getString(Row, EdRecordFields.DB_FIELD_CATEGORY); recordField.Design.AnalogueLegendStart = EvSqlMethods.getString(Row, EdRecordFields.DB_ANALOGUE_LEGEND_START); recordField.Design.AnalogueLegendFinish = EvSqlMethods.getString(Row, EdRecordFields.DB_ANALOGUE_LEGEND_FINISH); recordField.Design.JavaScript = EvSqlMethods.getString(Row, EdRecordFields.DB_JAVA_SCRIPT); recordField.Design.InitialOptionList = EvSqlMethods.getString(Row, EdRecordFields.DB_INITIAL_OPTION_LIST); recordField.Design.InitialVersion = EvSqlMethods.getInteger(Row, EdRecordFields.DB_INITIAL_VERSION); // // if the field is a signature then decrypt the field. // if (recordField.TypeId == EvDataTypes.Signature) { this.LogDebug("Encrypted Signature string"); EvEncrypt encrypt = new EvEncrypt(this.ClassParameters.AdapterGuid, recordField.Guid); encrypt.ClassParameters = this.ClassParameters; value = encrypt.decryptString(recordField.ItemText); this.LogDebug("clear string: " + value); recordField.ItemText = value; this.LogClass(encrypt.Log); } // // Get the table or matric object. // this.processTableRowObject(Row, recordField); // // Return the formfield object. // this.LogMethodEnd("getRowData"); return(recordField); }//END getRowData method.
// ===================================================================================== /// <summary> /// This class reads the content of the SqlDataReader into the Report data object. /// </summary> /// <param name="Row">DataRow: a data row object.</param> /// <param name="Columns">List of EvReportColumn: a list of report columns</param> /// <returns>EvReportRow: a report row object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the Report's columns list /// /// 2. Switch data type to update the Report object's column values. /// /// 3. Return the Report object. /// </remarks> // ------------------------------------------------------------------------------------- private EdReportRow readRow(DataRow Row, List <EdReportColumn> Columns) { // // Initialize the return report row object. // EdReportRow reportRow = new EdReportRow(Columns.Count); // // Loop through the report columns list. // for (int columnCount = 0; columnCount < Columns.Count; columnCount++) { // // Switch column's datatype for updating the column values. // switch (Columns [columnCount].DataType) { case EdReport.DataTypes.Bool: { reportRow.ColumnValues [columnCount] = EvSqlMethods.getBool(Row, Columns [columnCount].SourceField).ToString( ); break; } case EdReport.DataTypes.Date: { DateTime dateVal = EvSqlMethods.getDateTime(Row, Columns [columnCount].SourceField); if (dateVal != Evado.Model.EvStatics.CONST_DATE_NULL) { reportRow.ColumnValues [columnCount] = dateVal.ToString("dd MMM yyyy HH:mm:ss"); } else { reportRow.ColumnValues [columnCount] = ""; } break; } case EdReport.DataTypes.Integer: { reportRow.ColumnValues [columnCount] = EvSqlMethods.getInteger(Row, Columns [columnCount].SourceField).ToString( ); break; } case EdReport.DataTypes.Float: case EdReport.DataTypes.Currency: { reportRow.ColumnValues [columnCount] = EvSqlMethods.getFloat(Row, Columns [columnCount].SourceField).ToString( ); break; } default: { String val = EvSqlMethods.getString(Row, Columns [columnCount].SourceField); if (val == "Null") { val = String.Empty; } reportRow.ColumnValues [columnCount] = val; break; } } //END Type switch } //END column interation loop. // // Return the Report object // return(reportRow); }// End readRow method.