}//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.
}//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.
// ===================================================================================== /// <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 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 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 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.
// // 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 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.
// ================================================================================== /// <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 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.
}//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.