Ejemplo n.º 1
0
        public static Response SaveWallet(string address)
        {
            using (var context = new BitcoinApiContext())
            {
                try
                {
                    var wallet = new Wallet {
                        Address = address, Balance = null
                    };
                    context.Wallets.Add(wallet);
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    var exceptionResponse = new Response
                    {
                        IsSuccessful = false,
                        Message      = e.Message
                    };
                    return(exceptionResponse);
                }

                return(new Response {
                    IsSuccessful = true, Message = "Success"
                });
            }
        }
Ejemplo n.º 2
0
 public static bool CheckUsername(string username)
 {
     using (var context = new BitcoinApiContext())
     {
         var isUsernameExist = context.Users.Any(u => u.Username == username);
         return(isUsernameExist);
     }
 }
Ejemplo n.º 3
0
        public static bool CheckPassword(string username, string password)
        {
            using (var context = new BitcoinApiContext())
            {
                var userId = context.Users.Where(u => u.Username == username).Select(u => u.Id).FirstOrDefault();
                var salt   = context.Users.Where(u => u.Id == userId).Select(u => u.Salt).FirstOrDefault();
                var hashPasswordFormBase =
                    context.Users.Where(u => u.Id == userId).Select(u => u.Password).FirstOrDefault();
                var hashedPassword = HashPassword(salt, password);

                return(hashedPassword == hashPasswordFormBase);
            }
        }
Ejemplo n.º 4
0
 public static List <TransactionInformation> GetLastTransactions()
 {
     using (var context = new BitcoinApiContext())
     {
         var transactions = context.Transactions.Where(t => t.Confirmations < 3).Select(t =>
                                                                                        new TransactionInformation
         {
             Address       = t.Wallet.Address,
             Amount        = t.Amount,
             Confirmations = t.Confirmations,
             Date          = t.Date
         }).ToList();
         return(transactions);
     }
 }
Ejemplo n.º 5
0
        private static int GetAddressId(string address)
        {
            using (var context = new BitcoinApiContext())
            {
                var isAddressExist = context.Wallets.Any(w => w.Address == address);
                if (isAddressExist)
                {
                    return(context.Wallets.Where(w => w.Address == address).Select(w => w.Id).FirstOrDefault());
                }

                var response = DatabaseMethods.SaveWallet(address);
                if (response.IsSuccessful)
                {
                    return(context.Wallets.Where(w => w.Address == address).Select(w => w.Id).FirstOrDefault());
                }
                var exception = new Exception(response.Message);
                throw exception;
            }
        }
Ejemplo n.º 6
0
        public static Response SaveTransaction(Transaction information)
        {
            using (var context = new BitcoinApiContext())
            {
                try
                {
                    context.Transactions.Add(information);
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    var exceptionResponse = new Response
                    {
                        IsSuccessful = false,
                        Message      = e.Message
                    };
                    return(exceptionResponse);
                }

                return(new Response {
                    IsSuccessful = true, Message = "Success"
                });
            }
        }