public static void Update(string oldSinger, string newSinger, string newSong, string songLength, int rating, string songText) { using (var context = new MusColectionContext()) { SongList songList = context.SongLists.FirstOrDefault(treck => treck.Singer == oldSinger); if (songList != null) { songList.Singer = newSinger; songList.Song = newSong; context.Entry(songList).State = EntityState.Modified; context.SaveChanges(); } SongDescription songDescription = context.SongDescriptions.FirstOrDefault(description => description.SongList.Singer == oldSinger); if (songDescription != null) { songDescription.SongLehgth = songLength; songDescription.Rating = rating; songDescription.SongText = songText; context.SaveChanges(); } Console.Clear(); ShowCollection(); } }
public static void Add() { using (var context = new MusColectionContext()) { SongList songList = new SongList(); SongDescription songDescription = new SongDescription(); Console.Write("Ввдите исполнителя песни: "); songList.Singer = Console.ReadLine(); Console.Write("Введите композицию: "); songList.Song = Console.ReadLine(); Console.WriteLine("Описание"); Console.Write("\tдлительность трека: "); songDescription.SongLehgth = Console.ReadLine(); Console.Write("\tвведите рейтинг трека: "); int rating = 0; int.TryParse(Console.ReadLine(), out rating); if (rating == 0) { Console.WriteLine("Вы не отметили рейтинг песни?"); } Console.WriteLine("Слова песни по умолчанию. Cлова наиболее любимых треков можно будет занести позже"); songDescription.SongText = ""; context.SongLists.Add(songList); context.SongDescriptions.Add(songDescription); context.SaveChanges(); } }
public static void ShowCollection() { Console.WriteLine("Музыкальная коллекция\t\tИсполнитель Композиция (описание: длительность, рейтинг, слова)"); using (var context = new MusColectionContext()) { foreach (var songList in context.SongLists.Include(songList => songList.Description).ToList()) { Console.WriteLine($"{songList.Singer} {songList.Song} ({songList.Description.SongLehgth}, {songList.Description.Rating}, {songList.Description.SongText})"); } } }
public static void Delete(string singer) { using (var context = new MusColectionContext()) { SongList songList = context.SongLists.Include("Description").FirstOrDefault(); if (songList != null) { context.SongDescriptions.Remove(songList.Description); context.SongLists.Remove(songList); context.SaveChanges(); } SongDescription songDescription = context.SongDescriptions.FirstOrDefault(description => description.SongList.Singer == singer); if (songDescription != null) { context.SongDescriptions.Remove(songDescription); context.SaveChanges(); } } }
public static void ManagementConsole() { using (var context = new MusColectionContext()) { List <string> singers = new List <string>(); foreach (var songList in context.SongLists.Include(songList => songList.Description).ToList()) { singers.Add(songList.Singer); } if (singers.Count == 0) { int choice = 0; while (choice == 0) { Console.Clear(); ShowCollection(); Console.WriteLine("В Вашем альбоме нет ни одного трека, хотели бы добавить?\n" + "1.да\n2.нет"); int.TryParse(Console.ReadLine(), out choice); if (choice <= 0 || choice > 2) { choice = 0; } else { break; } } if (choice == 2) { Console.WriteLine("До свидания!"); } else { Add(); } } else { bool display = true; while (display == true) { Console.Clear(); ShowCollection(); Console.WriteLine("\n\n1.Добавить\n2.Удалить\n3.Обновить\n4.Выход"); int choice = 0; while (choice == 0) { int.TryParse(Console.ReadLine(), out choice); if (choice <= 0 || choice > 4) { choice = 0; } else if (choice == 4) { display = false; break; } else { break; } } switch (choice) { case 1: Add(); break; case 2: Console.WriteLine("Введите имя иполнителя песню котого вы хотели бы удалить:"); Delete(Console.ReadLine()); Console.Clear(); ShowCollection(); break; case 3: Console.WriteLine("Введите имя исполнителя, которое необходимо отредактировать:"); string oldSinger = Console.ReadLine(); Console.WriteLine("Введите новое имя редактируемого иполнителя:"); string newSinger = Console.ReadLine(); Console.WriteLine("Введите название песни:"); string newSong = Console.ReadLine(); Console.WriteLine("Введите длительность песни:"); string songLength = Console.ReadLine(); Console.WriteLine("Введите рейтинг песни:"); int rating = 0; int.TryParse(Console.ReadLine(), out rating); Console.WriteLine("Введите текст песни:"); string songText = Console.ReadLine(); Update(oldSinger, newSinger, newSong, songLength, rating, songText); Console.Clear(); ShowCollection(); break; case 4: break; } } } } }