public StudentDTO EditStudent(StudentDTO student) { var dict = new Dictionary <string, string> { { "fio", student.FIO }, { "faculty", student.Curriculum.Faculty }, { "speciality", student.Curriculum.Speciality }, //{"course", student.Curriculum.Course }, { "group", student.Curriculum.Group }, { "city", student.Address.City }, //{"postindex", student.Address.PostIndex }, { "street", student.Address.Street }, //{"phone", student.Contact.Phone }, { "email", student.Contact.Email } }; var isProceed = true; while (isProceed) { Console.WriteLine("Что вы хотите изменить?\n" + "FIO\n Curriculum:\n Faculty\tSpeciality\t" + "Course\tGroup\nAddress:\nCity\tPostIndex\tStreet\n" + "Contacts:\nPhone\tEmail "); var editableParam = Console.ReadLine(); Console.WriteLine("Введите значение"); var sss = Console.ReadLine(); dict[editableParam] = sss; Console.WriteLine(student.FIO); Console.WriteLine("Продолжить?"); var select = Console.ReadLine().ToLower(); if (select != "да") { isProceed = false; } } return(student); }
public void AddStudent() { StudentDTO student = new StudentDTO(); Console.WriteLine("Введите ФИО студента"); student.FIO = Console.ReadLine(); Console.WriteLine("Введите факультет"); student.Curriculum.Faculty = Console.ReadLine(); Console.WriteLine("Введите специальность"); student.Curriculum.Speciality = Console.ReadLine(); Console.WriteLine("Введите курс"); student.Curriculum.Course = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите группу"); student.Curriculum.Group = Console.ReadLine(); Console.WriteLine("Введите город"); student.Address.City = Console.ReadLine(); Console.WriteLine("Введите почтовый индекс"); student.Address.PostIndex = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Введите улицу"); student.Address.Street = Console.ReadLine(); Console.WriteLine("Введите номер телефона"); student.Contact.Phone = Convert.ToInt64(Console.ReadLine()); Console.WriteLine("Введите email"); student.Contact.Email = Console.ReadLine(); string dirName = "StudentCards"; string fileName = $"{student.FIO}.json"; var filePath = Path.Combine(dirName, fileName); var studentJson = JsonConvert.SerializeObject(student); File.WriteAllText(filePath, studentJson); /*using (FileStream fs = new FileStream($"{filePath}.json", FileMode.OpenOrCreate)) * { * var options = new JsonSerializerOptions * { * WriteIndented = true * }; * await JsonSerializer.SerializeAsync<StudentDTO>(fs,student, options); * } */ FileInfo fileInf = new FileInfo(filePath); if (fileInf.Exists) { var jsonText = File.ReadAllText(filePath); var s = JsonConvert.DeserializeObject <StudentDTO>(jsonText); Console.WriteLine($"FIO: {s.FIO},\n Curriculum\nFaculty: {s.Curriculum.Faculty},\nSpeciality: {s.Curriculum.Speciality},\n" + $"Course: {s.Curriculum.Course},\nGpoup: {s.Curriculum.Group},\n Address\nCity: {s.Address.City},\nPostIndex: {s.Address.PostIndex},\n" + $"Street: {s.Address.Street},\n Contact\nPhone: {s.Contact.Phone},\nEmail: {s.Contact.Email}"); } }
public static async Task ReadWriteAsync() { StudentDTO[] students = new StudentDTO[5]; StudentDTO ivan = new StudentDTO() { FIO = "Иванов Иван Иванович", curriculum = new Сurriculum() { Faculty = "Химия", Speciality = "Органика", Course = 4, Group = "хим-бо-14-1" }, address = new Address() { City = "Ставрополь", PostIndex = 355000, Street = "К. Хетагурова" }, contact = new Contacts() { Phone = 89620000006, Email = "*****@*****.**" } }; StudentDTO nik = new StudentDTO() { FIO = "Рашевский Никита Сергеевич", curriculum = new Сurriculum() { Faculty = "Химическая технолоигия", Speciality = "Переработка нефти", Course = 2, Group = "хтл-мо-18-1" }, address = new Address() { City = "Ставрополь", PostIndex = 355000, Street = "Ленина" }, contact = new Contacts() { Phone = 89629999999, Email = "*****@*****.**" } }; students[1] = ivan; students[2] = nik; using (FileStream fs = new FileStream("ivan.json", FileMode.OpenOrCreate)) { var options = new JsonSerializerOptions { WriteIndented = true }; await JsonSerializer.SerializeAsync <StudentDTO>(fs, ivan, options); Console.WriteLine("Сохранено в файл"); Console.WriteLine($"{ivan.curriculum.Faculty}, {ivan.curriculum.Speciality}," + $"{ ivan.curriculum.Course}, { ivan.curriculum.Group}"); Console.WriteLine(); } using (FileStream fs = new FileStream("nik.json", FileMode.OpenOrCreate)) { var options = new JsonSerializerOptions { WriteIndented = true }; await JsonSerializer.SerializeAsync <StudentDTO>(fs, students[2], options); Console.WriteLine("Сохранено в файл"); Console.WriteLine($"{nik.curriculum.Faculty}, {nik.curriculum.Speciality}," + $"{ nik.curriculum.Course}, { nik.curriculum.Group}"); Console.WriteLine(); } using (FileStream fs = new FileStream("nik.json", FileMode.OpenOrCreate)) { var options = new JsonSerializerOptions { WriteIndented = true }; StudentDTO student = await JsonSerializer.DeserializeAsync <StudentDTO>(fs, options);// нужна ли здесь options? Console.WriteLine($"FIO: {student.FIO},\n Curriculum\nFaculty: {student.curriculum.Faculty},\nSpeciality: {student.curriculum.Speciality},\n" + $"Course: {student.curriculum.Course},\nGpoup: {student.curriculum.Group},\n Address\nCity: {student.address.City},\nPostIndex: {student.address.PostIndex},\n" + $"Street: {student.address.Street},\n Contact\nPhone: {student.contact.Phone},\nEmail: {student.contact.Email}"); } }