public static void ShowItemDetails(int itemNumber) { itemRepository = new ItemRepository(); var allItems = itemRepository.GetAll().OrderBy(item => item.Name); var item = allItems.Skip(itemNumber - 1).Take(1).ToList(); usersItemsRepository = new UsersItemsRepository(); var allUsersItems = usersItemsRepository.GetAll(); var usersItem = allUsersItems.Where(userItem => userItem.ItemId.Equals(item.FirstOrDefault().Id)).ToList(); if (usersItem.Count > 0) { userRepository = new UserRepository(); var allUsers = userRepository.GetAll(); Console.WriteLine($"{item.FirstOrDefault().Name}"); Console.WriteLine($"Рейтинг: {usersItem.Sum(item => item.Rating) / usersItem.Count}/5"); foreach (var userItem in usersItem) { Console.WriteLine($"\n\t{userItem.Rating}/5"); Console.WriteLine($"\t{allUsers.Where(user => user.Id.Equals(userItem.UserId)).FirstOrDefault().Email}: {userItem.Comment}"); } } else { Console.WriteLine($"{item.FirstOrDefault().Name}"); Console.WriteLine("\nНа данный товар ещё нет рейтингов и комментариев."); } }
private static void FillAllTables() { CategoryRepository categoryRepository = new CategoryRepository(); categoryRepository.Add(firstCategory); categoryRepository.Add(secondCategory); ItemRepository itemRepository = new ItemRepository(); itemRepository.Add(firstItem); itemRepository.Add(secondItem); itemRepository.Add(thirdItem); itemRepository.Add(fourthItem); itemRepository.Add(fifthItem); UserRepository userRepository = new UserRepository(); userRepository.Add(firstUser); userRepository.Add(secondUser); UsersItemsRepository usersItemsRepository = new UsersItemsRepository(); usersItemsRepository.Add(firstUsersItems); usersItemsRepository.Add(secondUsersItems); usersItemsRepository.Add(thirdUsersItems); usersItemsRepository.Add(fourthUsersItems); usersItemsRepository.Add(fifthUsersItems); }