Пример #1
0
        //вывод матрицы до (события)
        private static void OneDayRepeatFrom(
            DateTime date, int importance, ref string[] names, Dictionaries Dictionaries,
            ref string[,] matrix)
        {
            var dateTime = new OverrideDateTime(date);
            var endOver  = GetKeyByValue(Dictionaries.ReturnDictionary_Events_From[importance][dateTime],
                                         Dictionaries.ReturnDictionary_Events_To[importance]);
            var end = endOver.GetDateTime;


            for (var j = 0; j < Dictionaries.ReturnDictionary_Events_From[importance][dateTime].Return_size; j++)
            {
                matrix = ResizeColumns(matrix);

                Array.Resize(ref names, names.Length + 1);

                names[names.Length - 1] = Dictionaries.ReturnDictionary_Events_From[importance][dateTime][j].EventName;

                matrix[date.Hour, matrix.GetLength(1) - 1] += "Начало: " + date.ToShortTimeString() + " " +
                                                              Dictionaries.ReturnDictionary_Events_From[importance]
                                                              [dateTime][j].EventName;

                if (end.Date == date.Date)
                {
                    matrix[end.Hour, matrix.GetLength(1) - 1] += "Конец: " + end.ToShortTimeString() + " " +
                                                                 Dictionaries.ReturnDictionary_Events_To[importance]
                                                                 [endOver][j].EventName;
                }
            }
        }
Пример #2
0
        //вывод матрицы от (события)
        private static void OneDayRepeatTo(
            DateTime date, int importance, ref string[] names, Dictionaries Dictionaries,
            ref string[,] matrix)
        {
            var dateTime = new OverrideDateTime(date);


            if (Dictionaries.ReturnDictionary_Events_To[importance].ContainsKey(dateTime))
            {
                for (var j = 0; j < Dictionaries.ReturnDictionary_Events_To[importance][dateTime].Return_size; j++)
                {
                    var element = "Конец: " + date.ToShortTimeString() + " " +
                                  Dictionaries.ReturnDictionary_Events_To[importance][dateTime][j].EventName;


                    if (!ContainsMatrix(matrix, element))
                    {
                        matrix = ResizeColumns(matrix);

                        Array.Resize(ref names, names.Length + 1);

                        names[names.Length - 1] =
                            Dictionaries.ReturnDictionary_Events_To[importance][dateTime][j].EventName;

                        matrix[date.Hour, matrix.GetLength(1) - 1] +=
                            "Конец: " + date.ToShortTimeString() + " " +
                            Dictionaries.ReturnDictionary_Events_To[importance][dateTime][j].EventName;
                    }
                }
            }
        }
Пример #3
0
        //Ежеразовые события
        private static void NeverRepeat(
            DateTime date, int importance, ref string[] names, Dictionaries Dictionaries,
            ref string[,] matrix)
        {
            for (var i = 0; i < 24; i++)
            {
                if (i != 0)
                {
                    date = date.AddHours(1);
                }
                for (var min = 0; min < 60; min++)
                {
                    if (min != 0)
                    {
                        date = date.AddMinutes(1);
                    }

                    var dateTime = new OverrideDateTime(date);
                    if (Dictionaries.ReturnDictionary_Events_From[importance].ContainsKey(dateTime))
                    {
                        for (var j = 0;
                             j < Dictionaries.ReturnDictionary_Events_From[importance][dateTime].Return_size;
                             j++)
                        {
                            matrix = ResizeColumns(matrix);

                            Array.Resize(ref names, names.Length + 1);

                            names[names.Length - 1] =
                                Dictionaries.ReturnDictionary_Events_From[importance][dateTime][j].EventName;
                            matrix[i, matrix.GetLength(1) - 1] +=
                                "Начало: " + date.ToShortTimeString() + " " +
                                Dictionaries.ReturnDictionary_Events_From[importance][dateTime][j].EventName;


                            var endOver = GetKeyByValue(Dictionaries.ReturnDictionary_Events_From[importance][dateTime],
                                                        Dictionaries.ReturnDictionary_Events_To[importance]);
                            var end = endOver.GetDateTime;


                            if (end.Date == date.Date)
                            {
                                matrix[end.Hour, matrix.GetLength(1) - 1] +=
                                    "Конец: " + end.ToShortTimeString() + " " +
                                    Dictionaries.ReturnDictionary_Events_To[importance][endOver][j].EventName;
                            }
                        }
                    }
                    else
                    {
                        if (Dictionaries.ReturnDictionary_Events_To[importance].ContainsKey(dateTime))
                        {
                            for (var j = 0;
                                 j < Dictionaries.ReturnDictionary_Events_To[importance][dateTime].Return_size;
                                 j++)
                            {
                                if (!ContainsMatrix(matrix,
                                                    "Конец: " + date.ToShortTimeString() + " " +
                                                    Dictionaries.ReturnDictionary_Events_To[importance][dateTime][j].
                                                    EventName))
                                {
                                    Array.Resize(ref names, names.Length + 1);


                                    names[names.Length - 1] =
                                        Dictionaries.ReturnDictionary_Events_To[importance][dateTime][j].EventName;

                                    matrix = ResizeColumns(matrix);
                                    matrix[i, matrix.GetLength(1) - 1] +=
                                        "Конец: " + date.ToShortTimeString() + " " +
                                        Dictionaries.ReturnDictionary_Events_To[importance][dateTime][j].EventName;
                                }
                            }
                        }
                    }

                    if (date.Minute == 59)
                    {
                        date = date.AddMinutes(-59);
                    }
                }
            }
        }