public async Task <IWorkList> CreateWorkListAsync([NotNull] IWorkListContext context) { Assert.ArgumentNotNull(context, nameof(context)); Map map = MapView.Active.Map; if (!await TryPrepareSchemaCoreAsync()) { return(await Task.FromResult(default(IWorkList))); } BasicFeatureLayer[] featureLayers = await Task.WhenAll(GetLayers(map).Select(EnsureStatusFieldCoreAsync)); // create new name if worklist do not have one (stored in XML) UniqueName = GetWorklistId() ?? GetWorkListName(context); IRepository stateRepository = CreateStateRepositoryCore(context.GetPath(UniqueName), UniqueName); IWorkItemRepository repository = CreateItemRepositoryCore(featureLayers, stateRepository); return(CreateWorkListCore(repository, UniqueName)); }
protected abstract string GetWorkListName(IWorkListContext context);
protected override string GetWorkListName(IWorkListContext context) { return(context.EnsureUniqueName(_workListName)); }