private void LpOnResponseReceived1(object sender, EventArgs e) { var lpe = (LongPollResponseEventArgs)e; var resp = lpe.RawResponse; var resp1 = lpe.Response; Console.WriteLine(resp.RawJson); if (resp1.Failed != null) { LongPoller.Start(); return; } if (resp1.Updates.Count == 0) { return; } try { var msg = resp1.Updates[0].Object.Text; var spl = msg.Split(); var a = 0; var b = 0; if (spl.Length != 2) { return; } a = Int32.Parse(spl[0]); b = Int32.Parse(spl[1]); var c = new TimetableGetter("КИ18-17/1б"); var t = c.Get(); msg = String.Join(", ", from i in t.Timetable where (int)i.Day == a && (int)i.Week == b select i.Subject); var typ = resp1.Updates[0].Type; if (msg != "" && typ == "message_new") { Api.Messages.Send(new MessagesSendParams { PeerId = resp1.Updates[0].Object.PeerId, Message = msg }); } } catch (Exception ex) { Console.WriteLine(ex); } }
/// <summary> /// Составляет расписание. /// </summary> /// <param name="day">День недели.</param> /// <param name="week">Чётная или нечётная неделя.</param> /// <returns>Отформатированное расписание.</returns> public string Compile(Day day, Week week) { var timetables = new Dictionary <string, StudyTimetable>(); foreach (var i in Config.Targets) { var tb = new TimetableGetter(i); timetables.Add(i, tb.Get()); } var data = new DataDict(Config, timetables, day, week); var form = new Formatter(data); var sb = new StringBuilder(); sb.AppendLine(form.Format(Config.FirstString)); foreach (var i in Config.Targets) { data.CurrentTarget = i; sb.AppendLine(form.Format(Config.SecondString)); var n = data.CurrentDay.Count; if (n == 0) { sb.AppendLine(form.Format(Config.NoLessons)); continue; } for (var j = 0; j < n; j++) { data.CurrentLessonNumber = j + 1; sb.AppendLine(form.Format(Config.LessonString)); } } return(sb.ToString()); }