Ejemplo n.º 1
0
        public async Task <ActionResult> Index()
        {
            var obj = await base.Me();

            ViewBag.Me = Newtonsoft.Json.JsonConvert.SerializeObject(obj);
            if (ViewBag.Me == null || ViewBag.Me == "null")
            {
                string url = string.Format("/Coach/BindingUser/?opid={0}&url={1}&name={2}", OpenId, WxUserInfo.headimgurl, WxUserInfo.nickname);
                Response.Redirect(url);
                return(View());
            }
            else
            {
                Models.LoginCoachInfo s = obj;

                CoachResponse c = s.CoachInfo;
                ViewBag.VenueID  = c.VenueID;
                ViewBag.CoachID  = c.CoachID;
                ViewBag.FullName = c.FullName;

                //var templateId = Comm.WeiXin.NoticeTemplates.OrderPayTemplate;
                //var data = new
                //{
                //    first = new TemplateDataItem("学生登录成功"),
                //    keyword1 = new TemplateDataItem("飞翔的企鹅"),
                //    keyword2 = new TemplateDataItem("123456789"),
                //    keyword3 = new TemplateDataItem("1000", "#ff0000"),//显示为红色
                //    keyword4 = new TemplateDataItem("购买课时"),
                //    remark = new TemplateDataItem("详细信息,查看 http://www.baidu.com")
                //};

                //var result = TemplateApi.SendTemplateMessage(base.AppId, Session["OpenId"].ToString(), templateId, "http://www.baidu.com", data);
                return(View());
            }
        }
Ejemplo n.º 2
0
        public async Task <System.Web.Mvc.ActionResult> MySet()
        {
            var obj = await base.Me();

            Models.LoginCoachInfo s = obj;

            CoachResponse c = s.CoachInfo;

            ViewBag.VenueID  = c.VenueID;
            ViewBag.CoachID  = c.CoachID;
            ViewBag.FullName = c.FullName;
            return(View());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 学生点评
        /// </summary>
        /// <param name="pkid"></param>
        /// <param name="cid"></param>
        /// <returns></returns>
        public async Task <System.Web.Mvc.ActionResult> MyComment(int pkid, int cid)
        {
            var obj = await base.Me();

            Models.LoginCoachInfo s = obj;

            CoachResponse c = s.CoachInfo;

            ViewBag.VenueID  = c.VenueID;
            ViewBag.CoachID  = c.CoachID;
            ViewBag.FullName = c.FullName;
            ViewBag.PKID     = pkid;
            ViewBag.CID      = cid;
            return(View());
        }
        private async void CoachTypes_ItemClick(object sender, ItemClickEventArgs e)
        {
            try
            {
                type = e.ClickedItem as CoachType;
                // TODO: fix roundTrip
                IDictionary <string, string> parameters = train.getParameters(type, false);
                string res = await Requests.makeRequestAsync(Requests.COACH_URL, parameters);

                //debugOutput.Text = res;
                CoachResponse resp = Factory.Instance.getCoachResponse(res);
                coaches.DataContext = resp.Wrapper.Coaches;
                places.DataContext  = null;
            }
            catch (Exception ex)
            {
                debugOutput.Text = ex.Message;
            }
        }
        private static async Task checkRequestsAsyncHelper()
        {
            IEnumerable <Request> requests = AppDataManager.RetrieveRequests();
            int addedForRequests           = 0;

            try
            {
                foreach (Request req in requests)
                {
                    bool         found    = false;
                    TrainRequest trainReq = new TrainRequest()
                    {
                        from      = req.from,
                        to        = req.to,
                        date      = req.depDateFrame.since,
                        time      = req.depTimeFrame.since,
                        roundTrip = false
                    };
                    TrainResponse trainResp;
                    try
                    {
                        trainResp = Factory.Instance.getTrainResponse(
                            await Requests.makeRequestAsync(Requests.TRAIN_URL, trainReq.getParameters()));
                    }
                    catch (Exception) { continue; }
                    foreach (Train train in trainResp.Trains)
                    {
                        int available = 0;
                        foreach (CoachType type in train.CoachTypes)
                        {
                            try
                            {
                                CoachResponse coachResp = Factory.Instance.getCoachResponse(
                                    await Requests.makeRequestAsync(Requests.COACH_URL, train.getParameters(type, false)));
                                foreach (Coach coach in coachResp.Wrapper.Coaches)
                                {
                                    CarriageResponse carResp = Factory.Instance.getCarriageResponse(
                                        await Requests.makeRequestAsync(Requests.CARRIAGE_URL, train.getParameters(coach)));

                                    available += countAvailavle(req, train, type, coach, carResp.Value.Places);
                                }
                            }
                            catch (Exception) { }
                        }

                        if (!req.available.ContainsKey(train.Number))
                        {
                            req.available[train.Number] = 0;
                        }
                        if (available > req.available[train.Number] + 1)
                        {
                            Notification.SendToast(
                                "З'явилось " + (available - req.available[train.Number]) + " місць",
                                train.Number + " " + req.from.Name + " - " + req.to.Name + ", " + train.From.Date,
                                DateTimeOffset.Now.AddSeconds(15),
                                "UZTracer.TrainPage?" + JsonConvert.SerializeObject(train));

                            found = true;
                        }
                        req.available[train.Number] = available;
                    }
                    addedForRequests += found ? 1 : 0;
                }
            }
            catch (Exception) { }
            finally
            {
                Notification.UpdateBadge(addedForRequests);
                AppDataManager.SaveRequests(requests);
            }
        }