public void UpdateDelegateAccured(string addr, int cycle, long accured) { RunIsolatedDb(db => { var d = db.Delegates.FirstOrDefault(o => o.Address == addr); if (d == null) { d = new Delegate { Address = addr }; db.Delegates.Add(d); } var dr = db.DelegateRewards.FirstOrDefault(o => o.Cycle == cycle && o.DelegateId == d.Id); if (dr == null) { dr = new DelegateRewards { Cycle = cycle }; dr.Delegate = d; db.DelegateRewards.Add(dr); } dr.Accured = accured; db.SaveChanges(); }); }
public List <DelegateRewards> GetDelegateRewards(string account) { var client = new HttpClient { BaseAddress = new Uri(Url) }; var response = client.GetAsync($"delegator_rewards_with_details/{account}").Result; if (response.IsSuccessStatusCode) { var result = response.Content.ReadAsStringAsync().Result; var bakerRewards = DelegateRewards.FromJson(result); return(bakerRewards); } Log.Info($"{(int)response.StatusCode} ({response.ReasonPhrase})"); client.Dispose(); return(null); }
private string GetText(DelegateRewards reward) { switch (reward.Status.Status) { case StatusEnum.RewardsPending: return("❄️ Rewards Pending"); case StatusEnum.CycleInProgress: return($"🔄 In Progress ({_approxFinish.ToPrettyFormat()})"); case StatusEnum.CyclePending: return("⏲️ Cycle Pending"); default: return(""); } }