Пример #1
0
        public ActionResult SetOption(String Key, String Val)
        {
            BaseResModel <Object> result = new BaseResModel <Object>();

            try
            {
                // Open database (or create if not exits)
                using (var db = new LiteDatabase(StockFileLocalDirPath + @"Setting.db"))
                {
                    // Get customer collection
                    var SystemOptions = db.GetCollection <SystemOptionModel>("SystemOption");
                    SystemOptionModel SystemOption = new SystemOptionModel();
                    SystemOption.Key = Key;
                    SystemOption.Val = Val;
                    SystemOptions.Upsert(SystemOption.Key, SystemOption);
                }

                result.Code    = ResponseCodeEnum.Success;
                result.Message = "[Key]" + Key + "[Val]" + Val;
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
        public ActionResult Load()
        {
            BaseResModel <Object> result = new BaseResModel <Object>();

            try
            {
                //Common.Tools.AuthHelper.IsPowerAdmin(Request);
                Common.Tools.Setting.ReLoad();
                result.Code = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #4
0
        public ActionResult Update(String Groups, String Category, String Keys, String Value)
        {
            BaseResModel <Object> result = new BaseResModel <Object>();

            try
            {
                Common.Tools.AuthHelper.IsPowerAdmin(Request);
                Common.Tools.Setting.SetConfig(Groups, Category, Keys, Value);
                result.Code = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #5
0
        public ActionResult ClearDDOS()
        {
            BaseResModel <List <DDOSModel> > result = new BaseResModel <List <DDOSModel> >();

            try
            {
                AuthServcies.ddos.Clear();
                result.Result = AuthServcies.ddos.Values.ToList <DDOSModel>();
                result.Code   = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #6
0
        public ActionResult DDOS()
        {
            BaseResModel <List <DDOSModel> > result = new BaseResModel <List <DDOSModel> >();

            try
            {
                String LazyStockMemberDBPath = AppDomain.CurrentDomain.BaseDirectory + @"\App_Data\MemberInfo.db";
                result.Result = AuthServcies.ddos.Values.ToList <DDOSModel>();
                result.Code   = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #7
0
        /// <summary>
        /// 接收(Json)更新股價
        /// </summary>
        /// <returns></returns>
        public ActionResult ReceiveByDeilyPrice(ReceiveByDeilyPriceReqModel ReqParam)
        {
            BaseResModel<Object> result = new BaseResModel<Object>();
            try
            {
                Common.Tools.AuthHelper.IsPowerAdmin(Request);
                int SuccCount = 0;
                int FailCount = 0;
                // Open database (or create if not exits)
                using (var db = new LiteDatabase(LazyStockDBPath))
                {
                    // Get customer collection
                    var StockInfos = db.GetCollection<StockInfoResModel>("StockInfo");

                    for (int i = 0; i < ReqParam.StockPrices.Count; i++)
                    {
                        StockPriceDataModel items = ReqParam.StockPrices[i];
                        try
                        {
                            var DbStockPrice = StockInfos.FindById(items.StockNum);
                            if (DbStockPrice == null)
                                continue;

                            DbStockPrice.Price = Math.Round(items.StockPrice, 2);
                            DbStockPrice.PriceModifyDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
                            StockInfos.Update(items.StockNum, DbStockPrice);
                            SuccCount++;
                        }
                        catch
                        {
                            FailCount++;
                        }
                    }
                }

                result.Message = "成功:" + SuccCount.ToString() + ",失敗:" + FailCount.ToString();
                result.Code = ResponseCodeEnum.Success;
                LogHelper.doLog("ReceiveByDeilyPrice", result.Message);
            }
            catch (Exception e)
            {
                result.Code = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return Json(result, JsonRequestBehavior.AllowGet);
        }
Пример #8
0
        /// <summary>
        /// [接收股票訊息][修改LiteDB]
        /// </summary>
        /// <returns></returns>
        public ActionResult ReceiveByStockInfo(ReceiveByStockInfoReqModel ReqParam)
        {
            BaseResModel<Object> result = new BaseResModel<Object>();
            try
            {
                Common.Tools.AuthHelper.IsPowerAdmin(Request);
                int SuccCount = 0;
                int FailCount = 0;
                // Open database (or create if not exits)
                using (var db = new LiteDatabase(LazyStockDBPath))
                {
                    // Get customer collection
                    var StockInfos = db.GetCollection<StockInfoResModel>("StockInfo");

                    for (int i = 0; i < ReqParam.StockInfos.Count; i++)
                    {
                        StockInfoResModel items = ReqParam.StockInfos[i];
                        try
                        {
                            //int IDKey = Int32.Parse(items.Num);
                            //var DbStockInfo = StockInfos.FindById(items.Num.ToString());
                            //if (DbStockInfo == null)
                            //  continue;
                            StockInfos.Delete(items.StockNum);
                            StockInfos.Insert(items.StockNum, items);
                            SuccCount++;
                        }
                        catch
                        {
                            FailCount++;
                        }
                    }
                }

                result.Message = "成功:" + SuccCount.ToString() + ",失敗:" + FailCount.ToString();
                result.Code = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return Json(result, JsonRequestBehavior.AllowGet);
        }
Пример #9
0
        /// <summary>
        /// [接收高品質高股訊息][修改LiteDB]
        /// </summary>
        /// <returns></returns>
        public ActionResult ReceiveByHighQualityList(ReceiveByHighQualityListReqModel ReqParam)
        {
            BaseResModel<HighQualityResModel> result = new BaseResModel<HighQualityResModel>();
            try
            {
                Common.Tools.AuthHelper.IsPowerAdmin(Request);
                int SuccCount = 0;
                int FailCount = 0;
                // Open database (or create if not exits)
                using (var db = new LiteDatabase(LazySlotDBPath))
                {
                    // Get customer collection
                    var HighQualityStock = db.GetCollection<HighQualityResModel>("HighQualityStock");

                    var lists = HighQualityStock.FindAll();
                    foreach (var row in lists)
                        HighQualityStock.Delete(row.StockNum);

                    for (int i = 0; i < ReqParam.HighQualityStock.Count; i++)
                    {
                        HighQualityResModel items = ReqParam.HighQualityStock[i];
                        try
                        {
                            HighQualityStock.Insert(items.StockNum, items);
                            SuccCount++;
                        }
                        catch
                        {
                            FailCount++;
                        }
                    }
                }

                result.Message = "成功:" + SuccCount.ToString() + ",失敗:" + FailCount.ToString();
                result.Code = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return Json(result, JsonRequestBehavior.AllowGet);
        }
Пример #10
0
        public ActionResult Member()
        {
            BaseResModel <List <MemberInfoModel> > result = new BaseResModel <List <MemberInfoModel> >();

            try
            {
                String          LazyStockMemberDBPath = AppDomain.CurrentDomain.BaseDirectory + @"\App_Data\MemberInfo.db";
                MemberInfoModel member = new MemberInfoModel();
                using (var db = new LiteDatabase(LazyStockMemberDBPath))
                {
                    var MemberInfos = db.GetCollection <MemberInfoModel>("MemberInfo");

                    result.Result = MemberInfos.FindAll().ToList();
                }

                result.Code = ResponseCodeEnum.Success;
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #11
0
        /// <summary>
        /// 取得股票資訊
        /// </summary>
        /// <returns></returns>
        public ActionResult ClearMemberQuery()
        {
            var result = new BaseResModel <Object>();

            try
            {
                using (var conn = new LiteDatabase(LazySlotDBPath))
                {
                    var db    = conn.GetCollection <MemberQueryRecordModel>("MemberQueryRecord");
                    var lists = db.FindAll();
                    foreach (var row in lists)
                    {
                        db.Delete(row.Index);
                    }
                }
            }
            catch (Exception e)
            {
                result.Code    = ResponseCodeEnum.Failed;
                result.Message = e.Message;
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #12
0
        /// <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));
        }