}//END SaveItem class // ===================================================================================== /// <summary> /// This class deletes items from the FormField table. /// </summary> /// <param name="Form">EvForm: a form object</param> /// <returns>EvEventCodes: an event code for deleting items</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Execute the method to retrieve a list of formfield objects based on the form's Guid /// /// 2. Loop through the formfield list and execute the method for deleting the formfield items. /// /// 3. Return an event code for deleting items. /// </remarks> // ------------------------------------------------------------------------------------- public EvEventCodes DeleteFields(EdRecord Form) { this.LogMethod("DeleteFields"); this.LogValue("Guid: " + Form.Guid); // // Define the local variables. // EvEventCodes iReturn = EvEventCodes.Ok; // // Retrieve the TestReport items // List <EdRecordField> Items = this._DalFormFields.GetFieldList(Form.Guid); // // Iterate through the items deleting them // for (int Count = 0; Count < Items.Count; Count++) { EdRecordField FormItem = (EdRecordField)Items [Count]; iReturn = _DalFormFields.DeleteItem(FormItem); if (iReturn < EvEventCodes.Ok) { this.LogClass(this._DalFormFields.Log); return(iReturn); } } return(iReturn); } // Close DeleteFields method
}//END UpdateFields method // ===================================================================================== /// <summary> /// This class update fields on formfield table using formfield object. /// </summary> /// <param name="SqlUpdateStatement">StringBuilder: containing the SQL update statemenet</param> /// <param name="ParmList">list of SqlParameter objects</param> /// <param name="RecordField">EvFormField: a formfield data object</param> /// <returns>EvEventCodes: an event code for updating fields</returns> // ------------------------------------------------------------------------------------- private void GenerateUpdateQueryStatements( StringBuilder SqlUpdateStatement, List <SqlParameter> ParmList, EdRecordField RecordField) { this.LogMethod("updateField method. "); // // If readonly field exit method. // if (RecordField.isReadOnly == true) { return; } switch (RecordField.TypeId) { default: { this.updateSingleValueField( SqlUpdateStatement, ParmList, RecordField, "", 0); break; } } }//END updateField method
}//END createSignoff method #endregion #region Processing FormFields // ===================================================================================== /// <summary> /// This class processes the form fields states. Setting their status and where appropriate /// signing them off. /// /// </summary> /// <param name="Record">EvForm: a form object</param> /// <returns>List of EvFormField: a form field object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the form object's fields /// /// 2. Update the appropriate form fields's state and action. /// /// 3. Execute the method to update the form field state. /// /// 4. Add teh formfield object to the list of formfield objects. /// </remarks> // ---------------------------------------------------------------------------------- private List<EdRecordField> processFormFields ( EdRecord Record ) { this.LogMethod ( "processFormFields method." ); this.LogValue ( "Field count: " + Record.Fields.Count ); this.LogValue ( "Form state: " + Record.State ); this.LogValue ( "Save Action: " + Record.SaveAction ); // // Iterate through the adverse event fields and update the newField's state and action. // for ( int count = 0; count < Record.Fields.Count; count++ ) { EdRecordField field = Record.Fields [ count ]; this.LogValue ( " >> Field ID: " + field.FieldId + ", Subject: '" + field.Design.Title + "', Value: '" + field.ItemValue ); // // Update the newField currentSchedule value // Record.Fields [ count ] = field; }//END newField iteration loop. // // When completed return the updated newField currentSchedule. // return Record.Fields; }//END processFormFields 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 getFilteredList_SelectionField Query // ============================================================================== /// <summary> /// This method creates the record view pageMenuGroup containing a list of commands to /// open the form record. /// </summary> /// <param name="Field">EdRecordField object.</param> /// <returns>List of EvOption objects</returns> // ------------------------------------------------------------------------------ private List<EvOption> getFilteredList_SelectionOptions ( EdRecordField Field, bool IsSelectionList ) { this.LogMethod ( "getFilteredList_SelectionOptions" ); // // initialise the variables and objects. // List<EvOption> optionList = new List<EvOption> ( ); String listId = Field.Design.ExSelectionListId; String category = Field.Design.ExSelectionListCategory.ToUpper ( ); this.LogDebug ( "Field: {0}, List: {1}, Category: {2} ", Field.FieldId, listId, category ); // // the category contains the category field then set the category value to this field value. // if ( category.Contains ( EdRecordField.CONST_CATEGORY_AUTO_FIELD_IDENTIFIER ) == true ) { var autoCategory = category.Replace ( EdRecordField.CONST_CATEGORY_AUTO_FIELD_IDENTIFIER, String.Empty ); this.LogDebug ( "autoCategory: {0} ", autoCategory ); // // search the filterfields for a matching field identifier then retrieve the matching filter value // as the category for this selection list. // for ( int index = 0; index < this.queryLayout.FilterFieldIds.Length; index++ ) { if ( this.queryLayout.FilterFieldIds [ index ] == autoCategory ) { category = this.Session.EntitySelectionFilters [ index ]; } } this.LogDebug ( "Auto Category: {0} ", category ); // // the auto category selection value is empty exit. // if ( category == String.Empty ) { return optionList; } } this.LogDebug ( "Parameters List: {0}, Category: {1} ", listId, category ); // // get the external selection list options. // optionList = this.AdapterObjects.getSelectionOptions ( listId, category, false, IsSelectionList ); this.LogDebug ( "optionList.Count: {0} ", optionList.Count ); this.LogMethodEnd ( "getFilteredList_SelectionOptions" ); return optionList; }//ENd Method.
}//END getGroupListCommand method // ============================================================================== /// <summary> /// This method returns the desciption value for a selection option value. /// </summary> /// <param name="Entity">EvForm object</param> /// <param name="PageGroup"> Evado.UniForm.Model.Group</param> // ----------------------------------------------------------------------------- private string getSelectionDescription ( EdRecordField Field, String Value ) { this.LogMethod ( "getSelectionDescription" ); // // initialise the methods variables and objects. // List<EvOption> optionList = Field.Design.OptionList; string [ ] arValue = Field.ItemValue.Split ( ';' ); String outputText = String.Empty; String valueList = String.Empty; // // search selection list if the list is external // if ( Field.TypeId == EvDataTypes.External_CheckBox_List || Field.TypeId == EvDataTypes.External_RadioButton_List || Field.TypeId == EvDataTypes.External_Selection_List ) { optionList = this.AdapterObjects.getSelectionOptions ( Field.Design.ExSelectionListId, String.Empty, false, false ); } // // iterate through the list options to retrieve the matching description. // foreach ( String str in arValue ) { foreach ( EvOption option in optionList ) { if ( option.Value != str ) { continue; } if ( valueList.Contains ( option.Value ) == true ) { continue; } valueList += ";" + option.Value; if ( outputText != String.Empty ) { outputText += @"[[/br]]"; } outputText += option.Description; } } return outputText; }//END Method
}//END GetItem class #endregion #region Update FormField object methods // ===================================================================================== /// <summary> /// This class saves items to formfield ResultData table. /// </summary> /// <param name="FormField">EvFormField: a formfield object</param> /// <returns>EvEventCodes: an event code for saving items</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Exit, if the FormGuid or UserCommonName is empty. /// /// 2. Execute the method for deleting items, if the action code is delete /// /// 3. Execute the method for adding items, if the formfield's Uid is empty. /// /// 4. Else, execute the method for updating items. /// /// 5. Return an event code of the method execution. /// </remarks> // ------------------------------------------------------------------------------------- public EvEventCodes SaveItem(EdRecordField FormField) { this.LogMethod("saveItem Method"); this.LogValue("Guid: " + FormField.Guid); this.LogValue("FormGuid: " + FormField.LayoutGuid); this.LogValue("FieldId: " + FormField.FieldId); // // Define the local variables. // EvEventCodes iReturn = EvEventCodes.Ok; // // Validate whether the FormGuid and UserCommonName are not empty // if (FormField.LayoutGuid == Guid.Empty) { this.LogValue("Form Guid Error."); return(EvEventCodes.Identifier_Global_Unique_Identifier_Error); } // // If the action is set to delete the object. // if (FormField.Title == String.Empty && FormField.Design.Instructions == String.Empty) { iReturn = _DalFormFields.DeleteItem(FormField); this.LogClass(_DalFormFields.Log); return(iReturn); } // // If the newField FormUid is zero or empty, then create a new newField record. // if (FormField.Guid == Guid.Empty) { this.LogValue("Add New Object. "); iReturn = _DalFormFields.AddItem(FormField); this.LogClass(_DalFormFields.Log); return(iReturn); } // // Update the newField record. // iReturn = _DalFormFields.UpdateItem(FormField); this.LogClass(_DalFormFields.Log); return(iReturn); }//END SaveItem class
}//End GetList method. #endregion #region Retrieve TestReport object methods // ===================================================================================== /// <summary> /// This class retrieves the formfield object based on Guid. /// </summary> /// <param name="FieldGuid">Guid: a field global unique identifier</param> /// <returns>EvFormField: a formfield ResultData object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Execute the method for retrieving formfield object values. /// /// 2. Return the formfield object. /// </remarks> // ------------------------------------------------------------------------------------- public EdRecordField getField(Guid FieldGuid) { this.LogMethod("getField"); this.LogValue("FieldGuid: " + FieldGuid); EdRecordField formField = new EdRecordField( ); // // Query the database // formField = _DalFormFields.getField(FieldGuid); this.LogClass(_DalFormFields.Log); return(formField); }//END GetItem class
}//END ExportTableSpacer method. // ================================================================================== /// <summary> /// This class generates the export ResultData output. /// </summary> /// <param name="FormField">EvFormField: a formfield object</param> /// <param name="ExportFreeText">Boolean: true, if the free text fields are exported</param> /// <returns>string: an export record field ResultData string</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Switch the header field object's QueryType and export the associated ResultData. /// /// 2. Return the export record field ResultData string, if the types that have values. /// /// 3. Else, return empty string. /// </remarks> // ---------------------------------------------------------------------------------- private bool getExportRecordFieldData(EdRecordField FormField, bool ExportFreeText) { // // Select the field QueryType to export. // switch (FormField.TypeId) { case EvDataTypes.Numeric: { this.exportColumnValue(FormField.FieldId, FormField.ItemValue); return(true); } case EvDataTypes.Table: case EvDataTypes.Special_Matrix: { this.ExportTableData(FormField); return(true); } case EvDataTypes.Check_Box_List: { this.ExportCheckBoxData(FormField); return(true); } case EvDataTypes.Boolean: { string value = EvStatics.encodeCsvBoolean(FormField.ItemValue); this.exportColumnValue(FormField.FieldId, value); return(true); } case EvDataTypes.Free_Text: { if (ExportFreeText == true) { this.exportColumnValue(FormField.FieldId, FormField.ItemValue); } return(true); } default: { this.exportColumnValue(FormField.FieldId, FormField.ItemValue); return(true); } } //END Switch } //ENd getExportData
}//END getExportDataHeader method. // ================================================================================== /// <summary> /// This class exports the checkbox header. /// </summary> /// <param name="FormField">EvFormField: a form field object</param> /// <returns>String: a checkbox header string</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the formfield option list and add the formfield values to the output string /// /// 2. Return the output string. /// </remarks> // ---------------------------------------------------------------------------------- private String ExportCheckBoxHeader(EdRecordField FormField) { // // Output the header static fields // System.Text.StringBuilder sOutput = new System.Text.StringBuilder( ); // // Output the form field header information // foreach (EvOption option in FormField.Design.OptionList) { sOutput.Append(";" + FormField.FieldId + "-" + option.Value.Replace(",", "")); } return(sOutput.ToString( )); }//END getExportCheckBoxHeader method.
}//END getExportCheckBoxHeader method. // ================================================================================== /// <summary> /// This class exports the table header /// </summary> /// <param name="FormField">EvFormField: a form field object</param> /// <returns>String: a table header string</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the formfield object table's rows and columns /// /// 2. add the formfield values to the table header string. /// /// 3. Return the table header string. /// </remarks> // ---------------------------------------------------------------------------------- private string ExportTableHeader(EdRecordField FormField) { System.Text.StringBuilder sOutput = new System.Text.StringBuilder( ); // // Output the form field header information // for (int row = 0; row < FormField.Table.Rows.Count; row++) { for (int col = 0; col < FormField.Table.Header.Length; col++) { if (FormField.Table.Header [col].Text == String.Empty) { continue; } sOutput.Append(";" + FormField.FieldId + " R:" + row + " C:" + col); } //END column iteration loop } //END row iteration return(sOutput.ToString()); }//END ExportTableHeader method.
// ================================================================================== /// <summary> /// This class exports table spacer /// </summary> /// <param name="FormField">EvFormField: a formfield object</param> /// <returns>String: a table spacer string</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the formfield object table rows and columns /// /// 2. Add the "," character to the table header string. /// /// 3. Return the table header string. /// </remarks> // ---------------------------------------------------------------------------------- private String ExportTableSpacer(EdRecordField FormField) { String stTableHeader = String.Empty; // // Output the form field header information // for (int row = 0; row < FormField.Table.Rows.Count; row++) { for (int col = 0; col < FormField.Table.Header.Length; col++) { if (FormField.Table.Header [col].Text != String.Empty) { stTableHeader += Evado.Digital.Model.EvcStatics.encodeCsvEmpty; } } //END column iteration loop } //END row iteration return(stTableHeader); }//END ExportTableSpacer method.
} //END processTableRowObject method // ===================================================================================== /// <summary> /// This methoid processes the not available values. /// </summary> /// <param name="Row">DataRow: an sql data row object</param> /// <param name="Field">EvFormField: a form field object</param> /// <remarks> /// This method consists of the following steps: /// /// 1. To address Null Numeric bug, convert from 1E-45F to Float Negative Infinity. /// /// 2. Reset the numeric 'NA' for negative infinity issue and null value. /// </remarks> // ------------------------------------------------------------------------------------- private void processNotAvailableValues( DataRow Row, EdRecordField Field) { //this.LogMethod ( "processNotAvailableValues method " ); // // To address Null Numeric bug, convert from 1E-45F to Float Negative Infinity. // Field.ItemValue = Evado.Model.EvStatics.convertNumNullToTextNull(Field.ItemValue); // // Reset the numeric 'NA' for negative infinity issue. // if (Field.TypeId == Evado.Model.EvDataTypes.Selection_List || Field.TypeId == Evado.Model.EvDataTypes.External_Selection_List || Field.TypeId == Evado.Model.EvDataTypes.Horizontal_Radio_Buttons || Field.TypeId == Evado.Model.EvDataTypes.Radio_Button_List) { Field.Design.Options = Field.Design.Options.Replace(" :", ":"); if (Evado.Digital.Model.EvcStatics.hasNumericNul(Field.ItemValue) == true) { Field.ItemValue = Evado.Digital.Model.EvcStatics.CONST_NUMERIC_NOT_AVAILABLE; } if (Field.ItemValue == "0" && Field.Design.Options.Contains(Evado.Digital.Model.EvcStatics.CONST_NUMERIC_NOT_AVAILABLE + ":") == true && Field.Design.Options.Contains(@"0:") == false) { Field.ItemValue = Evado.Digital.Model.EvcStatics.CONST_NUMERIC_NOT_AVAILABLE; } } if (Field.TypeId != Evado.Model.EvDataTypes.Numeric) { if (Evado.Digital.Model.EvcStatics.hasNumericNul(Field.ItemValue) == true) { Field.ItemValue = Evado.Digital.Model.EvcStatics.CONST_NUMERIC_NOT_AVAILABLE; } } //this.LogMethodEnd ( "processNotAvailableValues" ); }//END processNotAvailableValues method
} //ENd getExportData #endregion // ================================================================================== /// <summary> /// This method creates the export checkbox ResultData header. /// </summary> /// <param name="FormField">EvFormField: a formfield object</param> /// <returns>String: a checkbox export string</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the headerfield object optionlist. /// /// 2. Append the compatible ",1" or ",0" character to the output string. /// /// 3. Return the output string. /// </remarks> // ---------------------------------------------------------------------------------- private void ExportCheckBoxData( EdRecordField FormField) { this.LogMethod("ExportCheckBoxData method. "); // // Define the string builder // string [] values = FormField.ItemValue.Split(';'); this.LogDebug("ItemValue: " + FormField.ItemValue); if (FormField.ItemValue == String.Empty) { this.LogDebug("EXIT empty value"); return; } // // Output the form field header information // foreach (EvOption option in FormField.Design.OptionList) { // // iterate through the value array. // foreach (string value in values) { if (option.Value != value) { continue; } string exportFieldId = FormField.FieldId + "-" + option.Value.Replace(",", ""); this.exportColumnValue(exportFieldId, "1"); } }//END option list interation loop. this.LogMethodEnd("ExportCheckBoxData"); }//END ExportCheckBoxData method.
}//END ExportCheckBoxData method. // ================================================================================== /// <summary> /// This method creates the export table ResultData header. /// </summary> /// <param name="FormField">EvFormField: a formfield object</param> /// <returns>String: a checkbox export string</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Loop through the headerfield object table's rows. /// /// 2. if the headerfield row is greater than or equal to formfield's row length, /// loop through columns and append the compatible "," character to the output string. /// /// 3. Else, loop through the column and /// /// 4. switch the column QueryType and append the formfield object's column value to the output string. /// /// 5. Return the output string. /// </remarks> // ---------------------------------------------------------------------------------- private void ExportTableData( EdRecordField FormField) { this.LogMethod("ExportTableData method. "); this.LogDebug("record FieldId: " + FormField.FieldId); this.LogDebug("table Rows: " + FormField.Table.Rows.Count); // // Output the form field header information // for (int row = 0; row < FormField.Table.Rows.Count; row++) { this.LogDebug("Row: " + row); // // iterate through the columns inserting null values. // for (int col = 0; col < FormField.Table.Header.Length; col++) { this.LogDebug("Col: " + col); // // Skip empty columns // if (FormField.Table.Header [col].Text == String.Empty) { continue; } string tableFieldId = FormField.FieldId + " R:" + row + " C:" + col; string value = FormField.Table.Rows [row].Column [col]; this.exportColumnValue(tableFieldId, value); } //END if column iteration } //END row iteration this.LogMethodEnd("ExportTableData "); }//END ExportTableData method
// ============================================================================== /// <summary> /// This method creates the record view pageMenuGroup containing a list of commands to /// open the form record. /// </summary> /// <param name="PageObject">Evado.Model.Uniform.Page object to add the pageMenuGroup to.</param> /// <param name="subjects">EvSubjects subjects to add to selection groups</param> /// <param name="subjectVisits">EvSubjectMilestones visits for each subject</param> /// <param name="QueryParameters">EvQueryParameters: conting the query parameters</param> /// <param name="ApplicationObject">Adapter.ApplicationObjects object.</param> // ------------------------------------------------------------------------------ private void getFilteredList_SelectionGroup ( Evado.UniForm.Model.Page PageObject ) { this.LogMethod ( "getFilteredList_SelectionGroup" ); // // Initialise the methods variables and objects. // Evado.UniForm.Model.Group pageGroup = null; Evado.UniForm.Model.Command selectionCommand = null; List<EvOption> optionList; Evado.UniForm.Model.Field groupField; // // if hide selection group is enabled exit // if ( this._HideSelectionGroup == true ) { return; } // // Create the new pageMenuGroup for record selection. // pageGroup = PageObject.AddGroup ( EdLabels.Entities_Selection_Group_Title, Evado.UniForm.Model.EditAccess.Enabled ); pageGroup.GroupType = Evado.UniForm.Model.GroupTypes.Default; pageGroup.Layout = Evado.UniForm.Model.GroupLayouts.Full_Width; pageGroup.AddParameter ( Evado.UniForm.Model.GroupParameterList.Offline_Hide_Group, true ); // // if the entity is not selected display an entity selection field. // if ( this.Session.Selected_EntityLayoutId == String.Empty ) { // // Add the record state selection option // optionList = new List<EvOption> ( ); optionList.Add ( new EvOption ( ) ); foreach ( EdRecord layout in this.AdapterObjects.IssuedEntityLayouts ) { optionList.Add ( layout.SelectionOption ); } groupField = pageGroup.createSelectionListField ( EdRecord.FieldNames.Layout_Id, EdLabels.Label_Form_Id, this.Session.Selected_EntityLayoutId, optionList ); groupField.Layout = EuAdapter.DefaultFieldLayout; groupField.AddParameter ( Evado.UniForm.Model.FieldParameterList.Snd_Cmd_On_Change, 1 ); // // Add the selection groupCommand // selectionCommand = pageGroup.addCommand ( EdLabels.Entities_Selection_Command_Title, EuAdapter.ADAPTER_ID, EuAdapterClasses.Entities.ToString ( ), Evado.UniForm.Model.ApplicationMethods.Custom_Method ); selectionCommand.setCustomMethod ( Evado.UniForm.Model.ApplicationMethods.List_of_Objects ); selectionCommand.SetPageId ( Evado.Digital.Model.EdStaticPageIds.Entity_Filter_View ); this.LogDebug ( "Group Command Count {0}. ", pageGroup.CommandList.Count ); this.LogMethodEnd ( "getFilteredList_SelectionGroup" ); return; }//END layoutId selection // // if the entity layout id has been defined display the entity selection fields. // // // retrieve the selected entity layout object // this.queryLayout = this.AdapterObjects.GetEntityLayout ( this.Session.Selected_EntityLayoutId ); this.LogDebug ( "E: {0} S: {1}.", queryLayout.LayoutId, queryLayout.State ); this.LogDebug ( "Entity {0}. ", queryLayout.CommandTitle ); this.LogDebug ( "StaticQueryFilterOptions {0}. ", this.AdapterObjects.Settings.StaticQueryFilterOptions ); // // Insert the static filter selection for organisation city. // if ( this.AdapterObjects.Settings.StaticQueryFilterOptions.Contains ( EdOrganisation.FieldNames.Address_Country.ToString ( ) ) == true ) { this.getQueryList_StaticOrgFilter ( pageGroup, EdOrganisation.FieldNames.Address_Country ); } if ( this.AdapterObjects.Settings.StaticQueryFilterOptions.Contains ( EdOrganisation.FieldNames.Address_City.ToString ( ) ) == true ) { this.getQueryList_StaticOrgFilter ( pageGroup, EdOrganisation.FieldNames.Address_City ); } if ( this.AdapterObjects.Settings.StaticQueryFilterOptions.Contains ( EdOrganisation.FieldNames.Address_Post_Code.ToString ( ) ) == true ) { this.getQueryList_StaticOrgFilter ( pageGroup, EdOrganisation.FieldNames.Address_Post_Code ); } // // iterate through the filter field ids and display the filter field in the selection group. // for ( int filterIndex = 0; filterIndex < queryLayout.FilterFieldIds.Length; filterIndex++ ) { string fieldId = queryLayout.FilterFieldIds [ filterIndex ]; if ( fieldId == String.Empty ) { continue; } this.LogDebug ( "fieldId {0}. ", fieldId ); // // retrieve the matching field object. // EdRecordField field = queryLayout.GetFieldObject ( fieldId ); if ( field == null ) { continue; } this.LogDebug ( "field.FieldId {0} - {1}. ", field.FieldId, field.Title ); // // retrieve the current selection filter value. // string selectionFilter = this.Session.EntitySelectionFilters [ filterIndex ]; this.LogDebug ( "selectionFilter {0}. ", selectionFilter ); // // create the selection field object for the selected field. // this.getFilteredList_SelectionField ( pageGroup, filterIndex, selectionFilter, field ); }//END of the Selection filter iteration loop. // // Add the selection groupCommand // selectionCommand = pageGroup.addCommand ( EdLabels.Entities_Selection_Command_Title, EuAdapter.ADAPTER_ID, EuAdapterClasses.Entities.ToString ( ), Evado.UniForm.Model.ApplicationMethods.Custom_Method ); selectionCommand.setCustomMethod ( Evado.UniForm.Model.ApplicationMethods.List_of_Objects ); selectionCommand.SetPageId ( Evado.Digital.Model.EdStaticPageIds.Entity_Filter_View ); ; this.LogDebug ( "Group Command Count {0}. ", pageGroup.CommandList.Count ); this.LogMethodEnd ( "getFilteredList_SelectionGroup" ); }//ENd getFilteredList_SelectionGroup method
}//END getEntity_Summary_ListGroup method // ============================================================================== /// <summary> /// This method appends the milestone groupCommand to the page milestone list pageMenuGroup /// </summary> /// <param name="Entity">EvForm object</param> /// <param name="PageGroup"> Evado.UniForm.Model.Group</param> // ----------------------------------------------------------------------------- private void getGroupSummaryListGroup ( EdRecord Entity, Evado.UniForm.Model.Page PageObject ) { this.LogMethod ( "getGroupSummaryListGroup" ); this.LogDebug ( "Entity.EntityId: " + Entity.EntityId ); this.LogDebug ( "LinkContentSetting: " + Entity.Design.LinkContentSetting ); this.LogDebug ( "DefaultPageLayout: " + Entity.Design.DefaultPageLayout ); // // Initialise the methods variables and objects. // Evado.UniForm.Model.Group pageGroup = new Evado.UniForm.Model.Group ( ); Evado.UniForm.Model.Field groupField = new Evado.UniForm.Model.Field ( ); Evado.UniForm.Model.Command groupCommand = new Evado.UniForm.Model.Command ( ); // // Create the record display pageMenuGroup. // pageGroup = PageObject.AddGroup ( String.Empty ); pageGroup.CmdLayout = Evado.UniForm.Model.GroupCommandListLayouts.Horizontal_Orientation; pageGroup.Layout = Evado.UniForm.Model.GroupLayouts.Dynamic; pageGroup.AddParameter ( Evado.UniForm.Model.GroupParameterList.Percent_Width, 25 ); foreach ( EdRecordField field in Entity.Fields ) { this.LogDebug ( "fid {0} - {1} V: {2}. ", field.FieldId, field.TypeId, field.ItemValue ); if ( field.Design.IsSummaryField == false && field.TypeId != EvDataTypes.Image && field.TypeId != EvDataTypes.Text && field.TypeId != EvDataTypes.Numeric && field.TypeId != EvDataTypes.Telephone_Number && field.TypeId != EvDataTypes.Selection_List && field.TypeId != EvDataTypes.Radio_Button_List && field.TypeId != EvDataTypes.Check_Box_List && field.TypeId != EvDataTypes.External_Selection_List && field.TypeId != EvDataTypes.External_RadioButton_List && field.TypeId != EvDataTypes.External_CheckBox_List ) { continue; } // // skip all empty items. // if ( field.ItemValue == String.Empty || field.ItemValue.Contains ( "E+37" ) == true || field.ItemValue.Contains ( "E-35" ) == true ) { continue; } this.LogDebug ( "FieldId {0}, value {1} ", field.FieldId, field.ItemValue ); // // Define the layout. // Evado.UniForm.Model.FieldLayoutCodes layout = Evado.UniForm.Model.FieldLayoutCodes.Left_Justified; switch ( field.TypeId ) { case EvDataTypes.Image: { groupField = pageGroup.createImageField ( String.Empty, field.Title, field.ItemValue, 125, 0 ); groupField.EditAccess = Evado.UniForm.Model.EditAccess.Disabled; groupField.Layout = layout; continue; } case EvDataTypes.Selection_List: case EvDataTypes.Check_Box_List: case EvDataTypes.Radio_Button_List: case EvDataTypes.Horizontal_Radio_Buttons: case EvDataTypes.External_Selection_List: case EvDataTypes.External_RadioButton_List: case EvDataTypes.External_CheckBox_List: { var value = this.getSelectionDescription ( field, field.ItemValue ); groupField = pageGroup.createReadOnlyTextField ( String.Empty, field.Title, value ); groupField.EditAccess = Evado.UniForm.Model.EditAccess.Disabled; groupField.Layout = layout; continue; } default: { groupField = pageGroup.createReadOnlyTextField ( String.Empty, field.Title, field.ItemValue ); groupField.EditAccess = Evado.UniForm.Model.EditAccess.Disabled; groupField.Layout = layout; continue; } }//END type switch statement. }//END field iteration loop // // Define the pageMenuGroup groupCommand. // groupCommand = pageGroup.addCommand ( Entity.Title, EuAdapter.ADAPTER_ID, EuAdapterClasses.Entities, Evado.UniForm.Model.ApplicationMethods.Get_Object ); groupCommand.Id = Entity.Guid; groupCommand.SetGuid ( Entity.Guid ); // // Define the link groupCommand. // EdRecordField commandField = Entity.getFirstHttpLinkField ( ); if ( commandField != null ) { this.LogDebug ( "FieldId {0}, value {1} ", commandField.FieldId, commandField.ItemValue ); if ( commandField.ItemValue != String.Empty ) { string title = commandField.Title; string url = commandField.ItemValue; if ( url.Contains ( "^" ) == true ) { string [ ] arValue = commandField.ItemValue.Split ( '^' ); url = arValue [ 0 ]; title = arValue [ 1 ]; } groupCommand = pageGroup.addCommand ( title, EuAdapter.ADAPTER_ID, EuAdapterClasses.Entities, Evado.UniForm.Model.ApplicationMethods.Get_Object ); groupCommand.Type = Evado.UniForm.Model.CommandTypes.Http_Link; groupCommand.AddParameter ( Evado.UniForm.Model.CommandParameters.Link_Url, url ); } } this.LogMethodEnd ( "getGroupSummaryListGroup" ); }//END getGroupListCommand method
// ===================================================================================== /// <summary> /// This class reads the content of the data reader object into ChecklistItem business object. /// </summary> /// <param name="Row">DataRow: an Sql DataReader object</param> /// <returns>EvFormField: a formfield object</returns> /// <remarks> /// This method consists of the following steps: /// /// 1. Extract the compatible row data to the formfield object. /// /// 2. Deserialize the xmlData to the formfield design object if it exists. /// /// 3. Deserialize the xmlvalidationRules to the formfield validationRules object if they exist. /// /// 4. Reset the horizontal radion button list enumertion /// /// 5. Ensure that the formfield state is not null. /// /// 6. if skip retrieving comments is selected, fill the comment list and format it /// /// 7. Get the table object and the external selection list object. /// /// 8. Process the NA values in selectionlists. /// /// 9. Update the current formfield state and type object. /// /// 10. Return the formfield object. /// </remarks> // ------------------------------------------------------------------------------------- private EdRecordField getRowData( DataRow Row) { this.LogMethod("getRowData method"); // // Initialise method template table string, a return formfield object and an annotation string. // string stTemplateTable = String.Empty; EdRecordField recordField = new EdRecordField( ); // // Fill the evForm object.l // recordField.Guid = EvSqlMethods.getGuid(Row, EdRecordValues.DB_VALUES_GUID); recordField.RecordGuid = EvSqlMethods.getGuid(Row, EdRecords.DB_RECORD_GUID); recordField.LayoutGuid = EvSqlMethods.getGuid(Row, EdRecordLayouts.DB_LAYOUT_GUID); recordField.FieldGuid = EvSqlMethods.getGuid(Row, EdRecordValues.DB_FIELD_GUID); recordField.FieldId = EvSqlMethods.getString(Row, EdRecordFields.DB_FIELD_ID); String value = EvSqlMethods.getString(Row, EdRecordFields.DB_TYPE_ID); recordField.Design.TypeId = Evado.Model.EvStatics.parseEnumValue <Evado.Model.EvDataTypes> (value); recordField.Design.Title = EvSqlMethods.getString(Row, EdRecordFields.DB_TITLE); recordField.Design.Instructions = EvSqlMethods.getString(Row, EdRecordFields.DB_INSTRUCTIONS); recordField.Design.HttpReference = EvSqlMethods.getString(Row, EdRecordFields.DB_HTTP_REFERENCE); recordField.Design.SectionNo = EvSqlMethods.getInteger(Row, EdRecordFields.DB_SECTION_ID); recordField.Design.Options = EvSqlMethods.getString(Row, EdRecordFields.DB_OPTIONS); recordField.Design.IsSummaryField = EvSqlMethods.getBool(Row, EdRecordFields.DB_SUMMARY_FIELD); recordField.Design.Mandatory = EvSqlMethods.getBool(Row, EdRecordFields.DB_MANDATORY); recordField.Design.AiDataPoint = EvSqlMethods.getBool(Row, EdRecordFields.DB_AI_DATA_POINT); recordField.Design.HideField = EvSqlMethods.getBool(Row, EdRecordFields.DB_HIDDEN); recordField.Design.ExSelectionListId = EvSqlMethods.getString(Row, EdRecordFields.DB_EX_SELECTION_LIST_ID); recordField.Design.ExSelectionListCategory = EvSqlMethods.getString(Row, EdRecordFields.DB_EX_SELECTION_LIST_CATEGORY); recordField.Design.DefaultValue = EvSqlMethods.getString(Row, EdRecordFields.DB_DEFAULT_VALUE); recordField.Design.Unit = EvSqlMethods.getString(Row, EdRecordFields.DB_UNIT); recordField.Design.UnitScaling = EvSqlMethods.getString(Row, EdRecordFields.DB_UNIT_SCALING); recordField.Design.ValidationLowerLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_VALIDATION_LOWER_LIMIT); recordField.Design.ValidationUpperLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_VALIDATION_UPPER_LIMIT); recordField.Design.AlertLowerLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_ALERT_LOWER_LIMIT); recordField.Design.AlertUpperLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_ALERT_UPPER_LIMIT); recordField.Design.NormalRangeLowerLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_NORMAL_LOWER_LIMITD); recordField.Design.NormalRangeUpperLimit = EvSqlMethods.getFloat(Row, EdRecordFields.DB_NORMAL_UPPER_LIMIT); recordField.Design.FieldCategory = EvSqlMethods.getString(Row, EdRecordFields.DB_FIELD_CATEGORY); recordField.Design.AnalogueLegendStart = EvSqlMethods.getString(Row, EdRecordFields.DB_ANALOGUE_LEGEND_START); recordField.Design.AnalogueLegendFinish = EvSqlMethods.getString(Row, EdRecordFields.DB_ANALOGUE_LEGEND_FINISH); recordField.Design.JavaScript = EvSqlMethods.getString(Row, EdRecordFields.DB_JAVA_SCRIPT); recordField.Design.InitialOptionList = EvSqlMethods.getString(Row, EdRecordFields.DB_INITIAL_OPTION_LIST); recordField.Design.InitialVersion = EvSqlMethods.getInteger(Row, EdRecordFields.DB_INITIAL_VERSION); // // if the field is a signature then decrypt the field. // if (recordField.TypeId == EvDataTypes.Signature) { this.LogDebug("Encrypted Signature string"); EvEncrypt encrypt = new EvEncrypt(this.ClassParameters.AdapterGuid, recordField.Guid); encrypt.ClassParameters = this.ClassParameters; value = encrypt.decryptString(recordField.ItemText); this.LogDebug("clear string: " + value); recordField.ItemText = value; this.LogClass(encrypt.Log); } // // Get the table or matric object. // this.processTableRowObject(Row, recordField); // // Return the formfield object. // this.LogMethodEnd("getRowData"); return(recordField); }//END getRowData method.
// ============================================================================== /// <summary> /// This method creates an entity filter selection field object. /// </summary> /// <param name="PageGroup">Evado.Model.Uniform.Group object to add the pageGroup .</param> /// <param name="FilterIndex">Integer: filter index</param> /// <param name="SelectionFilter">String: filter value </param> /// <param name="Field">EdRecordField object.</param> // ------------------------------------------------------------------------------ private void getFilteredList_SelectionField ( Evado.UniForm.Model.Group PageGroup, int FilterIndex, String SelectionFilter, EdRecordField Field ) { this.LogMethod ( "getFilteredList_SelectionField" ); this.LogDebug ( "FilterIndex: {0}, SelectionFilter: {1}. ", FilterIndex, SelectionFilter ); //this.LogDebug ( "F: {0}, T: {1}, Type {2}. ", Field.FieldId, Field.Title, Field.TypeId ); List<EvOption> optionList = Evado.UniForm.Model.EuStatics.getStringAsOptionList ( Field.Design.Options ); optionList.Sort ( ( n1, n2 ) => n1.Description.CompareTo ( n2.Description ) ); List<EvOption> selectionOptionList = new List<EvOption> ( ); selectionOptionList.Add ( new EvOption ( ) ); foreach ( EvOption opt in optionList ) { selectionOptionList.Add ( opt ); } // // user the switch to select the selection data types. // switch ( Field.TypeId ) { case EvDataTypes.Check_Box_List: { var field = PageGroup.createCheckBoxListField ( EuEntities.CONST_SELECTION_FIELD + FilterIndex, Field.Title, SelectionFilter, optionList ); field.Layout = EuAdapter.DefaultFieldLayout; field.AddParameter ( Evado.UniForm.Model.FieldParameterList.Snd_Cmd_On_Change, 1 ); break; } case EvDataTypes.Yes_No: case EvDataTypes.Boolean: { var field = PageGroup.createBooleanField ( EuEntities.CONST_SELECTION_FIELD + FilterIndex, Field.Title, EvStatics.getBool ( SelectionFilter ) ); field.Layout = EuAdapter.DefaultFieldLayout; field.AddParameter ( Evado.UniForm.Model.FieldParameterList.Snd_Cmd_On_Change, 1 ); break; } case EvDataTypes.Selection_List: case EvDataTypes.Radio_Button_List: { var field = PageGroup.createSelectionListField ( EuEntities.CONST_SELECTION_FIELD + FilterIndex, Field.Title, SelectionFilter, selectionOptionList ); field.Layout = EuAdapter.DefaultFieldLayout; field.AddParameter ( Evado.UniForm.Model.FieldParameterList.Snd_Cmd_On_Change, 1 ); break; } case EvDataTypes.External_Selection_List: case EvDataTypes.External_RadioButton_List: { this.LogDebug ( "External_Selection_List filter" ); selectionOptionList = this.getFilteredList_SelectionOptions ( Field, true ); if ( selectionOptionList.Count <= 1 ) { this.LogDebug ( "No Selection list options" ); break; } var field = PageGroup.createSelectionListField ( EuEntities.CONST_SELECTION_FIELD + FilterIndex, Field.Title, SelectionFilter, selectionOptionList ); field.Layout = EuAdapter.DefaultFieldLayout; field.AddParameter ( Evado.UniForm.Model.FieldParameterList.Snd_Cmd_On_Change, 1 ); break; } case EvDataTypes.External_CheckBox_List: { this.LogDebug ( "External_CheckBox_List filter" ); selectionOptionList = this.getFilteredList_SelectionOptions ( Field, false ); if ( selectionOptionList.Count == 0 ) { this.LogDebug ( "No CheckBox list options" ); break; } var field = PageGroup.createCheckBoxListField ( EuEntities.CONST_SELECTION_FIELD + FilterIndex, Field.Title, SelectionFilter, selectionOptionList ); field.Layout = EuAdapter.DefaultFieldLayout; field.AddParameter ( Evado.UniForm.Model.FieldParameterList.Snd_Cmd_On_Change, 1 ); break; } }//END switch statment this.LogMethodEnd ( "getFilteredList_SelectionField" ); }//END getFilteredList_SelectionField Query
}//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 updateField method // ===================================================================================== /// <summary> /// This class update fields on formfield table using formfield object. /// </summary> /// <param name="SqlUpdateStatement">StringBuilder: containing the SQL update statemenet</param> /// <param name="ParmList">list of SqlParameter objects</param> /// <param name="RecordField">EvFormField: a formfield data object</param> /// <param name="ColumnId">String: column identifier</param> /// <param name="Row">Row: row index</param> // ------------------------------------------------------------------------------------- private void updateSingleValueField( StringBuilder SqlUpdateStatement, List <SqlParameter> ParmList, EdRecordField RecordField, String ColumnId, int Row) { this.LogMethod("updateField method. "); this.LogDebug("ValueCount: " + _ValueCount); // // Define the record field Guid // SqlParameter prm = new SqlParameter(EdRecordValues.PARM_FIELD_GUID + "_" + this._ValueCount, SqlDbType.UniqueIdentifier); prm.Value = RecordField.FieldGuid; ParmList.Add(prm); // // Define the record field Guid // prm = new SqlParameter(EdRecordValues.PARM_VALUE_GUID + "_" + this._ValueCount, SqlDbType.UniqueIdentifier); prm.Value = RecordField.Guid; ParmList.Add(prm); // // Define the record column identifier // prm = new SqlParameter(EdRecordValues.PARM_VALUE_COLUMN_ID + "_" + this._ValueCount, SqlDbType.NVarChar, 10); prm.Value = ColumnId; ParmList.Add(prm); // // Define the record field Guid // prm = new SqlParameter(EdRecordValues.PARM_VALUE_ROW + "_" + this._ValueCount, SqlDbType.SmallInt); prm.Value = Row; ParmList.Add(prm); switch (RecordField.TypeId) { case EvDataTypes.Yes_No: case EvDataTypes.Boolean: { string value = "0"; bool bValue = EvStatics.getBool(RecordField.ItemValue); if (bValue == true) { value = "1"; } prm = new SqlParameter(EdRecordValues.PARM_VALUE_NUMERIC + "_" + this._ValueCount, SqlDbType.Float); prm.Value = value; ParmList.Add(prm); // // Create the add query . // SqlUpdateStatement.AppendLine(" INSERT INTO ED_RECORD_VALUES " + "(" + EdRecordValues.DB_RECORD_GUID + ", " + EdRecordValues.DB_FIELD_GUID + ", " + EdRecordValues.DB_VALUES_GUID + ", " + EdRecordValues.DB_VALUES_COLUMN_ID + ", " + EdRecordValues.DB_VALUES_ROW + ", " + EdRecordValues.DB_VALUES_NUMERIC + " ) "); SqlUpdateStatement.AppendLine("VALUES ("); SqlUpdateStatement.AppendLine( " " + EdRecordValues.PARM_RECORD_GUID + ", " + EdRecordValues.PARM_FIELD_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_COLUMN_ID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_ROW + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_NUMERIC + "_" + +this._ValueCount + " );\r\n"); break; } case EvDataTypes.Numeric: { prm = new SqlParameter(EdRecordValues.PARM_VALUE_NUMERIC + "_" + this._ValueCount, SqlDbType.Float); prm.Value = RecordField.ItemValue; ParmList.Add(prm); // // Create the add query . // SqlUpdateStatement.AppendLine(" INSERT INTO ED_RECORD_VALUES " + "(" + EdRecordValues.DB_RECORD_GUID + ", " + EdRecordValues.DB_FIELD_GUID + ", " + EdRecordValues.DB_VALUES_GUID + ", " + EdRecordValues.DB_VALUES_COLUMN_ID + ", " + EdRecordValues.DB_VALUES_ROW + ", " + EdRecordValues.DB_VALUES_NUMERIC + " ) "); SqlUpdateStatement.AppendLine("VALUES ("); SqlUpdateStatement.AppendLine( " " + EdRecordValues.PARM_RECORD_GUID + ", " + EdRecordValues.PARM_FIELD_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_COLUMN_ID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_ROW + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_NUMERIC + "_" + +this._ValueCount + " );\r\n"); break; } case EvDataTypes.Date: { if (RecordField.ItemValue == String.Empty) { RecordField.ItemValue = EvStatics.CONST_DATE_NULL.ToString("dd-MMM-yyyy"); } prm = new SqlParameter(EdRecordValues.PARM_VALUE_DATE + "_" + this._ValueCount, SqlDbType.DateTime); prm.Value = RecordField.ItemValue; ParmList.Add(prm); // // Create the add query . // SqlUpdateStatement.AppendLine(" INSERT INTO ED_RECORD_VALUES " + "(" + EdRecordValues.DB_RECORD_GUID + ", " + EdRecordValues.DB_FIELD_GUID + ", " + EdRecordValues.DB_VALUES_GUID + ", " + EdRecordValues.DB_VALUES_COLUMN_ID + ", " + EdRecordValues.DB_VALUES_ROW + ", " + EdRecordValues.DB_VALUES_DATE + " ) "); SqlUpdateStatement.AppendLine("VALUES ("); SqlUpdateStatement.AppendLine( " " + EdRecordValues.PARM_RECORD_GUID + ", " + EdRecordValues.PARM_FIELD_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_COLUMN_ID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_ROW + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_DATE + "_" + this._ValueCount + " );\r\n"); break; } case EvDataTypes.Free_Text: { prm = new SqlParameter(EdRecordValues.PARM_VALUE_TEXT + "_" + this._ValueCount, SqlDbType.NText); prm.Value = RecordField.ItemText; ParmList.Add(prm); // // Create the add query . // SqlUpdateStatement.AppendLine(" INSERT INTO ED_RECORD_VALUES " + "(" + EdRecordValues.DB_RECORD_GUID + ", " + EdRecordValues.DB_FIELD_GUID + ", " + EdRecordValues.DB_VALUES_GUID + ", " + EdRecordValues.DB_VALUES_COLUMN_ID + ", " + EdRecordValues.DB_VALUES_ROW + ", " + EdRecordValues.DB_VALUES_TEXT + " ) "); SqlUpdateStatement.AppendLine("VALUES ("); SqlUpdateStatement.AppendLine( " " + EdRecordValues.PARM_RECORD_GUID + ", " + EdRecordValues.PARM_FIELD_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_COLUMN_ID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_ROW + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_TEXT + "_" + this._ValueCount + " );\r\n"); break; } default: { prm = new SqlParameter(EdRecordValues.PARM_VALUE_STRING + "_" + this._ValueCount, SqlDbType.NVarChar, 100); prm.Value = RecordField.ItemValue; ParmList.Add(prm); // // Create the add query . // SqlUpdateStatement.AppendLine(" INSERT INTO ED_RECORD_VALUES " + "(" + EdRecordValues.DB_RECORD_GUID + ", " + EdRecordValues.DB_FIELD_GUID + ", " + EdRecordValues.DB_VALUES_GUID + ", " + EdRecordValues.DB_VALUES_COLUMN_ID + ", " + EdRecordValues.DB_VALUES_ROW + ", " + EdRecordValues.DB_VALUES_STRING + " ) "); SqlUpdateStatement.AppendLine("VALUES ("); SqlUpdateStatement.AppendLine( " " + EdRecordValues.PARM_RECORD_GUID + ", " + EdRecordValues.PARM_FIELD_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_GUID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_COLUMN_ID + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_ROW + "_" + this._ValueCount + ", " + EdRecordValues.PARM_VALUE_STRING + "_" + this._ValueCount + " );\r\n"); break; } } //End switch statement } //END method.