示例#1
0
        /// <summary>
        /// Добавление блока данных.
        /// </summary>
        /// <param name="version"> Версия блока. </param>
        /// <param name="createdOn"> Дата создания блока. </param>
        /// <param name="hash"> Хеш блока. </param>
        /// <param name="previousHash"> Хеш предыдущего блока. </param>
        /// <param name="data"> Данные блока. </param>
        /// <param name="user"> Данные о пользователе. </param>
        public void AddBlock(int version, DateTime createdOn, string hash, string previousHash, string data, User userFrom, User userTo, double money)
        {
            using (var db = new GlobalSQLContext())
            {
                var block = new  Block()
                {
                    Version      = version,
                    CreatedOn    = createdOn.ToLocalTime(),
                    Hash         = hash,
                    PreviousHash = previousHash,
                    Data         = data,
                    UserFrom     = db.Users.Single(x => x.UserId == userFrom.UserId),
                    UserTo       = db.Users.Single(x => x.UserId == userTo.UserId),
                    Money        = money
                };

                db.Blocks.Add(block);

                var userDetach = db.Users.Single(x => x.UserId == userFrom.UserId);
                userDetach.Money -= money;
                if (userDetach.UserId == Session.GetCurrentUser().UserId)
                {
                    Session.UpdateMoney(-money);
                }

                var userAttach = db.Users.Single(x => x.UserId == userTo.UserId);
                userAttach.Money += money;
                if (userAttach.UserId == Session.GetCurrentUser().UserId)
                {
                    Session.UpdateMoney(money);
                }

                db.SaveChanges();
            }
        }
示例#2
0
 /// <summary>
 /// Очистить хранилище. Удаление всех блоков.
 /// </summary>
 public void Clear()
 {
     using (var db = new GlobalSQLContext())
     {
         db.Blocks.RemoveRange(db.Blocks);
         db.SaveChanges();
     }
 }
示例#3
0
        /// <summary>
        /// Добавление пользователя.
        /// </summary>
        /// <param name="login"> Логин. </param>
        /// <param name="password"> Пароль. </param>
        public void AddUser(string login, string password, double money)
        {
            using (var db = new GlobalSQLContext())
            {
                var user = new User()
                {
                    Login    = login,
                    Password = password,
                    Money    = money
                };

                db.Users.Add(user);
                db.SaveChanges();
            }
        }