예제 #1
0
        /// <summary>
        /// Toggles the endorsement for the given mod.
        /// </summary>
        /// <param name="p_modMod">The mod to endorse/unendorse.</param>
        public void ToggleModEndorsement(IMod p_modMod)
        {
            bool?   booEndorsementState = ModRepository.ToggleEndorsement(p_modMod.Id, p_modMod.IsEndorsed == true ? 1 : (p_modMod.IsEndorsed == false ? -1 : 0));
            ModInfo mifUpdatedMod       = new ModInfo(p_modMod);

            mifUpdatedMod.IsEndorsed           = booEndorsementState;
            mifUpdatedMod.HumanReadableVersion = String.IsNullOrEmpty(mifUpdatedMod.LastKnownVersion) ? mifUpdatedMod.HumanReadableVersion : mifUpdatedMod.LastKnownVersion;
            AddNewVersionNumberForMod(p_modMod, (IModInfo)mifUpdatedMod);
            p_modMod.UpdateInfo((IModInfo)mifUpdatedMod, false);
        }
예제 #2
0
        /// <summary>
        /// Toggles the endorsement for the given mod.
        /// </summary>
        /// <param name="mod">The mod to endorse/unendorse.</param>
        public void ToggleModEndorsement(IMod mod)
        {
            var booEndorsementState = ModRepository.ToggleEndorsement(mod.Id, mod.IsEndorsed == true ? 1 : mod.IsEndorsed == false ? -1 : 0, mod.HumanReadableVersion);

            if (booEndorsementState == null)
            {
                MessageBox.Show($"Could not change endorsement status of \"{mod.ModName}\".", "Endorsement toggle error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            var mifUpdatedMod = new ModInfo(mod)
            {
                IsEndorsed = booEndorsementState
            };

            mifUpdatedMod.HumanReadableVersion = string.IsNullOrEmpty(mifUpdatedMod.LastKnownVersion) ? mifUpdatedMod.HumanReadableVersion : mifUpdatedMod.LastKnownVersion;
            AddNewVersionNumberForMod(mod, mifUpdatedMod);
            mod.UpdateInfo(mifUpdatedMod, false);
        }