/// <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); }
/// <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); }