public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(null); } string school = (string)value; if (TimeTableData.Faculties.Count != 0) { TimeTableData.Faculties.Clear(); } var table = new TimeTableData(); table.GetFaculties(school); if (table.LoadResult == Result.Failed) { MessageBox.Show("Проблемы с соединением"); } return(TimeTableData.Faculties.Select(x => x.Name).ToList()); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { int index = (int)value; if (index == -1) { return(null); } if (TimeTableData.Schools.Count == 0) { var table = new TimeTableData(); table.GetUniversities(); } switch (index) { case 1: return(TimeTableData.GetNames(City.Arkhagelsk)); case 2: return(TimeTableData.GetNames(City.Severodvinsk)); default: return(TimeTableData.Schools.Select(x => x.Name).ToList()); } }
//private void Load() //{ // //XML data // if (string.IsNullOrEmpty(tableLink)) // { // var doc = XDocument.Load("Settings.xml"); // tableLink = @"http://ruz.narfu.ru/?timetable&group=" + doc.Element("Settings").Element("Table").Attribute("Link").Value; // } // var table = new TimeTableData(); // var data = table.GetTimeTable(tableLink); // if (data == null) // return; // int i = 0, j = 0; // var x = data.Weeks[0]; // foreach (var y in x.Days) // { // if (y.Pairs.Count == 0) // { // i++; // continue; // } // if (y.Pairs[0].Num != "1") // { // var pair = new Pair(); // pair.Margin = new Thickness(200 * i + 20, 150 * j + 20, 0, 0); // j++; // Pairs.Add(pair); // } // foreach (var z in y.Pairs) // { // z.Margin = new Thickness(200 * i + 20, 150 * j + 20, 0, 0); // j++; // Pairs.Add(z); // } // i++; // j = 0; // } //} private void Load() { if (string.IsNullOrEmpty(tableLink)) { var doc = XDocument.Load("Settings.xml"); tableLink = @"http://ruz.narfu.ru/?timetable&group=" + doc.Element("Settings").Element("Table").Attribute("Link").Value; } var days = Enumerable.Range(0, 1).Select(day => new Headers[6]).ToArray(); var table = new TimeTableData(); var data = table.GetTimeTable(tableLink); TableInfo = $"{data.GroupNum} - {data.GroupName} ({data.LastChange})"; if (data == null) { return; } var x = data.Weeks[0]; int maxcount = 0; foreach (var y in x.Days) { if (y.Pairs.Count() > maxcount) { maxcount = y.Pairs.Count; } } var tableArray = Enumerable.Range(0, maxcount).Select(pair => new Pair[6]).ToArray(); int currDay = 0; int currPair = 0; foreach (var y in x.Days) { var day = DateTime.Parse(y.Date); days[0][currDay] = new Headers { DayInfo = $"{day.ToString("d")}, {day.DayOfWeek.ToString()}" }; foreach (var z in y.Pairs) { tableArray[currPair][currDay] = z; currPair++; } currPair = 0; currDay++; } Pairs = tableArray; Days = days; }