public override void DoRun()
        {
            List <AdminType> allAdminTypes = AdminType.GetAllAdminTypes(Inn);

            // Sort
            Log.Log("Sorting " + allAdminTypes.Count + " number of Admin Types.");
            allAdminTypes = allAdminTypes.OrderBy(admType => admType.ModificationDate).ToList();
            allAdminTypes.Reverse();
            allAdminTypes.RemoveAll(item => item.GetArasType() == "Team");

            for (int i = 0; i < NumberOfItemsToShow; i++)
            {
                AdminType adminType = allAdminTypes[i];
                Log.Log($"{adminType.ModificationDate} : {adminType.GetArasType().PadLeft(20)} : {adminType.GetKeyedName().PadRight(30)} : {adminType.PackageName}");
            }

            // Get Database Upgrade Info
            Log.Log("****** Latest db upgrades/imports ******");
            var dbUpgradeInfo = new DatabaseUpgradeInfo(Inn);

            Log.Log($"{"Date".PadRight(20)}: {"Release".PadRight(8)} : {"Name".PadRight(20)} : {"Is Latest"} : {"Description"}");
            foreach (DatabaseUpgrade dbUpgrade in dbUpgradeInfo.GetDatabaseUpgrades())
            {
                Log.Log($"{dbUpgrade.AppliedOn.PadLeft(20)}: {dbUpgrade.TargetRelease.PadLeft(8)} : {dbUpgrade.Name.PadLeft(20)} : {dbUpgrade.IsLatest} : {dbUpgrade.Description}");
            }
        }
示例#2
0
        private void LoadInfo()
        {
            // Version and SP
            KeyValuePair <string, string> versionAndSP = GetMajorVersionAndServicPack();

            _majorVersion = versionAndSP.Key;
            _servicePack  = versionAndSP.Value;

            // Modified ItemTypes
            _modifiedAdminTypesByLastModifcationDate = AdminType.GetAllAdminTypesOrderByLatestModfied(Inn);

            // DB Upgrade
            var dbUpgradeInfo = new DatabaseUpgradeInfo(Inn);

            _latestDatabaseUpgradeItem = dbUpgradeInfo.GetDatabaseUpgrades()[0];

            // Lastest logged in user
            foreach (User user in User.LatestLoggedInUsers(Inn))
            {
                if (!user.IsAdmin)
                {
                    _lastestLoggedInUserNonAdmin = new KeyValuePair <string, string>(user.KeyedName, user.LastLogin);
                    break;
                }
            }
        }
示例#3
0
        /// <summary>
        ///     Verifies that the <paramref name="workspace" /> is at a valid ArcFM version.
        /// </summary>
        /// <param name="workspace">The workspace.</param>
        /// <param name="messages">The messagesfor the geoproccessing tool.</param>
        /// <returns>
        ///     Returns a <see cref="bool" /> representing <c>true</c> when the workspace is the correct version.
        /// </returns>
        protected bool VerifyVersion(IWorkspace workspace, IGPMessages messages)
        {
            IMMArcFMDatabaseUpgradeInfo upgradeInfo = new DatabaseUpgradeInfo(workspace);

            upgradeInfo.Workspace = workspace;

            if (upgradeInfo.UpgradeRequired)
            {
                messages.AddWarning(string.Format("Please run the Upgrade ArcFM Solution Database tool before modifying the database. An upgrade from {0} to {1} is required.", upgradeInfo.CurrentBuildNumber, upgradeInfo.UpgradeBuildNumber));
                return(false);
            }

            return(true);
        }