internal void AddEmptyDownloadLink() { if (DownloadLinkList.Any(d => string.IsNullOrEmpty(d.SourceLinkInput))) { return; // don't add a new link since there is an empty one in the list that can be filled out } DownloadLinkList.Add(new DownloadLinkViewModel(LocationType.GDrive.ToString(), "")); }
private void ClearInputFields() { IDInput = Guid.NewGuid().ToString(); NameInput = ""; AuthorInput = ""; DescriptionInput = ""; CategoryInput = ResourceHelper.Get(StringKey.Unknown); TagsInput = ""; VersionInput = "1.00"; MetaVersionInput = "1.00"; PreviewImageInput = ""; InfoLinkInput = ""; ReleaseNotesInput = ""; ReleaseDateInput = DateTime.Now.ToString("MM/dd/yyyy"); DownloadLinkList.Clear(); AddEmptyDownloadLink(); }
internal void LoadModXmlFromIro(string pathToIroFile) { try { Mod parsedMod = new ModImporter().ParseModXmlFromSource(pathToIroFile); if (parsedMod == null) { Sys.Message(new WMessage(ResourceHelper.Get(StringKey.CouldNotLoadModXmlFromIroFile), true)); return; } IDInput = parsedMod.ID.ToString(); NameInput = parsedMod.Name; CategoryInput = ResourceHelper.Get(ModLoadOrder.GetCategoryKey(parsedMod.Category)); AuthorInput = parsedMod.Author; DescriptionInput = parsedMod.Description; VersionInput = parsedMod.LatestVersion.Version.ToString(); MetaVersionInput = "1.00"; PreviewImageInput = ""; TagsInput = ""; InfoLinkInput = parsedMod.Link; ReleaseNotesInput = parsedMod.LatestVersion.ReleaseNotes; ReleaseDateInput = parsedMod.LatestVersion.ReleaseDate.ToString("MM/dd/yyyy"); if (string.IsNullOrWhiteSpace(CategoryInput)) { CategoryInput = ResourceHelper.Get(StringKey.Unknown); } DownloadLinkList.Clear(); AddEmptyDownloadLink(); _modToEdit = null; } catch (Exception e) { Sys.Message(new WMessage($"{ResourceHelper.Get(StringKey.CouldNotLoadModXmlFromIroFile)}: {e.Message}", true) { LoggedException = e }); } }
internal void LoadModXml(string pathToModXml) { try { ModInfo mod = new ModInfo(pathToModXml, Sys._context); IDInput = mod.ID.ToString(); NameInput = mod.Name; CategoryInput = ResourceHelper.Get(ModLoadOrder.GetCategoryKey(mod.Category)); AuthorInput = mod.Author; DescriptionInput = mod.Description; VersionInput = mod.Version.ToString(); PreviewImageInput = ""; TagsInput = ""; InfoLinkInput = mod.Link; ReleaseNotesInput = mod.ReleaseNotes; ReleaseDateInput = mod.ReleaseDate.ToString("MM/dd/yyyy"); if (string.IsNullOrWhiteSpace(CategoryInput)) { CategoryInput = ResourceHelper.Get(StringKey.Unknown); } MetaVersionInput = "1.00"; DownloadLinkList.Clear(); AddEmptyDownloadLink(); _modToEdit = null; } catch (Exception e) { Sys.Message(new WMessage($"{ResourceHelper.Get(StringKey.CouldNotLoadModXml)}: {e.Message}", true) { LoggedException = e }); } }
internal void AddModToList() { if (string.IsNullOrWhiteSpace(IDInput)) { IDInput = Guid.NewGuid().ToString(); } if (!Guid.TryParse(IDInput, out Guid parsedID)) { return; } if (CatalogModList.Any(c => c.Mod.ID == parsedID)) { return; } if (string.IsNullOrEmpty(VersionInput)) { VersionInput = "1.00"; } if (string.IsNullOrEmpty(MetaVersionInput)) { MetaVersionInput = "1.00"; } DateTime.TryParse(ReleaseDateInput, out DateTime parsedDate); decimal.TryParse(VersionInput, System.Globalization.NumberStyles.AllowDecimalPoint, new System.Globalization.CultureInfo(""), out decimal parsedVersion); decimal.TryParse(MetaVersionInput, System.Globalization.NumberStyles.AllowDecimalPoint, new System.Globalization.CultureInfo(""), out decimal parsedMetaVersion); if (string.IsNullOrEmpty(ReleaseDateInput) || parsedDate == DateTime.MinValue) { parsedDate = DateTime.Now; } if (parsedVersion <= 0) { parsedVersion = 1.0m; } if (parsedMetaVersion <= 0) { parsedMetaVersion = 1.0m; } Mod newMod = new Mod() { ID = parsedID, Name = NameInput, Author = AuthorInput, Category = ResourceHelper.ModCategoryTranslations[CategoryInput], Tags = TagsInput.Split(new string[] { "\n", "\r" }, StringSplitOptions.RemoveEmptyEntries).ToList(), Description = DescriptionInput, Link = InfoLinkInput, MetaVersion = parsedMetaVersion, LatestVersion = new ModVersion() { Links = DownloadLinkList.Where(d => !string.IsNullOrEmpty(d.SourceLinkInput)).Select(d => d.GetFormattedLink()).ToList(), ReleaseDate = parsedDate, Version = parsedVersion, CompatibleGameVersions = GameVersions.All, PreviewImage = PreviewImageInput } }; CatalogModList.Add(new CatalogModItemViewModel(newMod)); _modToEdit = null; SelectedMod = CatalogModList.LastOrDefault(); }