public void ActivateAddress(long userId) { lock (dbLocker) { var address = _db.Addresses.FirstOrDefault(c => c.UserId == userId); address.IsNotificationEnabled = !address.IsNotificationEnabled; address.IsMessageSended = false; _db.Entry(address).State = Microsoft.EntityFrameworkCore.EntityState.Modified; _db.SaveChanges(); } }
public bool AddAddress(long userId, string address) { try { bool isSuccess = false; if (AddressUtil.IsChecksumAddress(address) || AddressUtil.IsValidEthereumAddressHexFormat(address)) { lock (dbLocker) { using (var db = new AddressesCheckerContext()) { if (db.Addresses.Any(c => c.UserId == userId)) { ExecuteSql($"DELETE FROM Addresses WHERE UserId='{userId}'"); } var balance = CheckBalance(address).Result; db.Addresses.Add(new Address(address, userId) { Balance = balance }); db.SaveChanges(); isSuccess = true; } } } else { Send(new MessageSentEventArgs() { Target = userId.ToString(), Response = new CommandResponse($"Looks like `{address}` is not valid eth address, you have to check it`", parseMode: Telegram.Bot.Types.Enums.ParseMode.Markdown) }); return(false); } return(isSuccess); } catch (Exception ex) { Send(new MessageSentEventArgs() { Target = userId.ToString(), Response = new CommandResponse($"Exception `{ex.Message}` happened at your request, try again.", parseMode: Telegram.Bot.Types.Enums.ParseMode.Markdown) }); return(false); } }