Skip to content

DiGi.GIS.PostgreSQL.UI.Classes

github-actions[bot] edited this page Aug 31, 2026 · 3 revisions

DiGi.GIS.PostgreSQL.UI.Classes Namespace

Classes

GISPostgreSQLConverterManagerConfigurationFile Class

Represents a configuration file specifically for the GIS PostgreSQL converter manager settings, extending the base configuration file functionality.

public class GISPostgreSQLConverterManagerConfigurationFile : DiGi.Core.Classes.ConfigurationFile, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.Object → DiGi.Core.Classes.SerializableObject → DiGi.Core.Classes.ConfigurationFile → GISPostgreSQLConverterManagerConfigurationFile

Implements IGISPostgreSQLUIObject

Constructors

GISPostgreSQLConverterManagerConfigurationFile() Constructor

Initializes a new empty instance of the GISPostgreSQLConverterManagerConfigurationFile class.

public GISPostgreSQLConverterManagerConfigurationFile();

GISPostgreSQLConverterManagerConfigurationFile(ConfigurationFile) Constructor

Initializes a new instance of the GISPostgreSQLConverterManagerConfigurationFile class by copying settings from another DiGi.Core.Classes.ConfigurationFile.

public GISPostgreSQLConverterManagerConfigurationFile(DiGi.Core.Classes.ConfigurationFile? configurationFile);

Parameters

configurationFile DiGi.Core.Classes.ConfigurationFile

The source configuration file to copy settings from.

GISPostgreSQLConverterManagerConfigurationFile(JsonObject) Constructor

Initializes a new instance of the GISPostgreSQLConverterManagerConfigurationFile class from a System.Text.Json.Nodes.JsonObject.

