internal static void ЗаписатьТроллейбусы(List <ТроллейбусыДляПротокола> listTrol, Маршрут[] masTrol)
        {
            int cnt = masTrol.Length;

            ПротоколExcel.ПропуститьСтроку();
            ПротоколExcel.Записать("Результаты тестирования  частоты движения троллейбусов");
            object[] mas = new object[4 * cnt + 2];
            mas[0]       = "Интервалы движения, мин.";
            mas[cnt]     = "Число ТС на маршруте, шт.";
            mas[2 * cnt] = "Суммарный километраж всех рейсов маршрута, км.";
            mas[3 * cnt] = "Перевезено пас по маршрутам, пас.";
            ПротоколExcel.Записать(mas);
            string[] mascode = (from m in masTrol select m.Название).ToArray <string>();
            Array.Copy(mascode, 0, mas, 0, cnt);
            Array.Copy(mascode, 0, mas, cnt, cnt);
            Array.Copy(mascode, 0, mas, 2 * cnt, cnt);
            Array.Copy(mascode, 0, mas, 3 * cnt, cnt);
            mas[4 * cnt]     = "Всего пас по всем троллейбусам";
            mas[4 * cnt + 1] = "Выручка по всем троллейбусам, руб.";
            ПротоколExcel.Записать(mas);

            foreach (ТроллейбусыДляПротокола item in listTrol)
            {
                Array.Copy(item.IntervalsTroll, 0, mas, 0, cnt);
                Array.Copy(item.CountTCTroll, 0, mas, cnt, cnt);
                Array.Copy(item.AllTrollKm, 0, mas, 2 * cnt, cnt);
                Array.Copy(item.PassTroll, 0, mas, 3 * cnt, cnt);
                mas[4 * cnt]     = item.AllTrollPass;
                mas[4 * cnt + 1] = item.AllTrollProfit;
                ПротоколExcel.Записать(mas);
            }
        }
        internal static void ЗаписатьРаспределениеТС(Маршрут[] массивМаршрутов)
        {
            ПротоколExcel.ПропуститьСтроку();
            ПротоколExcel.Записать("Распределение ТС");//, null, null, null, null, null, "Количество автотранспортных средств в одном направлении, ед.");
            ПротоколExcel.Записать("код маршрута", "Название маршрута", "Номер маршрута", "кол ТС", "Интервал движения, мин", "Оценка среднечасового числа входящих пассажиров, чел/ТС",
                                   "Оценка дохода на 1 ТС, руб/час");
            string[] masstr;
            string   strCode = "", curCode = "", prevCode = "", nameMarsh = "";
            int      срчасКолПеревезПасНа1ТС = 0, доходНа1ТСвЧас = 0, числоТСнаМаршруте = 0, интДвижения = 0;

            foreach (Маршрут marsh in массивМаршрутов)
            {
                prevCode = curCode;
                //определение номера маршрута - объединить прямой и обратный
                masstr  = marsh.Название.Split(new char[] { ' ' }, 2);
                curCode = masstr[0];
                //nameMarsh = masstr[1].Split(new char[] { '(' }, 2)[0];
                if (prevCode == curCode)
                {
                    strCode += "," + marsh.Код;
                    срчасКолПеревезПасНа1ТС += marsh.ПоказателиРаботы.срчасКолПеревезПасНа1ТС;
                    доходНа1ТСвЧас          += marsh.ПоказателиРаботы.доходНа1ТСвЧас;
                }
                else
                {
                    if (prevCode != "")
                    {
                        //записать предыдущий маршрут
                        ПротоколExcel.Записать(strCode,
                                               nameMarsh,
                                               "№ " + prevCode,
                                               числоТСнаМаршруте,
                                               интДвижения,
                                               срчасКолПеревезПасНа1ТС,
                                               доходНа1ТСвЧас);
                    }

                    strCode = marsh.Код.ToString();
                    //nameMarsh = marsh.Название;
                    nameMarsh               = masstr[1].Split(new char[] { '(' }, 2)[0];
                    числоТСнаМаршруте       = marsh.ЧислоТСнаМаршруте;
                    интДвижения             = (int)Math.Round(marsh.Время1Рейса * 2.0 / marsh.ЧислоТСнаМаршруте);
                    срчасКолПеревезПасНа1ТС = marsh.ПоказателиРаботы.срчасКолПеревезПасНа1ТС;
                    доходНа1ТСвЧас          = marsh.ПоказателиРаботы.доходНа1ТСвЧас;
                }
            }
            //записать последний маршрут
            ПротоколExcel.Записать(strCode,
                                   nameMarsh,
                                   "№ " + prevCode,
                                   числоТСнаМаршруте,
                                   интДвижения,
                                   срчасКолПеревезПасНа1ТС,
                                   доходНа1ТСвЧас);
        }
 public static void ЗаписатьВсеОстановки(Остановка[] массивОстановок)
 {
     ПротоколExcel.ПропуститьСтроку();
     ПротоколExcel.Записать("Данные по всем остановкам");
     ПротоколExcel.Записать("код", "Название", "кол появ пас", "кол отправ пас", "кол недождавш пас", "кол оставшихся пас",
                            "макс кол авто", "макс кол ожид пас", "сред время ожид пас", "кол приб пас");
     for (int i = 0; i < массивОстановок.Length; i++)
     {
         ПротоколExcel.Записать(массивОстановок[i].показателиРаботы.КодОстановки,
                                массивОстановок[i].Название,
                                массивОстановок[i].показателиРаботы.СуммКолПоявившПассажиров,
                                массивОстановок[i].показателиРаботы.СуммКолОтпрПассажиров,
                                массивОстановок[i].показателиРаботы.СуммКолНедождПассажиров,
                                массивОстановок[i].показателиРаботы.СуммКолПасОставшНаОст,
                                массивОстановок[i].показателиРаботы.МаксКолАвтоНаОст,
                                массивОстановок[i].показателиРаботы.МаксКолОжидПассжиров,
                                массивОстановок[i].показателиРаботы.СредВремяОжидНаОст,
                                массивОстановок[i].показателиРаботы.СуммКолПрибПассажиров);
     }
 }
 public static void ЗаписатьТаблМаршрут(Маршрут[] массивМаршрутов)
 {
     ПротоколExcel.ПропуститьСтроку();
     ПротоколExcel.Записать("Данные по рейсам маршрутов");
     ПротоколExcel.Записать("код маршрута", "Номер маршрута", "кол рейсов", "макс вместимость 1 ТС", "макс перевез за 1 рейс",
                            "макс Коэф Исп Вмест за 1 рейс", "Коэф Исп Вмест по маршруту", "кол ТС на маршруте", "время 1 рейса", "тип ТС",
                            "кол перевезенных", "выручка");
     foreach (Маршрут marsh in массивМаршрутов)
     {
         ПротоколExcel.Записать(marsh.Код,
                                marsh.Название,
                                marsh.ПоказателиРаботы.колВыполненРейсов,
                                marsh.Вместимость1Рейса,
                                marsh.ПоказателиРаботы.МаксКолВошедЗа1Рейс,
                                marsh.ПоказателиРаботы.МаксКоэфИсполВмесЗа1Рейс,
                                marsh.ПоказателиРаботы.коэфИспользВместим,
                                marsh.ЧислоТСнаМаршруте,
                                marsh.Время1Рейса,
                                marsh.СокращениеТипаТС,
                                marsh.ПоказателиРаботы.сумКолПеревезПассаж,
                                marsh.ПоказателиРаботы.Выручка);
     }
 }