コード例 #1
0
 public UserCreateResult User_create(string loginName, string passwd, string name, int type, decimal cnyFree)
 {
     using (var gpEntities = new GPEntities())
     {
         return(gpEntities.user_create(loginName, Crypto.HashPassword(passwd), name, type, cnyFree).First() == 0 ? UserCreateResult.Ok : UserCreateResult.Repeat);
     }
 }
コード例 #2
0
 public CancelOrderResult Cancel_Order(long userId, long orderId)
 {
     using (var gpEntities = new GPEntities())
     {
         return(gpEntities.cancel_order(userId, orderId).First() == 0 ? CancelOrderResult.Ok : CancelOrderResult.Wrong);
     }
 }
コード例 #3
0
 private static string GetHashedPassword(long userId)
 {
     using (var gpEntities = new GPEntities())
     {
         return(gpEntities.users.FirstOrDefault(u => u.user_id == userId)?.passwd);
     }
 }
コード例 #4
0
 private static long?GetUserId(string loginName)
 {
     using (var gpEntities = new GPEntities())
     {
         var q = gpEntities.users.FirstOrDefault(u => u.login_name == loginName);
         return(q?.user_id);
     }
 }
コード例 #5
0
 public static bool IsEmailExists(string email)
 {
     using (GPEntities db = new GPEntities())
     {
         var exist = db.Patients.Where(p => p.Email == email).FirstOrDefault();
         return(exist != null);
     }
 }
コード例 #6
0
 public List <StockResult> GetAllStocks()
 {
     using (var gpEntities = new GPEntities())
     {
         return(gpEntities.stocks.Select(x => new StockResult {
             StockId = x.stock_id, Name = x.name, Price = x.price
         }).ToList());
     }
 }
コード例 #7
0
 public List <TransactionResult> GetRecentTrans(int stockId, int num)
 {
     using (var gpEntities = new GPEntities())
     {
         return(gpEntities.transactions.Where(x => x.stock_id == stockId).OrderBy(x => x.create_datetime).Take(num).Select(x => new TransactionResult()
         {
             CreateDateTime = x.create_datetime, Dealed = x.dealed, Price = x.deal_price, TranId = x.trans_id, TranType = x.type
         }).ToList());
     }
 }
コード例 #8
0
 public List <StockDepthResult> Stock_depth(int stockId, int type)
 {
     using (var gpEntities = new GPEntities())
     {
         var res = gpEntities.stock_depth(stockId, type).ToList();
         return(res.Select(x => new StockDepthResult()
         {
             Price = x.price,
             Num = x.num ?? 0
         }).ToList());
     }
 }
コード例 #9
0
 public List <UserStockResult> User_stock(long userId)
 {
     using (var gpEntities = new GPEntities())
     {
         var res = gpEntities.user_stock(userId).ToList();
         return(res.Select(x => new UserStockResult()
         {
             StockId = x.stock_id,
             NumFree = x.num_free,
             NumFreezed = x.num_freezed
         }).ToList());
     }
 }
コード例 #10
0
 public UserCnyResult User_cny(long userId)
 {
     using (var gpEntities = new GPEntities())
     {
         decimal?cnyFree    = 0;
         decimal?cnyFreezed = 0;
         decimal?gpMoney    = 0;
         var     cf         = new ObjectParameter("cny_free", cnyFree);
         var     cfed       = new ObjectParameter("cny_freezed", cnyFreezed);
         var     gm         = new ObjectParameter("gp_money", gpMoney);
         gpEntities.user_cny(userId, cf, cfed, gm);
         return(new UserCnyResult(cf.Value as decimal? ?? 0, cfed.Value as decimal? ?? 0, gm.Value as decimal? ?? 0));
     }
 }
コード例 #11
0
 private static void GetUserInfo(long userId, out string name, out int?type)
 {
     using (var gpEntities = new GPEntities())
     {
         var q = gpEntities.users.FirstOrDefault(u => u.user_id == userId);
         if (q != null)
         {
             name = q.name;
             type = q.type;
         }
         else
         {
             name = null;
             type = null;
         }
     }
 }
コード例 #12
0
        public ExecOrderResult Exec_Order(long userId, int stockId, int type, decimal price, int amount)
        {
            using (var gpEntities = new GPEntities())
            {
                switch (gpEntities.exec_order(userId, stockId, type, price, amount).First())
                {
                case 0: return(ExecOrderResult.Ok);

                case -1: return(ExecOrderResult.NotEnoughCnyFree);

                case -2: return(ExecOrderResult.NotEnoughNumFree);

                case -3: return(ExecOrderResult.Wrong);

                default: return(ExecOrderResult.Wrong);
                }
            }
        }
コード例 #13
0
 public StockResult GetStock(int stockId, DateTime dateTime)
 {
     using (var gpEntities = new GPEntities())
     {
         var s = gpEntities.stocks.FirstOrDefault(x => x.stock_id == stockId);
         Debug.Assert(s != null, nameof(s) + " != null");
         var q = gpEntities.transactions.Where(x => x.stock_id == stockId && dateTime > x.create_datetime)
                 .OrderBy(x => x.create_datetime).ToList();
         var qday    = q.Where(x => dateTime - x.create_datetime >= TimeSpan.FromDays(1)).ToList();
         var qremain = q.Except(qday);
         var qf      = qday.LastOrDefault() ?? qremain.FirstOrDefault();
         return(qf != null ? new StockResult {
             StockId = stockId, Name = s.name, Price = qf.deal_price
         } : new StockResult {
             StockId = stockId, Name = s.name, Price = s.price
         });
     }
 }
コード例 #14
0
 public List <UserOrderResult> User_order(long userId)
 {
     using (var gpEntities = new GPEntities())
     {
         var res = gpEntities.user_order(userId).ToList();
         return(res.Select(x => new UserOrderResult
         {
             OrderId = x.order_id,
             CreateDatetime = x.create_datetime,
             UserId = x.user_id,
             StockId = x.stock_id,
             Type = x.type,
             Price = x.price,
             Undealed = x.undealed,
             Dealed = x.dealed,
             Canceled = x.canceled
         }).ToList());
     }
 }
コード例 #15
0
 public UserRepasswdResult User_repasswd(long userId, string oldPasswd, string newPasswd)
 {
     using (var gpEntities = new GPEntities())
     {
         var hashedPassword = GetHashedPassword(userId);
         if (hashedPassword == null)
         {
             return(UserRepasswdResult.Wrong);
         }
         if (!Crypto.VerifyHashedPassword(hashedPassword, oldPasswd))
         {
             return(UserRepasswdResult.Wrong);
         }
         var hashedNewPasswd = Crypto.HashPassword(newPasswd);
         var q = gpEntities.users.FirstOrDefault(u => u.user_id == userId);
         if (q == null)
         {
             return(UserRepasswdResult.Wrong);
         }
         q.passwd = hashedNewPasswd;
         gpEntities.SaveChanges();
         return(UserRepasswdResult.Ok);
     }
 }