public GISPostgreSQLConverterManagerConfigurationFile(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JSON object containing the configuration data.

Properties

GISPostgreSQLConverterManagerConfigurationFile.Key Property

Gets or sets the API authorization key used for authenticating requests to protected Web API endpoints.

public string? Key { get; set; }

Property Value

System.String

GISPostgreSQLTrayApplicationContext Class

Provides the application context for the GIS PostgreSQL tray application, managing its lifecycle and dependencies.

public class GISPostgreSQLTrayApplicationContext : DiGi.UI.Windows.Classes.TrayApplicationContext<DiGi.GIS.PostgreSQL.UI.Windows.MainWindow>

Inheritance System.Windows.Forms.ApplicationContext → DiGi.UI.Windows.Classes.TrayApplicationContext<MainWindow> → GISPostgreSQLTrayApplicationContext

Constructors

GISPostgreSQLTrayApplicationContext() Constructor

Initializes a new instance of the GISPostgreSQLTrayApplicationContext class.

public GISPostgreSQLTrayApplicationContext();

Methods

GISPostgreSQLTrayApplicationContext.GetWindow() Method

Creates and returns the main window associated with this application context.

protected override DiGi.GIS.PostgreSQL.UI.Windows.MainWindow GetWindow();

Returns

MainWindow
An instance of the MainWindow class.

PostgreSQLBuildingModelCleanupTask Class

Removes the DiGi.Analytical.Building.Classes.BuildingModel rows whose building no longer exists under the county part holding them.

An orphan is a model held under a part whose building_2d no longer holds the building it describes, which is what a county part repair run can leave behind when it re-files a building under the part its footprint lies in.

Reports by default and writes nothing.DryRun has to be turned off deliberately, and the counts it reports first are what the delete should be reviewed against - the rows removed here have no undo.

The report is written as files into ReportDirectory as well as to the log: BuildingModels_Cleanup.csv naming every orphaned reference, and BuildingModels_Cleanup_Summary.txt carrying the totals. The files are what the decision to delete should rest on - a log is shared with whatever else the application is doing and rolls by day.

public class PostgreSQLBuildingModelCleanupTask : DiGi.Core.Classes.ReportableBackgroundTask<long>, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → PostgreSQLBuildingModelCleanupTask

Implements IGISPostgreSQLUIObject

Constructors

PostgreSQLBuildingModelCleanupTask(GISPostgreSQLConverterManager) Constructor

Initializes a new instance of the PostgreSQLBuildingModelCleanupTask class.

public PostgreSQLBuildingModelCleanupTask(DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager gISPostgreSQLConverterManager);

Parameters

gISPostgreSQLConverterManager DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager

The manager holding the PostgreSQL converters.

Properties

PostgreSQLBuildingModelCleanupTask.CountyIds Property

Gets or sets the identifiers of the county rows to clean. When null every county row is examined.

These are polygon parts, not counties - a multi-part county holds one row per part and each is cleaned on its own.

public System.Collections.Generic.IEnumerable<int>? CountyIds { get; set; }

Property Value

System.Collections.Generic.IEnumerable<System.Int32>

PostgreSQLBuildingModelCleanupTask.DryRun Property

Gets or sets a value indicating whether the task only reports what it would do. Defaults to true; nothing is written until it is turned off.

public bool DryRun { get; set; }

Property Value

System.Boolean

PostgreSQLBuildingModelCleanupTask.ReportDirectory Property

Gets or sets the directory the two report files are written into. When null the directory the application was launched from is used.

Deliberately not a folder dialog: this runs on a thread pool thread, where a WPF common dialog needs an STA apartment and throws instead of opening.

public string? ReportDirectory { get; set; }

Property Value

System.String

PostgreSQLBuildingModelCleanupTask.VoivodeshipCodes Property

Gets or sets the two-digit voivodeship codes to be cleaned. A county row is in scope when its code starts with one of them. When null every voivodeship is cleaned. Combined with CountyIds both filters have to admit the row.

This is what makes the national regeneration affordable: a voivodeship is regenerated and then cleaned before the next one starts, so the storage tablespace only ever carries a second copy of one voivodeship rather than of the whole country.

public System.Collections.Generic.IEnumerable<string>? VoivodeshipCodes { get; set; }

Property Value

System.Collections.Generic.IEnumerable<System.String>

Methods

PostgreSQLBuildingModelCleanupTask.ReferencesOrphanedAsync(BuildingModelPostgreSQLConverter, Building2DPostgreSQLConverter, int, CancellationToken) Method

Returns the references a county row holds a model for but no longer holds a building for.

private static System.Threading.Tasks.Task<System.Collections.Generic.List<string>> ReferencesOrphanedAsync(DiGi.GIS.PostgreSQL.Classes.BuildingModelPostgreSQLConverter buildingModelPostgreSQLConverter, DiGi.GIS.PostgreSQL.Classes.Building2DPostgreSQLConverter building2DPostgreSQLConverter, int countyId, System.Threading.CancellationToken cancellationToken);

Parameters

buildingModelPostgreSQLConverter DiGi.GIS.PostgreSQL.Classes.BuildingModelPostgreSQLConverter

The converter reading the model table.

building2DPostgreSQLConverter DiGi.GIS.PostgreSQL.Classes.Building2DPostgreSQLConverter

The converter reading the building table, which lives in a different database.

countyId System.Int32

The identifier of the county row to compare.

cancellationToken System.Threading.CancellationToken

The System.Threading.CancellationToken to observe while waiting for the task to complete.

Returns

System.Threading.Tasks.Task<System.Collections.Generic.List<System.String>>
A task that represents the asynchronous operation. The task result contains the orphaned references, empty when either side could not be read.

UIAdministrativeAreal2DFromFilePostTask Class

Provides functionality to post administrative areal 2D objects to a PostgreSQL database by selecting GIS model files through the user interface.

public class UIAdministrativeAreal2DFromFilePostTask : DiGi.GIS.WebAPI.Classes.AdministrativeAreal2DsPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.GIS.Classes.AdministrativeAreal2D> → DiGi.GIS.WebAPI.Classes.AdministrativeAreal2DsPostTask → UIAdministrativeAreal2DFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIAdministrativeAreal2DFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIAdministrativeAreal2DFromFilePostTask class.

public UIAdministrativeAreal2DFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to communicate with the GIS PostgreSQL Web API.

Methods

UIAdministrativeAreal2DFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The provider for a value and elapsed time to report progress.

cancellationToken System.Threading.CancellationToken

The cancellation token to observe while waiting for the task to complete.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the operation succeeded; otherwise, false.

UIBuilding2DsFromFilePostTask Class

Represents a task for posting Building 2D objects to a PostgreSQL database from GIS model files selected through the user interface.

public class UIBuilding2DsFromFilePostTask : DiGi.GIS.WebAPI.Classes.Building2DsPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.GIS.Classes.Building2D> → DiGi.GIS.WebAPI.Classes.Building2DsPostTask → UIBuilding2DsFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIBuilding2DsFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIBuilding2DsFromFilePostTask class.

public UIBuilding2DsFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to communicate with the GIS PostgreSQL Web API.

Methods

UIBuilding2DsFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The provider for reporting progress of the operation.

cancellationToken System.Threading.CancellationToken

The token to monitor for cancellation requests.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the operation succeeded; otherwise, false.

UIBuildingModelsFromDatabasePostTask Class

A post task that generates DiGi.Analytical.Building.Classes.BuildingModel instances entirely from data already held on the server - the CityGML DiGi.CityGML.Classes.Building records stored in the database are used instead of CityGML archives read from a local directory.

For every county in scope the task pages through the county's DiGi.GIS.PostgreSQL.Classes.Building2DReference records and, per page, downloads the DiGi.GIS.Classes.Building2D data, so a whole county's buildings are never held in memory at once.

Each DiGi.GIS.Classes.Building2D is then processed individually: its single best ranked CityGML DiGi.CityGML.Classes.Building is pulled by reference through DiGi.GIS.WebAPI.Classes.BuildingController.GetItemByReferenceAsync(System.String,System.Nullable{System.Int32},System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Double},System.Nullable{System.Double},System.Threading.CancellationToken) and refined into storeys by the matching Analytical.Create.BuildingModel overload. A 2D building whose reference has no stored CityGML building, no reference at all, or whose pull fails is modelled from an extruded footprint instead.

