//вывод матрицы до (события) 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; } } }
//вывод матрицы от (события) 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; } } } }
//Ежеразовые события 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); } } } }