}//END getRecordExport_DownloadGroup method //=================================================================================== /// <summary> /// Thie method exports the record list to a export form. /// </summary> /// <param name="pageGroup">Evado.UniForm.Model.Group object</param> /// <param name="iteration">int: iteration loop</param> /// <param name="exportParameters">EvExportParameters object.</param> /// <param name="FormId">String form identifier</param> /// <returns>True export generated.</returns> //----------------------------------------------------------------------------------- private EvEventCodes exportRecordData ( Evado.UniForm.Model.Group pageGroup, int iteration, EvExportParameters exportParameters, String FormId ) { this.LogMethod ( "exportRecordData" ); // // Initialise the methods variables and objects. // String csvDownload = String.Empty; String csvFileName = String.Empty; EvFormRecordExport exportRecords = new EvFormRecordExport ( this.ClassParameters ); // // Generate the export download CSV ResultData file. // csvDownload = exportRecords.exportRecords ( exportParameters, this.Session.UserProfile ); if ( exportRecords.EventCode != EvEventCodes.Ok ) { this.LogDebug ( "EventCode: " + exportRecords.EventCode ); if ( exportRecords.EventCode == EvEventCodes.Data_Export_Empty_Record_List ) { this.ErrorMessage = EdLabels.Form_Record_Export_Empty_List_Error_Message; } this.LogMethodEnd ( "exportRecordData" ); return exportRecords.EventCode; } this.LogClass ( exportRecords.Log ); // // Create the export file name. // csvFileName = FormId + "-Records-" + DateTime.Now.ToString ( "yy-MM-dd" ) + ".csv"; if ( iteration > 0 ) { csvFileName = FormId + "-Records-" + iteration + "-" + DateTime.Now.ToString ( "yy-MM-dd" ) + ".csv"; } this.LogValue ( "csvDownload length: " + csvDownload.Length ); this.LogValue ( "csvFileName: " + csvFileName ); bool result = Evado.Digital.Model.EvcStatics.Files.saveFile ( this.UniForm_BinaryFilePath, csvFileName, csvDownload ); if ( result == false ) { this.ErrorMessage = EdLabels.Record_Export_Error_Message; this.LogDebugClass ( Evado.Digital.Model.EvcStatics.Files.DebugLog ); this.LogDebug ( "ReturnedEventCode: " + Evado.Digital.Model.EvcStatics.Files.ReturnedEventCode ); this.LogDebug ( this.ErrorMessage ); this.LogMethodEnd ( "exportRecordData" ); return Evado.Digital.Model.EvcStatics.Files.ReturnedEventCode; } Evado.UniForm.Model.Field groupField = pageGroup.createHtmlLinkField ( String.Empty, csvFileName, this.UniForm_BinaryServiceUrl + csvFileName ); this.LogMethodEnd ( "exportRecordData" ); return EvEventCodes.Ok; }//END exportRecordData method.
}//END getRecordExport_ListObject method // ============================================================================== /// <summary> /// This method creates the record view pageMenuGroup containing a list of commands to /// open the form record. /// </summary> /// <param name="Page">Evado.Model.Uniform.Page object to add the pageMenuGroup to.</param> // ------------------------------------------------------------------------------ private void getRecordExport_DownloadGroup ( Evado.UniForm.Model.Page Page ) { this.LogMethod ( "getRecordExport_DownloadGroup" ); this.LogDebug ( "FormRecords_IncludeFreeTextData: " + this.Session.FormRecords_IncludeFreeTextData ); this.LogDebug ( "FormRecords_IncludeDraftRecords: " + this.Session.FormRecords_IncludeDraftRecords ); // // 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 ( ); EvFormRecordExport exportRecords = new EvFormRecordExport ( ); EvExportParameters exportParameters = new EvExportParameters ( ); EdQueryParameters queryParameters = new EdQueryParameters ( ); int exportRecordFileLimit = 250; this.LogDebug ( "exportRecordFileLimit: " + exportRecordFileLimit ); // // IF there are not parameters then exit. // if ( this.Session.Selected_EntityLayoutId == String.Empty ) { this.LogDebug ( " Form {0}. ", this.Session.Selected_EntityLayoutId ); this.LogMethodEnd ( "getRecordExport_DownloadGroup" ); return; } exportParameters = new EvExportParameters ( EvExportParameters.ExportDataSources.Project_Record, this.Session.Selected_EntityLayoutId ); exportParameters.IncludeTestSites = false; exportParameters.IncludeFreeTextData = this.Session.FormRecords_IncludeFreeTextData; exportParameters.IncludeDraftRecords = this.Session.FormRecords_IncludeDraftRecords; queryParameters = new EdQueryParameters ( ); queryParameters.LayoutId = this.Session.Selected_EntityLayoutId; queryParameters.States.Add ( EdRecordObjectStates.Withdrawn ); queryParameters.States.Add ( EdRecordObjectStates.Draft_Record ); queryParameters.States.Add ( EdRecordObjectStates.Empty_Record ); queryParameters.States.Add ( EdRecordObjectStates.Completed_Record ); if ( exportParameters.IncludeDraftRecords == true ) { queryParameters.States.Add ( EdRecordObjectStates.Withdrawn ); } queryParameters.NotSelectedState = true; queryParameters.IncludeSummary = true; queryParameters.IncludeRecordValues = false; queryParameters.IncludeComments = false; // // Create the export ResultData file. // int inResultCount = this._Bll_Entities.geyEntityCount ( queryParameters ); this.LogClass ( this._Bll_Entities.Log ); this.LogDebug ( "inResultCount: " + inResultCount ); // // Create the record display pageMenuGroup. // pageGroup = Page.AddGroup ( EdLabels.Record_Export_Download_Group_Title, Evado.UniForm.Model.EditAccess.Enabled ); pageGroup.CmdLayout = Evado.UniForm.Model.GroupCommandListLayouts.Vertical_Orientation; pageGroup.Layout = Evado.UniForm.Model.GroupLayouts.Full_Width; if ( inResultCount == 0 ) { LogDebug ( "Record Count is 0." ); pageGroup.Description = EdLabels.Form_Record_Export_Empty_List_Error_Message; this.LogMethodEnd ( "getRecordExport_DownloadGroup" ); return; } // // If the record list is less thant the exportrecord limit output. // if ( inResultCount <= exportRecordFileLimit ) { // // export the ResultData. // this.exportRecordData ( pageGroup, 0, exportParameters, this.Session.Selected_EntityLayoutId ); } else { // // Initialise the output loop parameters. int iRecordRangeStart = 0; int iRecordRangeFinish = exportRecordFileLimit; int iterations = ( inResultCount / exportRecordFileLimit ) + 1; this.LogValue ( "iterations: " + iterations ); for ( int iLoop = 0; iLoop < iterations && iRecordRangeFinish <= inResultCount; iLoop++ ) { // // export the ResultData. // var result = this.exportRecordData ( pageGroup, iLoop, exportParameters, this.Session.Selected_EntityLayoutId ); if ( result != EvEventCodes.Ok ) { this.LogDebug ( "Result {0}.", result ); this.LogMethodEnd ( "getRecordExport_DownloadGroup" ); return; } // // Increment the start and finish for then next loop // iRecordRangeStart = iRecordRangeFinish + 1; if ( ( iRecordRangeFinish + exportRecordFileLimit ) < inResultCount ) { iRecordRangeFinish += exportRecordFileLimit; } else { iRecordRangeFinish = inResultCount; } }//END loop iteration statement. } this.LogMethodEnd ( "getRecordExport_DownloadGroup" ); return; }//END getRecordExport_DownloadGroup method