"County" here means one polygon part. The county listing returns 406 references for 380 codes, because a county whose territory is disconnected is stored as one row per part. The task reads and uploads by Id, so each part is filled from its own building_2d rows; uploading by Code instead would let the server file every part's models under a single one, which is what left three counties reading back empty. The county code is still written onto each model as descriptive metadata.

Because building_2d holds the same building under every part it was imported under, a building shared by two parts is modelled once per part. That is inherent to keying by part and is not a duplicate to suppress here - it mirrors the underlying table.

A national pass takes days, so a county is the unit of both failure and progress. A county whose pages cannot be read or uploaded is named, recorded in BuildingModels_Regeneration_Failed.txt and skipped, rather than ending the run and discarding every county after it. A county that completes in full is appended to BuildingModels_Regeneration_Checkpoint.txt, which Resume reads on the next run - so an interrupted pass continues where it stopped, and a county interrupted part way is simply redone.

public class UIBuildingModelsFromDatabasePostTask : DiGi.GIS.WebAPI.Classes.BuildingModelsPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.Analytical.Building.Classes.BuildingModel> → DiGi.GIS.WebAPI.Classes.BuildingModelsPostTask → UIBuildingModelsFromDatabasePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIBuildingModelsFromDatabasePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIBuildingModelsFromDatabasePostTask class.

public UIBuildingModelsFromDatabasePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The DiGi.GIS.WebAPI.Classes.GISWebAPIManager instance used to communicate with the server.

Properties

UIBuildingModelsFromDatabasePostTask.CountyIds Property

Gets or sets the identifiers of the counties to be processed. When null every county held on the server is processed.

public System.Collections.Generic.IEnumerable<int>? CountyIds { get; set; }

Property Value

System.Collections.Generic.IEnumerable<System.Int32>

UIBuildingModelsFromDatabasePostTask.MaxConcurrentRequests Property

Gets or sets how many CityGML and terrain requests are allowed to be in flight at once.

One CityGML request per building at roughly 60 ms each makes a national pass a matter of weeks when they are issued one after another. The requests are independent, so they are issued in groups of this size. Lower it if the server or the terrain service starts refusing.

public int MaxConcurrentRequests { get; set; }

Property Value

System.Int32

UIBuildingModelsFromDatabasePostTask.PageSize Property

Gets or sets the number of DiGi.GIS.PostgreSQL.Classes.Building2DReference items requested per page while downloading a county's buildings.

public int PageSize { get; set; }

Property Value

System.Int32

UIBuildingModelsFromDatabasePostTask.ReportDirectory Property

Gets or sets the directory the checkpoint and the list of failed counties are written into. When null the directory the application was launched from is used.

Deliberately not a folder dialog: this runs on a thread pool thread, where a WPF common dialog needs an STA apartment and throws instead of opening.

public string? ReportDirectory { get; set; }

Property Value

System.String

UIBuildingModelsFromDatabasePostTask.Resume Property

Gets or sets a value indicating whether counties named in the checkpoint of an earlier run are skipped. Defaults to true.

A national pass is a matter of days, so it has to survive being interrupted. Turning this off starts from the first county in scope and truncates the checkpoint, which is what a deliberate re-run of an already-completed scope needs.

public bool Resume { get; set; }

Property Value

System.Boolean

UIBuildingModelsFromDatabasePostTask.VoivodeshipCodes Property

Gets or sets the two-digit voivodeship codes to be processed. A county is in scope when its code starts with one of them. When null every voivodeship is processed. Combined with CountyIds both filters have to admit the county.

Regenerating one voivodeship at a time is what keeps the storage tablespace within reach: a county's models are written beside the ones they supersede until PostgreSQLBuildingModelCleanupTask removes them, so a national pass in one go would need room for a second copy of the whole table.

