private ConsoleCommandResult CreateEntry(string description, EntryDifficulty difficulty) { using (BucketListRepository repo = new BucketListRepository()) { BucketListEntry entry = repo.Create(description, difficulty); if (entry != null) { ConsoleWriter.WriteLine("Added entry with Id {0}", ConsoleColor.Green, entry.Id); return(ConsoleCommandResult.Success); } else { ConsoleWriter.WriteLine("Error occurred while saving entry", ConsoleColor.Red); return(ConsoleCommandResult.Exception); } } }
private List <BucketListEntry> GetRandomEntries(BucketListRepository repo) { // TODO replace stupid algorithm List <BucketListEntry> list = new List <BucketListEntry>(RandomEntriesCount); List <BucketListEntry> entries = repo.Query.Where(e => !e.CheckedDate.HasValue).ToList(); while (entries.Any() && list.Count < RandomEntriesCount) { BucketListEntry entry = entries[Rand.Next(0, entries.Count)]; if ((int)entry.Difficulty < Rand.Next(1, 8)) { list.Add(entry); entries.Remove(entry); } } return(list); }
private void PrintEntryList(List <BucketListEntry> entries) { if (!entries.Any()) { ConsoleWriter.WriteLine("No entries found", ConsoleColor.Yellow); return; } ConsoleWriter.WriteLine(TableTopBorder); ConsoleWriter.WriteLine(TableCaption); for (int idx = 0; idx < entries.Count; idx++) { BucketListEntry entry = entries[idx]; if (idx > 0 && idx % PageSize == 0) { ConsoleWriter.Write("{0} more entries; Press any key to continue or X to stop", ConsoleColor.Green, entries.Count - idx); ConsoleKeyInfo key = Console.ReadKey(true); ConsoleWriter.ClearCurrentConsoleLine(); if (key.Key == ConsoleKey.X) { break; } } ConsoleWriter.WriteLine(TableEntryTemplate, entry.Id, entry.Description, entry.Difficulty.ToDisplayString(), entry.CreatedDate.ToString("d"), entry.CheckedDate?.ToString("d")); } ConsoleWriter.WriteLine(TableTopBorder); }