示例#1
0
        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);
            }
        }
示例#2
0
        /// <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());
        }