public System.Collections.Generic.IEnumerable<string>? VoivodeshipCodes { get; set; }

Property Value

System.Collections.Generic.IEnumerable<System.String>

UIBuildingModelsFromDirectoryPostTask Class

A UI-driven post task that prompts the user to select a directory containing CityGML archives, enumerates the counties held on the server, and for every county whose code matches a CityGML archive in that directory downloads the county's DiGi.GIS.Classes.Building2D data page by page, generates DiGi.Analytical.Building.Classes.BuildingModel instances and uploads them.

Both the CityGML archives and the Building2D data are processed one county - and within a county one page - at a time, so neither the whole country's CityGML nor a whole county's buildings are ever held in memory at once.

public class UIBuildingModelsFromDirectoryPostTask : DiGi.GIS.WebAPI.Classes.BuildingModelsPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.Analytical.Building.Classes.BuildingModel> → DiGi.GIS.WebAPI.Classes.BuildingModelsPostTask → UIBuildingModelsFromDirectoryPostTask

Implements IGISPostgreSQLUIObject

Constructors

UIBuildingModelsFromDirectoryPostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIBuildingModelsFromDirectoryPostTask class.

public UIBuildingModelsFromDirectoryPostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The DiGi.GIS.WebAPI.Classes.GISWebAPIManager instance used to communicate with the server.

Properties

UIBuildingModelsFromDirectoryPostTask.PageSize Property

Gets or sets the number of DiGi.GIS.PostgreSQL.Classes.Building2DReference items requested per page while downloading a county's buildings.

public int PageSize { get; set; }

Property Value

System.Int32

UIBuildingModelsVerificationTask Class

A UI-driven task that reads the DiGi.Analytical.Building.Classes.BuildingModel records already stored on the server and reports how complete and how sound they are.

Read-only. Nothing is uploaded, nothing is repaired - the task exists to say what the stored data looks like, which is the state the upload path itself never reported: a model whose spaces are not enclosed is accepted by the server today and stored without a word.

For every county in scope a sample of SampleSize 2D building references is drawn with RandomSeed, so a run is reproducible and two runs can be compared. The models behind those references are pulled in batches and each one is passed through Analytical.Create.BuildingModelValidationResult. A reference the server holds no model for is recorded as missing, which is the completeness half of the answer.

The seed is combined with the county row identifier rather than shared across counties, so a county draws the same sample whether it is verified on its own, with its voivodeship, or nationally. A single generator advanced across counties made every county's draw depend on how many references each preceding county held, which the 2026-08-14 county part repair changed - and with it the sample of every county after the repaired three.

Two files are written into ReportDirectory: one row per reference in BuildingModels_Verification.csv, and per county plus national totals in BuildingModels_Verification_Summary.txt. The row file is flushed county by county, so a run interrupted late still leaves everything it had already measured.

public class UIBuildingModelsVerificationTask : DiGi.Core.Classes.ReportableBackgroundTask<long>, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → UIBuildingModelsVerificationTask

Implements IGISPostgreSQLUIObject

Constructors

UIBuildingModelsVerificationTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIBuildingModelsVerificationTask class.

public UIBuildingModelsVerificationTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The DiGi.GIS.PostgreSQL.UI.Classes.UIBuildingModelsVerificationTask.GISWebAPIManager instance used to communicate with the server.

Properties

UIBuildingModelsVerificationTask.BatchSize Property

Gets or sets the number of references asked for in a single request. The references travel in the query string, so a batch far above this risks the URL length limit of the server.

public int BatchSize { get; set; }

Property Value

System.Int32

UIBuildingModelsVerificationTask.CountyIds Property

Gets or sets the identifiers of the counties to be processed. When null every county held on the server is processed.

public System.Collections.Generic.IEnumerable<int>? CountyIds { get; set; }

Property Value

System.Collections.Generic.IEnumerable<System.Int32>

UIBuildingModelsVerificationTask.RandomSeed Property

Gets or sets the seed of the sampling. Two runs sharing a seed draw the same references, which is what lets a run before a change be compared with one after it. The seed is combined per county by DiGi.GIS.PostgreSQL.Query.RandomSeed(System.Int32,System.Int32), so a county's draw does not depend on the scope of the run or on what any other county holds.

public int RandomSeed { get; set; }

Property Value

System.Int32

UIBuildingModelsVerificationTask.ReportDirectory Property

Gets or sets the directory the two report files are written into. When null the user is asked for one.

public string? ReportDirectory { get; set; }

Property Value

