/// <summary> /// 取得股票資訊 /// </summary> /// <param name="StockNum"></param> /// <returns></returns> public ActionResult GetStockInfo(String StockNum) { BaseResModel <StockInfoResModel> result = new BaseResModel <StockInfoResModel>(); try { int AuthStatus = AuthServcies.Islogin(Request); if (AuthStatus == 2) { result.Code = ResponseCodeEnum.AuthFail; return(Json(result, JsonRequestBehavior.AllowGet)); } if (AuthServcies.IsOverQuery(Request)) { throw new Exception("查詢過於繁複,請稍候再試!"); } using (var db = new LiteDatabase(LazyStockDBPath)) { // Get customer collection var StockInfos = db.GetCollection <StockInfoResModel>("StockInfo"); var StockInfo = StockInfos.FindById(StockNum); if (StockInfo == null) { return(Json(new BaseResModel <StockInfoResModel>() { Code = ResponseCodeEnum.DataNotFound }, JsonRequestBehavior.AllowGet)); } result.Result = StockInfo; if (AuthStatus == 0) { result.Result.CurrFromEPS = null; result.Result.FutureFromEPS = null; result.Result.PrevDiviFrom3YearAvgByEPS = null; result.Result.EstimateStableDivi = null; result.Result.EstimateUnstableDivi = null; result.Result.EstimateStablePrice5 = null; result.Result.EstimateUnstablePrice5 = null; result.Result.EstimateStablePrice7 = null; result.Result.EstimateUnstablePrice7 = null; result.Result.EstimateStablePrice10 = null; result.Result.EstimateUnstablePrice10 = null; } } } catch (Exception e) { result.Code = ResponseCodeEnum.Failed; result.Message = e.Message; } return(Json(result, JsonRequestBehavior.AllowGet)); }
public ActionResult CallbackFromLine(String code) { //BaseResModel result = new BaseResModel(); if (String.IsNullOrEmpty(code)) { return(Redirect("/default.aspx?error=" + "登錄失敗")); } //從Code取回toke var token = isRock.LineLoginV21.Utility.GetTokenFromCode( code, Common.Tools.Setting.AppSettings("LineAuthId"), Common.Tools.Setting.AppSettings("LineAuthClientSecret"), Common.Tools.Setting.AppSettings("LineAuthCallBackUrl")); var user = isRock.LineLoginV21.Utility.GetUserProfile(token.access_token); MemberInfoModel member = new MemberInfoModel(); using (var db = new LiteDatabase(LazyStockMemberDBPath)) { var MemberInfos = db.GetCollection <MemberInfoModel>("MemberInfo"); var a = MemberInfos.FindOne(Query.EQ("LineId", user.userId)); member.Id = (a == null ? Common.Tools.TokenGenerator.GetTimeStamp(3) : a.Id); member.UserName = HttpUtility.UrlEncode(user.displayName); member.LineId = user.userId; member.PicUrl = user.pictureUrl; member.Permission = "1"; member.HashCode = AuthServcies.EncryptMemberInfo(member); member.LastloginDate = Common.Tools.TokenGenerator.GetTimeStamp(0); MemberInfos.Upsert(member.Id, member); } HttpCookie AutoCookie = new HttpCookie("_UserInfo"); AutoCookie.Value = JsonConvert.SerializeObject(member); AutoCookie.Expires = DateTime.Now.AddHours(1); Response.Cookies.Add(AutoCookie); String v = Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(member))); return(Redirect(Common.Tools.Setting.AppSettings("LineAuthAfterRedirect") + "/?v=" + v)); }
/// <summary> /// 取得股票資訊 /// </summary> /// <returns></returns> public ActionResult GetNum() { var result = new BaseResModel <Object>(); try { if (AuthServcies.IsOverQuery(Request)) { throw new Exception("查詢過於繁複,請稍候再試!"); } MemberInfoModel MemberInfo = null; String LindId = ""; try { // Request.Cookies["_UserInfo"].Value MemberInfo = AuthServcies.GetHeaderToMemberInfo(Request); //JsonConvert.DeserializeObject<MemberInfoModel>(Request.Headers["_UserInfo"].ToGetValue<string>()); LindId = MemberInfo.LineId; } catch (Exception ex) { MemberInfo = null; LindId = ""; } if (String.IsNullOrEmpty(LindId)) { throw new Exception("此功能需登錄Line"); } using (var conn = new LiteDatabase(LazySlotDBPath)) { var db = conn.GetCollection <MemberQueryRecordModel>("MemberQueryRecord"); String Index = DateTime.Now.ToString("yyyyMMdd") + LindId; var item = db.FindById(Index); if (item != null) { throw new Exception("咳~咳~今天累了~明天請早~"); } db.Insert(Index, new MemberQueryRecordModel() { Index = Index }); } using (var conn = new LiteDatabase(LazySlotDBPath)) { // Get customer collection var db = conn.GetCollection <HighQualityResModel>("HighQualityStock"); int index = new Random().Next(0, db.Count()); var item = db.FindAll().Select(x => new { x.StockNum, x.StockName }).ToList()[index]; result.Result = new { item.StockNum, item.StockName }; } result.Code = ResponseCodeEnum.Success; } catch (Exception e) { result.Code = ResponseCodeEnum.Failed; result.Message = e.Message; } return(Json(result, JsonRequestBehavior.AllowGet)); }