/// <summary>
        /// This method creates a new version for the workspace corresponding to the table using the version manager
        /// </summary>
        /// <param name="table">Table name</param>
        /// <returns>Newly created version <see cref="Version"/></returns>
        private async Task <Version> CreateVersionAsync(Table table)
        {
            Version version = null;
            await QueuedTask.Run(() =>
            {
                try
                {
                    using (VersionManager versionManager = (table.GetDatastore() as Geodatabase).GetVersionManager())
                        using (Version defaultVersion = versionManager.GetVersions().FirstOrDefault(version =>
                        {
                            string name = version.GetName();
                            return(name.ToLowerInvariant().Equals("dbo.default") || name.ToLowerInvariant().Equals("sde.default"));
                        }))
                        {
                            if (defaultVersion is null)
                            {
                                version = null;
                            }

                            string versionName = $"Version_{DateTime.UtcNow.Ticks}";
                            version            = versionManager.CreateVersion(new VersionDescription(versionName, $"Description of {versionName}", VersionAccessType.Public));
                        }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            });

            return(version);
        }
Example #2
0
        private void CreateVersion(DynamicContent entity, string changeComment, VersionManager versionManager, WorkflowStatus status)
        {
            entity.SetWorkflowStatus(dynamicModuleManager.Provider.ApplicationName, status.ToString());

            var change = versionManager.CreateVersion(entity, status == WorkflowStatus.Published);

            if (changeComment != null)
            {
                change.Comment = changeComment;
            }
        }
 public void VersionCreated_WithNoChanges()
 {
     _vm.CreateVersion(_repository);
     Assert.IsTrue(_vm.GetVersions(_repository).Last().Files.Count == 0);
 }