System.String

UIBuildingModelsVerificationTask.SampleSize Property

Gets or sets the number of references drawn per county. A value of zero or less takes every reference of the county.

public int SampleSize { get; set; }

Property Value

System.Int32

UIBuildingModelsVerificationTask.Tolerance Property

Gets or sets the distance tolerance the enclosure of a space is required to hold at.

public double Tolerance { get; set; }

Property Value

System.Double

UIBuildingModelsVerificationTask.VoivodeshipCodes Property

Gets or sets the two-digit voivodeship codes to be processed. A county is in scope when its code starts with one of them. When null every voivodeship is processed. Combined with CountyIds both filters have to admit the county.

public System.Collections.Generic.IEnumerable<string>? VoivodeshipCodes { get; set; }

Property Value

System.Collections.Generic.IEnumerable<System.String>

Methods

UIBuildingModelsVerificationTask.Text(double) Method

Formats a value for the report, writing an empty cell rather than the word for not a number.

private static string Text(double value);

Parameters

value System.Double

The value to format.

Returns

System.String
The formatted value, or an empty string when it is not a number.

UIBuildingsFromDirectoryPostTask Class

A UI-driven post task that prompts the user to select a directory, reads CityGML city models from it, extracts DiGi.CityGML.Classes.Building instances, determines the county code from the file path, and uploads them to the server in batches.

public class UIBuildingsFromDirectoryPostTask : DiGi.GIS.WebAPI.Classes.BuildingsPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.CityGML.Classes.Building> → DiGi.GIS.WebAPI.Classes.BuildingsPostTask → UIBuildingsFromDirectoryPostTask

Implements IGISPostgreSQLUIObject

Constructors

UIBuildingsFromDirectoryPostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIBuildingsFromDirectoryPostTask class.

public UIBuildingsFromDirectoryPostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The DiGi.GIS.WebAPI.Classes.GISWebAPIManager instance used to communicate with the server.

Methods

UIBuildingsFromDirectoryPostTask.LatestSourceAsync(GISWebAPIManager) Method

Asynchronously reads the source path recorded on the most recently written building.

