public static OcconModel GetData(bool restore) { if (restore) { List = null; } if (List != null && List.EndTime > DateTime.Now) { var nowtime = DateTime.Now.ToLongTimeString(); var finishtime = List.EndTime.ToLongTimeString(); TimeSpan duration = DateTime.Parse(finishtime).Subtract(DateTime.Parse(nowtime)); List.BalanceTime = duration.ToString(@"mm\:ss"); return(List); } else if (List == null || List.EndTime <= DateTime.Now) { if (List != null) { OcconModel xxx = _redisManager.Get <OcconModel>(List.Key.ToString()); } var r = new Random(); var endtime = DateTime.Now.AddMinutes(2); List = new OcconModel { Key = Guid.NewGuid(), EndTime = endtime, BalanceTime = endtime.ToString("dd.MM.yyyy HH:mm:ss"), Bidders = new List <Bidder> { new Bidder { Name = "User 1", Price = r.Next(1, 60) }, new Bidder { Name = "User 2", Price = r.Next(1, 60) }, new Bidder { Name = "User 3", Price = r.Next(1, 60) } } }; var highest = List.Bidders.OrderByDescending(x => x.Price).FirstOrDefault(); List.HighestBid = highest.Price; List.HighestBidder = highest.Name; _redisManager.Set(List.Key.ToString(), List); return(List); } return(List); }
public async Task RestoreData() { OcconModel data = DbManager.GetData(true); await Clients.All.SendAsync("RestoreData", data); }
public async Task SendPlaceBid(string name, decimal price, int id) { OcconModel data = DbManager.SetData(name, price, id); await Clients.All.SendAsync("ClientToData", data); }