static void CommandCreateBanner() { if (currentAccount == null) { Console.WriteLine("not logged in"); return; } Console.Write("BackgroundColor: "); var backgroundColorString = Console.ReadLine(); Console.Write("Banner: "); var bannerString = Console.ReadLine(); Console.Write("Pattern: "); var patternString = Console.ReadLine(); Console.Write("PatternColor: "); var patternColorString = Console.ReadLine(); Console.Write("Placement: "); var placementString = Console.ReadLine(); Console.Write("SigilAccent: "); var sigilAccentString = Console.ReadLine(); Console.Write("SigilMain: "); var sigilMainString = Console.ReadLine(); Console.Write("SigilColor: "); var sigilColorString = Console.ReadLine(); int backgroundColor; int.TryParse(backgroundColorString, out backgroundColor); int banner; int.TryParse(bannerString, out banner); int pattern; int.TryParse(patternString, out pattern); int patternColor; int.TryParse(patternColorString, out patternColor); int placement; int.TryParse(placementString, out placement); int sigilAccent; int.TryParse(sigilAccentString, out sigilAccent); int sigilMain; int.TryParse(sigilMainString, out sigilMain); int sigilColor; int.TryParse(sigilColorString, out sigilColor); Console.Write("UseSigilVariant (yes/no): "); var useSigilVariant = Console.ReadLine() == "yes"; var accountBanner = new AccountBanner(currentAccount.Id, backgroundColor, banner, pattern, patternColor, placement, sigilAccent, sigilMain, sigilColor, useSigilVariant); if (accountBanner.Create()) Console.WriteLine("Banner created"); else Console.WriteLine("Failed to create banner"); }
/// <summary> /// Handles the "create banner" command which creates a banner for the currently logged in account. /// </summary> static void CommandCreateBanner() { // check that user is logged in if (currentAccount == null) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Not logged in"); Console.ResetColor(); return; // exit } // prompt for background colour Console.Write("Background Colour: "); // read input string backgroundColorString = Console.ReadLine(); int backgroundColor; // check that background colour is numeric while (int.TryParse(backgroundColorString, out backgroundColor)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid background color. Please choose a number."); Console.ResetColor(); Console.Write("Background Colour: "); backgroundColorString = Console.ReadLine(); } // prompt for banner Console.Write("Banner: "); // read input string bannerString = Console.ReadLine(); int banner; // check that banner is numeric while (int.TryParse(bannerString, out banner)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid banner. Please choose a number."); Console.ResetColor(); Console.Write("Banner: "); bannerString = Console.ReadLine(); } // prompt for pattern Console.Write("Pattern: "); // read input string patternString = Console.ReadLine(); int pattern; // check that pattern is numeric while (int.TryParse(patternString, out pattern)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid pattern. Please choose a number."); Console.ResetColor(); Console.Write("Pattern: "); patternString = Console.ReadLine(); } // prompt for pattern colour Console.Write("Pattern Colour: "); // read input string patternColorString = Console.ReadLine(); int patternColor; // check that pattern colour is numeric while (int.TryParse(patternColorString, out patternColor)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid pattern colour. Please choose a number."); Console.ResetColor(); Console.Write("Pattern Colour: "); patternColorString = Console.ReadLine(); } // prompt for placement Console.Write("Placement: "); // read input string placementString = Console.ReadLine(); int placement; // check that placement is numeric while (int.TryParse(placementString, out placement)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid placement. Please choose a number."); Console.ResetColor(); Console.Write("Placement: "); placementString = Console.ReadLine(); } // prompt for sigil Console.Write("Sigil: "); // read input string sigilMainString = Console.ReadLine(); int sigilMain; // check that sigil is numeric while (int.TryParse(sigilMainString, out sigilMain)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid sigil. Please choose a number."); Console.ResetColor(); Console.Write("Sigil: "); sigilMainString = Console.ReadLine(); } // prompt for sigil accent Console.Write("Sigil Accent: "); // read input string sigilAccentString = Console.ReadLine(); int sigilAccent; // check that sigil accent is numeric while (int.TryParse(sigilAccentString, out sigilAccent)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid sigil accent. Please choose a number."); Console.ResetColor(); Console.Write("Sigil Accent: "); sigilAccentString = Console.ReadLine(); } // prompt for sigil colour Console.Write("Sigil Colour: "); // read input string sigilColorString = Console.ReadLine(); int sigilColor; // check that sigil colour is numeric while (int.TryParse(sigilColorString, out sigilColor)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid sigil colour. Please choose a number."); Console.ResetColor(); Console.Write("Sigil Colour: "); sigilColorString = Console.ReadLine(); } // prompt for sigil variant Console.Write("Use Sigil Variant (yes/no): "); // read input string useSigilVariantString = Console.ReadLine(); bool useSigilVariant = false; bool useSigilVariantSet = false; while (!useSigilVariantSet) { switch (useSigilVariantString.ToLower()) { case "yes": case "y": useSigilVariant = true; useSigilVariantSet = true; break; case "no": case "n": useSigilVariant = false; useSigilVariantSet = true; break; default: Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Invalid sigil colour. Please choose a number."); Console.ResetColor(); Console.Write("Use Sigil Variant (yes/no): "); useSigilVariantString = Console.ReadLine(); break; } } // initialize account banner AccountBanner accountBanner = new AccountBanner(currentAccount.Id, backgroundColor, banner, pattern, patternColor, placement, sigilAccent, sigilMain, sigilColor, useSigilVariant); // save account banner to database if (accountBanner.Create()) { Console.WriteLine("Banner created"); } else { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Failed to create banner."); Console.ResetColor(); } }