private static void UpdateComicBook(int comicBookId) { ComicBook comicBook = Repository.GetComicBook(comicBookId); string command = CommandListComicBookProperties; while (command != CommandCancel) { switch (command) { case CommandListComicBookProperties: ListComicBookProperties(comicBook); break; case CommandSave: Repository.UpdateComicBook(comicBook); command = CommandCancel; continue; default: if (AttemptUpdateComicBookProperty(command, comicBook)) { command = CommandListComicBookProperties; continue; } else { ConsoleHelper.OutputLine("Sorry, but I do not undertsand"); } break; } ConsoleHelper.OutputBlankLine(); ConsoleHelper.Output("Commands: "); if (EditableProperties.Count > 0) { ConsoleHelper.Output("Enter a number 1-{0}, ", EditableProperties.Count); } ConsoleHelper.OutputLine("Save - S, Cancel - C", false); command = ConsoleHelper.ReadInput("Enter a Command: ", true); } ConsoleHelper.ClearOutput(); }
private static void AddComicBook() { ConsoleHelper.ClearOutput(); ConsoleHelper.OutputLine("ADD COMIC BOOK"); var comicBook = new ComicBook(); comicBook.SeriesId = GetSeriesId(); comicBook.IssueNumber = GetIssueNumber(); comicBook.Description = GetDescription(); comicBook.PublishedOn = GetPublishedOn(); comicBook.AverageRating = GetAverageRating(); var comicBookArtist = new ComicBookArtist(); comicBookArtist.ArtistId = GetArtistId(); comicBookArtist.RoleId = GetRoleId(); comicBook.Artists.Add(comicBookArtist); Repository.AddComicBook(comicBook); }
private static bool AttemptUpdateComicBookProperty(string command, ComicBook comicBook) { var successful = false; int lineNumber; int.TryParse(command, out lineNumber); if (lineNumber > 0 && lineNumber <= EditableProperties.Count) { string propertyName = EditableProperties[lineNumber - 1]; switch (propertyName) { case "SeriesId": comicBook.SeriesId = GetSeriesId(); comicBook.Series = Repository.GetSeries(comicBook.SeriesId); break; case "IssueNumber": comicBook.IssueNumber = GetIssueNumber(); break; case "Description": comicBook.Description = GetDescription(); break; case "PublishedOn": comicBook.PublishedOn = GetPublishedOn(); break; case "AverageRating": comicBook.AverageRating = GetAverageRating(); break; default: break; } successful = true; } return(successful); }