static void GetInfo(Firm firm) { using (StreamReader sr = new StreamReader(pathClients, Encoding.Default)) { string line = null; while ((line = sr.ReadLine()) != null) { Client client = new Client(line.Split(' ')[0], int.Parse(line.Split(' ')[1])); firm.clients.Add(client); } } using (StreamReader sr = new StreamReader(pathTarifs, Encoding.Default)) { string line = null; while ((line = sr.ReadLine()) != null) { Tarif tarif = new Tarif(line.Split(' ')[0], double.Parse(line.Split(' ')[1])); firm.tarifs.Add(tarif); } } using (StreamReader sr = new StreamReader(pathOrders, Encoding.Default)) { string line = null; while ((line = sr.ReadLine()) != null) { Order order = new Order(int.Parse(line.Split(' ')[0]), line.Split(' ')[1], line.Split(' ')[2], double.Parse(line.Split(' ')[3]), double.Parse(line.Split(' ')[4])); firm.orders.Add(order); } } }
public void ChangeTarif(List <Tarif> tarifs) { Console.WriteLine("Доступные тарифы:"); ShowTarifs(tarifs); Console.WriteLine(); Console.WriteLine("Введите название тарифа для уменьшения стоимости"); string name = Console.ReadLine(); Tarif newTarif = null; foreach (Tarif tarif in tarifs) { if (tarif.Destination.Equals(name)) { Console.WriteLine("Введите скидку в руб."); double money = double.Parse(Console.ReadLine()); newTarif = tarif - money; // использование перегруженного бинарного - tarifs.Remove(tarif); tarifs.Add(newTarif); FileStream fs = new FileStream(Program.pathTarifs, FileMode.Create); using (StreamWriter sw = new StreamWriter(fs, Encoding.Default)){ foreach (Tarif t in tarifs) { sw.WriteLine(t); } } Console.WriteLine("Тариф изменен!"); break; } } Console.ReadLine(); }
// перегруженный бинарный оператор для уменьшения стоимости перевозки. public static Tarif operator -(Tarif t, double Price) { Tarif tarif = t; tarif.Price -= Price; return(tarif); }
public void AddTarif(List <Tarif> tarifs) //ввод тарифа { Console.WriteLine("Введите количество тарифов на ввод"); int number = 0; try { number = int.Parse(Console.ReadLine()); } catch (Exception e) { Console.WriteLine(e.Message); } for (int i = 0; i < number; i++) { Tarif tarif = new Tarif(); try { Console.Write("Введите направление грузоперевозки: "); tarif.Destination = Console.ReadLine(); if (tarif.Destination == "") { throw new Exception(); } } catch { Console.WriteLine("Направление не может быть пустой строкой!!!"); Console.ReadLine(); return; } try { Console.Write("Введите стоимость тарифа: "); tarif.Price = double.Parse(Console.ReadLine()); if (tarif.Price < 0) { throw new Exception(); } } catch { Console.WriteLine("Стоимость не может быть отрицательной!!!"); Console.ReadLine(); return; } tarifs.Add(tarif); FileStream fs = new FileStream(Program.pathTarifs, FileMode.Append); using (StreamWriter sw = new StreamWriter(fs, Encoding.Default)) { sw.WriteLine(tarif); } Console.WriteLine("Тариф успешно добавлен!"); } Console.ReadLine(); }