Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        // перегруженный бинарный  оператор для уменьшения стоимости перевозки.
        public static Tarif operator -(Tarif t, double Price)
        {
            Tarif tarif = t;

            tarif.Price -= Price;
            return(tarif);
        }
Ejemplo n.º 4
0
        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();
        }