private static System.Threading.Tasks.Task<string?> LatestSourceAsync(DiGi.GIS.WebAPI.Classes.GISWebAPIManager? GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to reach the server.

Returns

System.Threading.Tasks.Task<System.String>
A task whose result is the recorded source path, or null when the server holds no buildings or the path was not recorded.

UIBuildingsFromDirectoryPostTask.ProduceAsync(string, ChannelWriter<BuildingsBatch>, ResumeFilter, CancellationToken) Method

Walks the directory, parses each city model and publishes its tagged buildings to the channel.

private static System.Threading.Tasks.Task<bool> ProduceAsync(string directory, System.Threading.Channels.ChannelWriter<DiGi.GIS.PostgreSQL.UI.Classes.UIBuildingsFromDirectoryPostTask.BuildingsBatch> channelWriter, DiGi.GIS.PostgreSQL.UI.Classes.UIBuildingsFromDirectoryPostTask.ResumeFilter? resumeFilter, System.Threading.CancellationToken cancellationToken);

Parameters

directory System.String

The directory to walk.

channelWriter System.Threading.Channels.ChannelWriter<BuildingsBatch>

The writer the parsed batches are published to.

resumeFilter ResumeFilter

An optional filter that skips files preceding a recorded resume point, or null to walk everything.

cancellationToken System.Threading.CancellationToken

A token observed before each file is parsed.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the walk completed successfully; otherwise, false.

UIBuildingsFromDirectoryPostTask.BuildingsBatch Class

A parsed city model's buildings together with the county code derived from its file path.

private sealed class UIBuildingsFromDirectoryPostTask.BuildingsBatch

Inheritance System.Object → BuildingsBatch

Constructors

BuildingsBatch(IEnumerable<Building>, string) Constructor

Initializes a new instance of the BuildingsBatch class.

public BuildingsBatch(System.Collections.Generic.IEnumerable<DiGi.CityGML.Classes.Building> buildings, string? code);

Parameters

buildings System.Collections.Generic.IEnumerable<DiGi.CityGML.Classes.Building>

The buildings parsed from a single city model.

code System.String

The county code derived from the source file path, or null when it could not be determined.

Properties

UIBuildingsFromDirectoryPostTask.BuildingsBatch.Buildings Property

Gets the buildings parsed from a single city model.

public System.Collections.Generic.IEnumerable<DiGi.CityGML.Classes.Building> Buildings { get; }

Property Value

System.Collections.Generic.IEnumerable<DiGi.CityGML.Classes.Building>

UIBuildingsFromDirectoryPostTask.BuildingsBatch.Code Property

Gets the county code derived from the source file path.

public string? Code { get; }

Property Value

System.String

UIBuildingsFromDirectoryPostTask.ResumeFilter Class

Skips walked files until a recorded source path is reached, then admits everything from that file onward.

The recorded file is admitted rather than skipped: the run that wrote it was interrupted, so it was probably only partly uploaded. Re-importing it is safe because the server upserts on (county, reference, lod, year).

private sealed class UIBuildingsFromDirectoryPostTask.ResumeFilter

Inheritance System.Object → ResumeFilter

Constructors

ResumeFilter(string) Constructor

Initializes a new instance of the ResumeFilter class.

public ResumeFilter(string source);

Parameters

source System.String

The recorded source path, relative to the walked directory, to resume from.

Properties

UIBuildingsFromDirectoryPostTask.ResumeFilter.Matched Property

Gets a value indicating whether the recorded source path was ever reached during the walk.

public bool Matched { get; }

Property Value

System.Boolean

Methods

UIBuildingsFromDirectoryPostTask.ResumeFilter.Admit(string) Method

Decides whether a walked file should be parsed.

public bool Admit(string path);

Parameters

path System.String

The walked file's path, relative to the walked directory.

Returns

System.Boolean
True once the recorded source path has been reached; otherwise, false.

UIEPWFileFromFilePostTask Class

Represents a task for posting DiGi.EPW.Classes.EPWFile objects to a PostgreSQL database from EPW files selected through the user interface.

public class UIEPWFileFromFilePostTask : DiGi.GIS.WebAPI.Classes.EPWFilesPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.EPW.Classes.EPWFile> → DiGi.GIS.WebAPI.Classes.EPWFilesPostTask → UIEPWFileFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIEPWFileFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIEPWFileFromFilePostTask class.

public UIEPWFileFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to communicate with the GIS PostgreSQL Web API.

Methods

UIEPWFileFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The provider for reporting progress of the operation.

cancellationToken System.Threading.CancellationToken

The token to monitor for cancellation requests.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the operation succeeded; otherwise, false.

UIOccupancyDatasFromFilePostTask Class

Represents a task that handles the process of posting occupancy data extracted from GIS model files to the PostgreSQL database through the user interface.

public class UIOccupancyDatasFromFilePostTask : DiGi.GIS.WebAPI.Classes.OccupancyDatasPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.GIS.Classes.OccupancyData> → DiGi.GIS.WebAPI.Classes.OccupancyDatasPostTask → UIOccupancyDatasFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIOccupancyDatasFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIOccupancyDatasFromFilePostTask class.

public UIOccupancyDatasFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to interact with the GIS PostgreSQL Web API.

Methods

UIOccupancyDatasFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The provider for reporting progress of the operation.

cancellationToken System.Threading.CancellationToken

The token to monitor for cancellation requests.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the operation completed successfully; otherwise, false.

UIOrtoDatasFromFilePostTask Class

Represents a task for posting orthodata from files to a PostgreSQL database, specifically designed for use within the UI layer.

public class UIOrtoDatasFromFilePostTask : DiGi.GIS.WebAPI.Classes.OrtoDatasPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.GIS.Classes.OrtoDatas> → DiGi.GIS.WebAPI.Classes.OrtoDatasPostTask → UIOrtoDatasFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIOrtoDatasFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIOrtoDatasFromFilePostTask class.

public UIOrtoDatasFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to communicate with the GIS PostgreSQL Web API.

Methods

UIOrtoDatasFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The progress reporter used to track the operation's completion percentage.

cancellationToken System.Threading.CancellationToken

The cancellation token used to observe while writing the task to stop executing.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the operation succeeded; otherwise, false.

UIPostgreSQLBuildingDataUpdateTask Class

A building data run that is scoped from the user interface: the counties, the kinds of column to write and the statement timeout are asked for through PostgreSQLBuildingDataUpdateOptionsWindow each time the task is started, and only then is the run handed to DiGi.GIS.PostgreSQL.Classes.PostgreSQLBuildingDataUpdateTask.

That is what the counties are worth asking for. Unscoped the run walks every subdivision in the country - around a hundred thousand of them - reading each subdivision's buildings and writing a row per building; over one named county it is minutes. Neither is a default the other would tolerate, and the base task takes an unset county collection as the whole country.

public class UIPostgreSQLBuildingDataUpdateTask : DiGi.GIS.PostgreSQL.Classes.PostgreSQLBuildingDataUpdateTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.PostgreSQL.Classes.PostgreSQLBuildingDataUpdateTask → UIPostgreSQLBuildingDataUpdateTask

Implements IGISPostgreSQLUIObject

Constructors

UIPostgreSQLBuildingDataUpdateTask(GISPostgreSQLConverterManager) Constructor

Initializes a new instance of the UIPostgreSQLBuildingDataUpdateTask class.

public UIPostgreSQLBuildingDataUpdateTask(DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager GISPostgreSQLConverterManager);

Parameters

GISPostgreSQLConverterManager DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager

The GIS PostgreSQL converter manager used to read the areas and buildings and write the building data.

Methods

UIPostgreSQLBuildingDataUpdateTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Executes the background task to update building data from AdministrativeAreal2D and Building2D sources.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

A progress reporter for reporting the number of processed items.

cancellationToken System.Threading.CancellationToken

A cancellation token that can be used to cancel the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task representing the asynchronous operation. Returns true when the run could be attempted and every subdivision in scope was updated without error; otherwise, false.

UIPostgreSQLTerrainPointCreateTableTask Class

A terrain point run that is scoped from the user interface: the counties, the spacing of the sampling grid and whether points already stored are sampled again are asked for through PostgreSQLTerrainPointCreateTableOptionsWindow each time the task is started, and only then is the run handed to DiGi.GIS.PostgreSQL.Classes.PostgreSQLTerrainPointCreateTableTask.

That is what the settings are worth asking for: a national pass at 50 m is about 125 million points and one request to the elevation service each, while the same task over a named county at 10 m is an afternoon. Neither is a default the other would tolerate.

public class UIPostgreSQLTerrainPointCreateTableTask : DiGi.GIS.PostgreSQL.Classes.PostgreSQLTerrainPointCreateTableTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.PostgreSQL.Classes.PostgreSQLTerrainPointCreateTableTask → UIPostgreSQLTerrainPointCreateTableTask

Implements IGISPostgreSQLUIObject

Constructors

UIPostgreSQLTerrainPointCreateTableTask(GISWebAPIManager, GISPostgreSQLConverterManager) Constructor

Initializes a new instance of the UIPostgreSQLTerrainPointCreateTableTask class.

public UIPostgreSQLTerrainPointCreateTableTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager? GISWebAPIManager, DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager? GISPostgreSQLConverterManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager the elevation service client is built from.

GISPostgreSQLConverterManager DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager

The GIS PostgreSQL converter manager used to read the areas and write the points.

Methods

UIPostgreSQLTerrainPointCreateTableTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Executes the background task, sampling elevations county by county and writing them to the terrain point table.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

A progress reporter carrying the running total of points stored.

cancellationToken System.Threading.CancellationToken

A cancellation token that can be used to cancel the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task representing the asynchronous operation. Returns true unless the run was cancelled.

UIPostgreSQLTerrainPointFillGapsTask Class

A terrain point repair that is scoped from the user interface: the counties and the spacing they were sampled at are asked for through PostgreSQLTerrainPointFillGapsOptionsWindow each time the task is started, and only then is the run handed to DiGi.GIS.PostgreSQL.Classes.PostgreSQLTerrainPointFillGapsTask.

The spacing is why the dialog is worth showing at all. It is what decides which nodes count as missing, and a value finer than a county actually holds turns a repair of a few thousand points into a densification of the whole country - so the measured spacing of each county is put in front of whoever is choosing it.

public class UIPostgreSQLTerrainPointFillGapsTask : DiGi.GIS.PostgreSQL.Classes.PostgreSQLTerrainPointFillGapsTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.PostgreSQL.Classes.PostgreSQLTerrainPointFillGapsTask → UIPostgreSQLTerrainPointFillGapsTask

Implements IGISPostgreSQLUIObject

Constructors

UIPostgreSQLTerrainPointFillGapsTask(GISWebAPIManager, GISPostgreSQLConverterManager) Constructor

Initializes a new instance of the UIPostgreSQLTerrainPointFillGapsTask class.

public UIPostgreSQLTerrainPointFillGapsTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager? GISWebAPIManager, DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager? GISPostgreSQLConverterManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager the elevation service client is built from.

GISPostgreSQLConverterManager DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager

The GIS PostgreSQL converter manager used to read the areas and write the points.

Methods

UIPostgreSQLTerrainPointFillGapsTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Executes the background task, measuring each county against the lattice and sampling only the nodes it is short of.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

A progress reporter carrying the running total of points stored.

cancellationToken System.Threading.CancellationToken

A cancellation token that can be used to cancel the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task representing the asynchronous operation. Returns true unless the run was cancelled.

UIPostgreSQLUnitInsertFromFileTask Class

Represents a task for populating territorial units into a PostgreSQL database from a JSON file selected through the user interface.

public class UIPostgreSQLUnitInsertFromFileTask : DiGi.GIS.PostgreSQL.Classes.PostgreSQLUnitInsertFromFileTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.PostgreSQL.Classes.PostgreSQLUnitInsertFromFileTask → UIPostgreSQLUnitInsertFromFileTask

Implements IGISPostgreSQLUIObject

Constructors

UIPostgreSQLUnitInsertFromFileTask(GISPostgreSQLConverterManager) Constructor

Initializes a new instance of the UIPostgreSQLUnitInsertFromFileTask class from a manager.

public UIPostgreSQLUnitInsertFromFileTask(DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager gISPostgreSQLConverterManager);

Parameters

gISPostgreSQLConverterManager DiGi.GIS.PostgreSQL.Classes.GISPostgreSQLConverterManager

The GIS PostgreSQL converter manager containing the unit converter.

UIPostgreSQLUnitInsertFromFileTask(UnitPostgreSQLConverter) Constructor

Initializes a new instance of the UIPostgreSQLUnitInsertFromFileTask class with a unit PostgreSQL converter.

public UIPostgreSQLUnitInsertFromFileTask(DiGi.GIS.PostgreSQL.Classes.UnitPostgreSQLConverter unitPostgreSQLConverter);

Parameters

unitPostgreSQLConverter DiGi.GIS.PostgreSQL.Classes.UnitPostgreSQLConverter

The unit PostgreSQL converter used to populate the table.

Methods

UIPostgreSQLUnitInsertFromFileTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Executes the background task to read territorial units from JSON file(s) and insert them into PostgreSQL.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

A progress reporter for reporting the number of processed items.

cancellationToken System.Threading.CancellationToken

A cancellation token that can be used to cancel the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task representing the asynchronous operation. Returns true if the population was successful; otherwise, false.

UIUpdateFromFilePostTask Class

Represents a task that handles the process of updating GIS data from a file via user interface interactions.

public class UIUpdateFromFilePostTask : DiGi.GIS.WebAPI.Classes.Building2DsPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.GIS.Classes.Building2D> → DiGi.GIS.WebAPI.Classes.Building2DsPostTask → UIUpdateFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIUpdateFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIUpdateFromFilePostTask class.

public UIUpdateFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to handle PostgreSQL Web API communications.

Methods

UIUpdateFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The provider for reporting progress of the operation.

cancellationToken System.Threading.CancellationToken

The token to monitor for cancellation requests.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the update was successful; otherwise, false.

UIYearBuiltDatasFromFilePostTask Class

Represents a task that extracts year built data from GIS model files and posts it to the PostgreSQL database.

public class UIYearBuiltDatasFromFilePostTask : DiGi.GIS.WebAPI.Classes.YearBuiltDatasPostTask, DiGi.GIS.PostgreSQL.UI.Interfaces.IGISPostgreSQLUIObject

Inheritance System.Object → DiGi.Core.Classes.BackgroundTask → DiGi.Core.Classes.CancelableBackgroundTask → DiGi.Core.Classes.ReportableBackgroundTask<System.Int64> → DiGi.GIS.WebAPI.Classes.SerializableObjectsPostTask<DiGi.GIS.Classes.YearBuiltData> → DiGi.GIS.WebAPI.Classes.YearBuiltDatasPostTask → UIYearBuiltDatasFromFilePostTask

Implements IGISPostgreSQLUIObject

Constructors

UIYearBuiltDatasFromFilePostTask(GISWebAPIManager) Constructor

Initializes a new instance of the UIYearBuiltDatasFromFilePostTask class.

public UIYearBuiltDatasFromFilePostTask(DiGi.GIS.WebAPI.Classes.GISWebAPIManager GISWebAPIManager);

Parameters

GISWebAPIManager DiGi.GIS.WebAPI.Classes.GISWebAPIManager

The manager used to handle communication with the PostgreSQL Web API.

Methods

UIYearBuiltDatasFromFilePostTask.ExecuteAsync(IProgress<long>, CancellationToken) Method

Concrete implementation of the background work.

protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<long> progress, System.Threading.CancellationToken cancellationToken);

Parameters

progress System.IProgress<System.Int64>

The provider for reporting progress of the operation.

cancellationToken System.Threading.CancellationToken

The token to monitor for cancellation requests.

Returns

System.Threading.Tasks.Task<System.Boolean>
A task that represents the asynchronous operation. The task result is true if the process succeeded; otherwise, false.

Clone this wiki locally