Exemplo n.º 1
0
        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            firms.PutVariousValuesToOneArray(firms.mobilePhones, firms.radioPhones);
            var sorted = firms.PutVariousValuesToOneArray(firms.mobilePhones,
                                                          firms.radioPhones).OrderBy(p => p.Price);

            textBox1.Clear();
            int totalPrice = 0;

            using (StreamWriter sw = new StreamWriter(@"C:\Users\Odmen\Desktop\New.txt", false, Encoding.Default))
            {
                foreach (var a in sorted)
                {
                    if (a.Name.Contains("Mobile"))
                    {
                        MobilePhone i = (MobilePhone)a;
                        textBox1.AppendText($"Name: {i.Name} Firm: {i.Firm} Colour: {i.Colour} Memory capacity{i.MemoryCapacity}  Price: {i.Price}\n");
                        totalPrice += i.Price;
                        sw.WriteLine($"Name: {i.Name} Firm: {i.Firm} Colour: {i.Colour} Memory capacity{i.MemoryCapacity}  Price: {i.Price}");
                    }
                    else
                    {
                        RadioPhone i = (RadioPhone)a;
                        textBox1.AppendText($"Name: {i.Name} Firm: {i.Firm} Reach: {i.Reach} Anserphone: {i.AnswerPhone}  Price: {i.Price}\n");
                        totalPrice += i.Price;
                        sw.WriteLine($"Name: {i.Name} Firm: {i.Firm} Reach: {i.Reach} Anserphone: {i.AnswerPhone}  Price: {i.Price}");
                    }
                }
                textBox1.AppendText("Total price: " + Convert.ToString(totalPrice));
                sw.WriteLine("Total price: " + Convert.ToString(totalPrice));
            }
            button1.IsEnabled = true;
        }
Exemplo n.º 2
0
        public (Array, Array) ReadFromTXTWriteToArray(string Path, string Path2)
        {
            //отдельный масив путей к файлам
            string[] paths = new string[2] {
                Path, Path2
            };
            //совместное количество строк в путях, для того, чтобы задавать размерность масивов
            int count = File.ReadAllLines(Path).Length + File.ReadAllLines(Path2).Length;

            mobilePhones = new MobilePhone[count];
            radioPhones  = new RadioPhone[count];

            //щетчики ячеек для последовательного заполнения масивов
            int mobilePhoneCount = 0;
            int radioPhoneCount  = 0;

            //перебирает сначала txt файл по одному пути, затем по другому
            foreach (string path1 in paths)
            {
                //записывает все строчки в переменную
                var lines = File.ReadAllLines(path1);

                //перенорсит данные из файдла в масивы, одновременно сортирует на "Мобильные Телефоны" и "Радиотелефоны"
                foreach (var line in lines)
                {
                    if (line.Split('_')[0] == "Mobile Phone")
                    {
                        mobilePhones[mobilePhoneCount] = new MobilePhone(line.Split(',')[0], line.Split(',')[1],
                                                                         line.Split(',')[2], Convert.ToInt32(line.Split(',')[3]), Convert.ToInt32(line.Split(',')[4]));
                        mobilePhoneCount++;
                    }
                    if (line.Split('_')[0] == "Radio Phone")
                    {
                        radioPhones[radioPhoneCount] = new RadioPhone(line.Split(',')[0], line.Split(',')[1],
                                                                      Convert.ToInt32(line.Split(',')[2]), Convert.ToBoolean(line.Split(',')[3]),
                                                                      Convert.ToInt32(line.Split(',')[4]));
                        radioPhoneCount++;
                    }
                }
            }

            // перебираем масивы удаляя пустые ячейки
            mobilePhones = mobilePhones.Where(x => x != null).ToArray();
            radioPhones  = radioPhones.Where(x => x != null).ToArray();

            return(mobilePhones, radioPhones);
        }