}//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 SetParameters class. #endregion #region ExternalSelectionList 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 EvSelectionList readDataRow(DataRow Row) { // // Initialise the formfield selectionlist object. // EvSelectionList Item = new EvSelectionList( ); // // Extract the compatible data row values to the formfield selectionlist object items. // Item.Guid = EvSqlMethods.getGuid(Row, EvSelectionLists.DB_GUID); Item.ListId = EvSqlMethods.getString(Row, EvSelectionLists.DB_LIST_ID); Item.Title = EvSqlMethods.getString(Row, EvSelectionLists.DB_TITLE); Item.Description = EvSqlMethods.getString(Row, EvSelectionLists.DB_DESCRIPTION); Item.Version = EvSqlMethods.getInteger(Row, EvSelectionLists.DB_VERSION); string xmlCodeItem = EvSqlMethods.getString(Row, EvSelectionLists.DB_ITEM_LIST); if (xmlCodeItem != String.Empty) { Item.Items = Evado.Digital.Model.EvcStatics.DeserialiseObject <List <EvSelectionList.Item> > (xmlCodeItem); } Item.State = Evado.Model.EvStatics.parseEnumValue <EvSelectionList.SelectionListStates> ( EvSqlMethods.getString(Row, EvSelectionLists.DB_STATE)); Item.UpdatedByUserId = EvSqlMethods.getString(Row, EvSelectionLists.DB_UPDATED_BY_USER_ID); Item.UpdatedBy = EvSqlMethods.getString(Row, EvSelectionLists.DB_UPDATED_BY); Item.UpdatedDate += EvSqlMethods.getDateTime(Row, EvSelectionLists.DB_UPDATED_DATE); // // Return item // return(Item); }//END readDataRow method.
}//END SetLetterParameters. #endregion #region Data Reader methods // ===================================================================================== /// <summary> /// This method reads the content of the data row object containing a query result /// into an form record comment object. /// </summary> /// <param name="Row">DataRow: a data row object</param> /// <returns>EvFormRecordComment: a form record comment object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible data row values to the comment object. /// /// 2. Return the form record comment object. /// </remarks> // ------------------------------------------------------------------------------------- public EdFormRecordComment readDataRow(DataRow Row) { // // Initialise the comment object. // EdFormRecordComment comment = new EdFormRecordComment( ); // // Extract the data object values. // comment.RecordGuid = EvSqlMethods.getGuid(Row, "FRC_RECORD_GUID"); comment.RecordFieldGuid = EvSqlMethods.getGuid(Row, "FRC_RECORD_FIELD_GUID"); comment.AuthorType = Evado.Model.EvStatics.parseEnumValue <EdFormRecordComment.AuthorTypeCodes> ( EvSqlMethods.getString(Row, "FRC_AUTHOR_TYPE")); comment.Content = EvSqlMethods.getString(Row, "FRC_Content"); comment.UserId = EvSqlMethods.getString(Row, "FRC_USER_ID"); comment.UserCommonName = EvSqlMethods.getString(Row, "FRC_USER_COMMON_NAME"); comment.CommentDate = EvSqlMethods.getDateTime(Row, "FRC_COMMENT_DATE"); comment.NewComment = false; // // Return the object. // return(comment); }// End readRow method.
// ===================================================================================== /// <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 setUpdateChangeParameters. // +++++++++++++++++++++++++ END QUERY PARAMETERS SECTION ++++++++++++++++++++++++++++++ #endregion #region data change reader // ===================================================================================== /// <summary> /// This class reads the content of the data reader object into Change business object. /// </summary> /// <param name="Row">DataRow: a data row object</param> /// <returns>EvDataChange: a data change object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the data row values to the data change object. /// /// 2. Encrypt the data change if it is not encrypted. /// /// 3. Return the data change object. /// </remarks> // ------------------------------------------------------------------------------------- private EvDataChange getRowData(DataRow Row) { // // Initialise the data change object // EvDataChange dataChange = new EvDataChange( ); // // Extract the data row values to the data change object. // dataChange.Guid = EvSqlMethods.getGuid(Row, "DC_Guid"); dataChange.RecordGuid = EvSqlMethods.getGuid(Row, "DC_RecordGuid"); dataChange.Uid = EvSqlMethods.getLong(Row, "DC_Uid"); dataChange.RecordUid = EvSqlMethods.getLong(Row, "DC_RecordUid"); dataChange.TableName = Evado.Model.EvStatics.parseEnumValue <EvDataChange.DataChangeTableNames> ( EvSqlMethods.getString(Row, "DC_TableName")); string encrypted = EvSqlMethods.getString(Row, "DC_DataChange"); dataChange.UserId = EvSqlMethods.getString(Row, "DC_UserId"); dataChange.DateStamp = EvSqlMethods.getDateTime(Row, "DC_DateStamp"); // // Check that the encrypted string exists. // if (encrypted != String.Empty) { dataChange = this.decryptData(encrypted, dataChange.Guid); // // Check that items exist. // if (dataChange != null) { // // If the data change items exist process them. // if (dataChange.Items.Count > 0) { // // Iterate through the data change items updating the html coding // for (int count = 0; count < dataChange.Items.Count; count++) { dataChange.Items [count].InitialValue = dataChange.Items [count].InitialValue.Replace("&gt;", "&gt; "); dataChange.Items [count].NewValue = dataChange.Items [count].NewValue.Replace("&gt;", "&gt; "); } //END iterate through the item values correcting html coding. } //END data change items exist. } //END items exit } //END encrypted date exists // // Return the newField . // return(dataChange); }//END getRowData method.
}//END getRowData method. // ===================================================================================== /// <summary> /// This method processes form field table or matrix object. /// </summary> /// <param name="Row">DataRow: a sql data row object</param> /// <param name="Field">EvFormField: a formfield object</param> /// <remarks> /// This method consists of the following steps: /// /// 1. Validate whether the formfield type is matrix and table. /// /// 2. if the Itemtext value is empty then initialise it with the EvFormField table value. /// /// 3. Deserialize the formfield item text to the formfield table. /// /// 4. Empty the formfield itemtext so it will not cause problems when XML styling the record object. /// /// 5. Iterate through the table for setting the validation objects. /// </remarks> // ------------------------------------------------------------------------------------- private void processTableRowObject( DataRow Row, EdRecordField Field) { //this.LogMethod ( "processTableRowObject method " ); //this.LogDebugValue ( "FieldId: " + Field.FieldId ); //this.LogDebugValue ( "Table Length: " + Field.ItemText.Length ); // // Validate whether the formfield type is matrix and table. // if (Field.TypeId != Evado.Model.EvDataTypes.Special_Matrix && Field.TypeId != Evado.Model.EvDataTypes.Table) { //this.LogMethodEnd ( "processTableRowObject" ); return; } // // if the Itemtext value is empty then initialise it with the EvFormField table value. // if (Field.ItemText == String.Empty) { //this.LogDebugValue ( "Reset table value to form default." ); Field.ItemText = EvSqlMethods.getString(Row, EdRecordFields.DB_TABLE); } // // Deserialize the formfield item text to the formfield table. // Field.Table = Evado.Digital.Model.EvcStatics.DeserialiseObject <EdRecordTable> (Field.ItemText); // // Empty the formfield itemtext so it will not cause problems when XML styling the record object. // Field.ItemText = String.Empty; // // Iterate through the table for setting the validation objects. // for (int i = 0; i < Field.Table.ColumnCount; i++) { // // Addressing the 'NA' to negative infinity issue for non-numeric fields. // // Iterate through the table data converting the relevant cell values to NA. // for (int j = 0; j < Field.Table.Rows.Count; j++) { String cell = Field.Table.Rows [j].Column [i]; if (Field.Table.Header [i].TypeId != EvDataTypes.Numeric) { Field.Table.Rows [j].Column [i] = Evado.Model.EvStatics.convertNumNullToTextNull(cell); } //this.LogDebugValue ( "R:" + j + ", C:" + i + ", V: " + cell ); } //END column iteration loop } //END newField iteration loop } //END processTableRowObject method
}//END SetParameters method #endregion #region Aplication Profile Reader // ===================================================================================== /// <summary> /// This method extracts the data reader values to the Site profile object. /// </summary> /// <param name="Row">DataRow object.</param> /// <returns>EvSiteProfile: A site profile data object.</returns> /// <remarks> /// This method consists of following steps. /// /// 1. Extract the compatible data reader object's values to the Site Profile Object. /// /// 2. Return a Site Profile Object. /// /// </remarks> // ------------------------------------------------------------------------------------ public Evado.Digital.Model.EdAdapterSettings getReaderData(DataRow Row) { //this.LogMethod ( "getReaderData method. " ); // // Initialise method variables and objects. // Evado.Digital.Model.EdAdapterSettings applicationSettings = new Evado.Digital.Model.EdAdapterSettings( ); // // Load the query results into the EvProfile object. // applicationSettings.Guid = EvSqlMethods.getGuid(Row, EdAdapterConfig.DB_FIELD_GUID); applicationSettings.ApplicationId = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_APPLICATION_ID); applicationSettings.HomePageHeaderText = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_HOME_PAGE_HEADER); applicationSettings.HelpUrl = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_HELP_URL); applicationSettings.MaximumSelectionListLength = EvSqlMethods.getInteger(Row, EdAdapterConfig.DB_FIELD_MAX_SELECTION_LENGTH); applicationSettings.SmtpServer = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_SMTP_SERVER); applicationSettings.SmtpServerPort = EvSqlMethods.getInteger(Row, EdAdapterConfig.DB_FIELD_SMTP_PORT); applicationSettings.SmtpUserId = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_SMTP_USER_ID); applicationSettings.SmtpPassword = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_SMTP_PASSWORD); applicationSettings.EmailAlertTestAddress = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_ALERT_EMAIL_ADDRESS); //applicationSettings.ap = EvSqlMethods.getString ( Row, EdAdapterSettings.DB_FIELD_APPLICATION_URL ); applicationSettings.State = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_STATE); applicationSettings.Title = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_TITLE); applicationSettings.HttpReference = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_HTTP_REFERENCE); applicationSettings.Description = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_DESCRIPTION); applicationSettings.UserRoles = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_ROLES); applicationSettings.UpdatedBy = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_UPDATE_USER); applicationSettings.UpdatedByUserId = EvSqlMethods.getString(Row, EdAdapterConfig.DB_FIELD_UPDATE_USER_ID); if (applicationSettings.DemoAccountExpiryDays == 0) { applicationSettings.DemoAccountExpiryDays = 28; } // // Return the object. // return(applicationSettings); }//END getReaderData method
}//END SetParameters class. #endregion #region ancillary record Reader // ===================================================================================== /// <summary> /// This method extracts the data row values to the Subject Record object. /// </summary> /// <param name="Row">DataRow: A data row object</param> /// <returns>EvSubjectRecord: A milestone record object.</returns> /// <remarks> /// This method consists of following steps: /// /// 1. Extract the compatible data row values to the Subject record object. /// /// 2. Return the milestone record object. /// </remarks> // ---------------------------------------------------------------------------------- private EvAncillaryRecord readRowData(DataRow Row) { // // Initialise the method variables and objects. // EvAncillaryRecord record = new EvAncillaryRecord( ); // // Extract the data object values. // record.Guid = EvSqlMethods.getGuid(Row, "TSR_Guid"); record.ProjectId = EvSqlMethods.getString(Row, "TrialId"); record.SubjectId = EvSqlMethods.getString(Row, "SubjectId"); record.RecordId = EvSqlMethods.getString(Row, "RecordId"); record.RecordDate = EvSqlMethods.getDateTime(Row, "TSR_RecordDate"); record.Subject = EvSqlMethods.getString(Row, "TSR_Subject"); record.Record = EvSqlMethods.getString(Row, "TSR_Record"); // // Perform binary object management // record.BinaryLength = EvSqlMethods.getInteger(Row, "TSR_BinaryLength"); if (record.BinaryLength > 0) { record.BinaryObject = EvSqlMethods.getBytes(Row, "TSR_BinaryObject"); record.BinaryType = EvSqlMethods.getString(Row, "TSR_BinaryType"); record.BinaryExtension = EvSqlMethods.getString(Row, "TSR_BinaryExtension"); } record.XmlData = EvSqlMethods.getString(Row, "TSR_XmlData"); record.Researcher = EvSqlMethods.getString(Row, "TSR_Researcher"); record.ResearcherDate = EvSqlMethods.getDateTime(Row, "TSR_ResearcherDate"); record.Reviewer = EvSqlMethods.getString(Row, "TSR_Reviewer"); record.ReviewDate = EvSqlMethods.getDateTime(Row, "TSR_ReviewDate"); record.Approver = EvSqlMethods.getString(Row, "TSR_Approver"); record.ApprovalDate = EvSqlMethods.getDateTime(Row, "TSR_ApprovalDate"); record.State = Evado.Model.EvStatics.parseEnumValue <EdRecordObjectStates> (EvSqlMethods.getString(Row, "TSR_State")); record.UpdatedByUserId = EvSqlMethods.getString(Row, "TSR_UpdatedByUserId"); record.UpdatedBy = EvSqlMethods.getString(Row, "TSR_UpdatedBy"); record.UpdatedDate = EvSqlMethods.getDateTime(Row, "TSR_UpdateDate"); record.BookedOutBy = EvSqlMethods.getString(Row, "TSR_BookedOutBy"); record.Signoffs = Evado.Model.EvStatics.DeserialiseObject <List <EdUserSignoff> > (EvSqlMethods.getString(Row, "TSR_Signoffs")); // // Return an object containing EvSubjectRecord object. // return(record); }//END getRowData
}//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 getCheckBoxValue 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="FormField"> Evado.Model.Forms.EvFormField object, containg the field data.</param> // ------------------------------------------------------------------------------------- private void getTableCellValue(DataRow Row, Evado.Digital.Model.EdRecordField FormField) { LogMethod("getTableCellValue"); // // Validate that the table exists. // if (FormField.Table == null) { this.LogDebug("FormField.Table is null"); return; } // // Get the field row values. // int row = EvSqlMethods.getInteger(Row, EdRecordValues.DB_VALUES_ROW); String columnId = EvSqlMethods.getString(Row, EdRecordValues.DB_VALUES_COLUMN_ID); // // get the colum no // int col = getHeaderColumnNo(FormField.Table.Header, columnId); // // get the column row value. // string value = this.getTableColumnValue(Row, col, FormField); LogMethodEnd("getTableColumnValue"); // // Add the value to the table. // if (row < FormField.Table.Rows.Count) { FormField.Table.Rows [row].Column [col] = value; } this.LogDebug(" Row: " + row + " col: " + col + ", value: " + FormField.Table.Rows [row].Column [col]); LogMethodEnd("getTableCellValue"); }//END getTableCellValue method
}//END SetParameters class. #endregion #region Data Reader section // ===================================================================================== /// <summary> /// This class reads the content of the SqlDataReader into the Organisation data object. /// </summary> /// <param name="Row">DataRow: a data row object</param> /// <returns>EvOrganization: an organization object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible row data object to the organization object. /// /// 2. Return the organization data object. /// </remarks> // ------------------------------------------------------------------------------------- public EdOrganisation readQueryRow ( DataRow Row ) { // // Initialise the Organisation // EdOrganisation organisation = new EdOrganisation ( ); // // Fill the object. // organisation.Guid = EvSqlMethods.getGuid ( Row, EdOrganisations.DB_GUID ); organisation.OrgId = EvSqlMethods.getString ( Row, EdOrganisations.DB_ORG_ID ); organisation.Name = EvSqlMethods.getString ( Row, EdOrganisations.DB_NAME ); organisation.AddressStreet_1 = EvSqlMethods.getString ( Row, EdOrganisations.DB_ADDRESS_1 ); organisation.AddressStreet_2 = EvSqlMethods.getString ( Row, EdOrganisations.DB_ADDRESS_2 ); organisation.AddressCity = EvSqlMethods.getString ( Row, EdOrganisations.DB_ADDRESS_CITY ); organisation.AddressPostCode = EvSqlMethods.getString ( Row, EdOrganisations.DB_ADDRESS_POST_CODE ); organisation.AddressState = EvSqlMethods.getString ( Row, EdOrganisations.DB_ADDRESS_STATE ); organisation.AddressCountry = EvSqlMethods.getString ( Row, EdOrganisations.DB_ADDRESS_COUNTRY ); organisation.Telephone = EvSqlMethods.getString ( Row, EdOrganisations.DB_TELEPHONE ); organisation.EmailAddress = EvSqlMethods.getString ( Row, EdOrganisations.DB_EMAIL_ADDRESS ); organisation.OrgType = EvSqlMethods.getString ( Row, EdOrganisations.DB_ORG_TYPE ); organisation.ImageFileName = EvSqlMethods.getString ( Row, EdOrganisations.DB_IMAGE_FILENAME); organisation.UpdatedByUserId = EvSqlMethods.getString ( Row, EdOrganisations.DB_UPDATED_BY_USER_ID ); organisation.UpdatedBy = EvSqlMethods.getString ( Row, EdOrganisations.DB_UPDATED_By ); organisation.UpdatedDate = EvSqlMethods.getDateTime ( Row, EdOrganisations.DB_UPDATE_DATE ); if ( organisation.OrgId.ToLower ( ) == "evado" ) { organisation.OrgType = "Evado"; } // // Return the Organisation object. // return organisation; }//End readRow method.
// ================================================================================== /// <summary> /// This method reads the content of the data row object containing a query result /// into an Activity Record object. /// </summary> /// <param name="Row">DataRow: a data row record object</param> /// <returns>EvActivityForm: a data row object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the data object values from the data row object and add to the activity form object. /// /// 2. Return the activity form object. /// </remarks> // ---------------------------------------------------------------------------------- private EvObjectParameter readDataRow(DataRow Row) { // // Initialise application parameter object // EvObjectParameter parameter = new EvObjectParameter( ); // // Extract the data object values from the data row object and add to the activity form object. // parameter.Guid = EvSqlMethods.getGuid(Row, "OBJ_GUID"); parameter.Order = EvSqlMethods.getInteger(Row, "OBP_ORDER"); parameter.Name = EvSqlMethods.getString(Row, "OBP_NAME"); parameter.DataType = EvStatics.parseEnumValue <EvDataTypes> (EvSqlMethods.getString(Row, "OBP_TYPE")); parameter.Value = EvSqlMethods.getString(Row, "OBP_VALUE"); parameter.Options = EvSqlMethods.getString(Row, "OBP_OPTIONS"); // // Return the application parameter object. // return(parameter); }// End readDataRow method.
// // Define the class EventId property and variable. // #endregion #region Data Reader section // ================================================================================== /// <summary> /// This class reads the content of the data reader object into ApplicationEvent business object. /// </summary> /// <param name="Row">DataRow: a data row object</param> /// <remarks> /// This method consists of the following step: /// /// 1. Convert the elements from data reader object into the elements /// in application event business object. /// </remarks> // ---------------------------------------------------------------------------------- public EvApplicationEvent getReaderData(DataRow Row) { EvApplicationEvent Event = new EvApplicationEvent( ); // // Convert the elements from data reader object into the elements in application event business object. // Event.Guid = EvSqlMethods.getGuid(Row, DB_GUID); Event.EventId = EvSqlMethods.getInteger(Row, DB_EVENT_ID); Event.DateTime = EvSqlMethods.getDateTime(Row, DB_DATE_TIME); string sType = EvSqlMethods.getString(Row, DB_EVENT_TYPE); if (sType == "A") { sType = "Action"; } if (sType == "I") { sType = "Information"; } if (sType == "W") { sType = "Warning"; } if (sType == "E") { sType = "Error"; } Event.Type = Evado.Model.EvStatics.parseEnumValue <EvApplicationEvent.EventType> (sType); Event.Category = EvSqlMethods.getString(Row, DB_EVENT_CATEGORY); Event.UserId = EvSqlMethods.getString(Row, DB_USER_NAME); Event.Description = EvSqlMethods.getString(Row, DB_DESCRIPTION); Event.PageUrl = EvSqlMethods.getString(Row, DB_PAGE_URL); Event.CustomerId = EvSqlMethods.getString(Row, DB_SITE); return(Event); }//END getRowData method.
// ================================================================================== /// <summary> /// This class reads the content of the SqlDataReader into the Facility data object. /// </summary> /// <param name="Row">DataRow: a row of data row table</param> /// <returns>EvDataBaseUpdate: an update database</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Initialise an update object. /// /// 2. Extract the data object values and update values to the update object. /// /// 3. Return the update object. /// </remarks> // ---------------------------------------------------------------------------------- public EvDataBaseUpdate readDataRow(DataRow Row) { // // Initialise an update object. // EvDataBaseUpdate update = new EvDataBaseUpdate( ); // // Extract the data object values and update values to the update object. // update.Guid = EvSqlMethods.getGuid(Row, "DBU_Guid"); update.UpdateNo = EvSqlMethods.getInteger(Row, "DBU_Update_No"); update.UpdateDate = EvSqlMethods.getDateTime(Row, "DBU_Update_Date"); update.Version = EvSqlMethods.getString(Row, "DBU_Version"); update.Objects = EvSqlMethods.getString(Row, "DBU_Object"); update.Description = EvSqlMethods.getString(Row, "DBU_Description"); // // Return the update object. // return(update); }// End readDataRow method.
}//END SetParameters class. #endregion #region Data Reader methods // ===================================================================================== /// <summary> /// This class extracts the data row values to the report object. /// </summary> /// <param name="Row">DataRow: a data row object</param> /// <returns>EvReport: a report data object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible data row values to the Report data object. /// /// 2. Set the xml report string, if it is empty. /// /// 3. Return the Report data object. /// </remarks> // ------------------------------------------------------------------------------------- public EdReport readRow(DataRow Row) { // // Initialise the methods variables and objects. // EdReport report = new EdReport( ); // // Set the xml report string, if it is empty. // string xmlReport = EvSqlMethods.getString(Row, "RS_XmlReport"); if (xmlReport != String.Empty) { xmlReport = xmlReport.Replace("utf-8", "utf-16"); xmlReport = xmlReport.Replace("<SelectionSource></SelectionSource>", "<SelectionSource>None</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource />", "<SelectionSource>None</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>SubjectId</SelectionSource>", "<SelectionSource>Subject_Id</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>SiteId</SelectionSource>", "<SelectionSource>Site_Id</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>TrialId</SelectionSource>", "<SelectionSource>Trial_Id</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>Trial_Id</SelectionSource>", "<SelectionSource>Project_Id</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>ScheduleId</SelectionSource>", "<SelectionSource>Arm_Index</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>AllTrialSites</SelectionSource>", "<SelectionSource>All_Trial_Sites</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>CurrentTrial</SelectionSource>", "<SelectionSource>Current_Trial</SelectionSource>"); xmlReport = xmlReport.Replace("<SelectionSource>Current_Trial</SelectionSource>", "<SelectionSource>Current_Project</SelectionSource>"); xmlReport = xmlReport.Replace("<TrialId>", "<ProjectId>"); xmlReport = xmlReport.Replace("</TrialId>", "</ProjectId>"); xmlReport = xmlReport.Replace("<ReportTypeId>", "<ReportType>"); xmlReport = xmlReport.Replace("</ReportTypeId>", "</ReportType>"); report = Evado.Model.EvStatics.DeserialiseObject <EdReport> (xmlReport);; } // // Extract the compatible data row values to the Report object. // report.Guid = EvSqlMethods.getGuid(Row, "RS_Guid"); report.ReportId = EvSqlMethods.getString(Row, "ReportId"); report.ReportTitle = EvSqlMethods.getString(Row, "RS_ReportTitle"); //Report.ReportSubTitle = EvSqlMethods.getString( Row, "RS_ReportSubTitle" ); report.ReportDate = EvSqlMethods.getDateTime(Row, "RS_ReportDate"); report.ReportType = (EdReport.ReportTypeCode)EvSqlMethods.getInteger(Row, "RS_ReportTypeId"); report.ReportNo = EvSqlMethods.getInteger(Row, "RS_ReportNo"); report.UpdateUserId = EvSqlMethods.getString(Row, "RS_UpdatedByUserId"); report.Updated = EvSqlMethods.getString(Row, "RS_UpdatedBy"); report.Updated += " on " + EvSqlMethods.getDateTime(Row, "RS_UpdateDate").ToString("dd MMM yyyy HH:mm"); report.GeneratedBy = EvSqlMethods.getString(Row, "RS_UpdatedBy"); // // Return the Report object // return(report); }// End readRow method.
} // Close getView method. // ================================================================================== /// <summary> /// This class gets a ArrayList containing a selectionList of Menus data identifiers. /// </summary> /// <param name="PlatformId">string: (Optional) The Site identifier.</param> /// <returns>List of Evado.Model.EvOption: a list of groups</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Define the SQL query parameters and a query string. /// /// 2. Execute the query and store the results on datatable. /// /// 3. Loop through the table and extract data row to the Option object. /// /// 4. Add Option object's values to the Options list. /// /// 5. Return the Option list. /// /// </remarks> // ---------------------------------------------------------------------------------- public List <Evado.Model.EvOption> getGroupList( String PlatformId) { this.LogMethod("getGroupList, "); this.LogDebug(" PlatformId: " + PlatformId); // // Initialize a debug log, a return list of options, an option object, site 1 and site 2 // List <Evado.Model.EvOption> List = new List <Evado.Model.EvOption> ( ); Evado.Model.EvOption option = new Evado.Model.EvOption( ); // // Define the SQL query parameters. // SqlParameter [] cmdParms = new SqlParameter [] { new SqlParameter(PARM_PLATFORM, SqlDbType.VarChar, 10), }; cmdParms [0].Value = PlatformId; // // Define the query string. // _sqlQueryString = _sqlQuery_View + " WHERE ( MNU_PLATFORM = @PLATFORM)" + " AND (MNU_GROUP_HEADER = 1) ORDER BY MNU_ORDER"; this.LogDebug(_sqlQueryString); // // Execute the query against the database. // using (DataTable table = EvSqlMethods.RunQuery(_sqlQueryString, cmdParms)) { // // 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]; // // Process the results into the visitSchedule. // String stGroup = EvSqlMethods.getString(row, "MNU_GROUP"); String stTitle = EvSqlMethods.getString(row, "MNU_TITLE"); // // if the group does not exist add it to the list. // if (GroupExists(List, stGroup) == false) { // // Append the new Menus object to the array. // List.Add(new Evado.Model.EvOption(stGroup, stTitle)); } } } // // Pass back the result arrray. // return(List); }//END getGroupList 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.
}//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.
}//END getView method. // ===================================================================================== /// <summary> /// This method returns a list of Subject Record object based on TrialId, SubjectId and useGuid condition /// </summary> /// <param name="ProjectId">String: A Project identifier</param> /// <param name="EntityId">String: A Subject identifier</param> /// <param name="useGuid">Boolean: true, if the Guid is used</param> /// <returns>List of EvOption: A list containing an Option object.</returns> /// <remarks> /// This method consists of following steps: /// /// 1. Define the sql query parameters and sql query string. /// /// 2. Execute the sql query string and store the results on datatable. /// /// 3. Loop through the table and extract the data row on Option object. /// /// 4. Add the Option object's values to the Options list. /// </remarks> // ---------------------------------------------------------------------------------- public List <EvOption> getList(string EntityId, bool useGuid) { this.LogMethod("getList, "); this.LogValue("SubjectId: " + EntityId); // // Define the local variables and objects. // List <EvOption> list = new List <EvOption>( ); EvOption option = new EvOption( ); // // If useGuid is equal to true, add option object to the list. // if (useGuid == true) { option = new EvOption(Guid.Empty.ToString( ), String.Empty); } list.Add(option); // // Define the query parameters. // SqlParameter [] cmdParms = new SqlParameter [] { new SqlParameter(PARM_SubjectId, SqlDbType.NVarChar, 20), }; cmdParms [0].Value = EntityId; // // Generate the SQL query string. // _sqlQueryString = _sqlQuery_View + " WHERE ( TrialId = @TrialId ) "; if (EntityId.Length > 0) { _sqlQueryString += " AND ( SubjectId = @SubjectId ) "; } _sqlQueryString += " ORDER BY RecordId"; //_Status = "\r\n" + sqlQueryString; // //Execute the query against the database. // using (DataTable table = EvSqlMethods.RunQuery(_sqlQueryString, cmdParms)) { // // Iterate through the table rows count list. // for (int count = 0; count < table.Rows.Count; count++) { // // Extract the table row. // DataRow row = table.Rows [count]; // // Process the query result. // if (useGuid == true) { option = new EvOption( EvSqlMethods.getString(row, "TSR_Guid"), EvSqlMethods.getString(row, "RecordId") + " - " + EvSqlMethods.getDateTime(row, "TSR_Subject")); } else { option = new EvOption( EvSqlMethods.getString(row, "RecordId"), EvSqlMethods.getString(row, "RecordId") + " - " + EvSqlMethods.getDateTime(row, "TSR_Subject")); } if (EntityId == String.Empty) { option.Description = "(" + EvSqlMethods.getString(row, "SubjectId") + ") " + option.Description; } // // Append the EvOption object to the list. // list.Add(option); } } // // Return a list containing an EvOption object. // return(list); }//END getList 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.