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" }); } }
public static bool CheckUsername(string username) { using (var context = new BitcoinApiContext()) { var isUsernameExist = context.Users.Any(u => u.Username == username); return(isUsernameExist); } }
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); } }
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); } }
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; } }
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" }); } }