Пример #1
0
        public async Task <BetEvent> UpdateAsync(BetEvent betEvent)
        {
            var command = CommandBuilder.BuildUpdateEventCommand(betEvent, connection);

            command.ExecuteReader();
            return(await GetByIdAsync(betEvent.Id));
        }
Пример #2
0
        public async Task GetAllTest()
        {
            var repo         = new EventRepository(new Deserializer());
            var lengthBefore = (await repo.GetAllAsync()).Count;
            var event1       = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 1000000
            };
            await repo.CreateAsync(event1);

            Thread.Sleep(1000);
            var event2 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name2", Description = "desc2", BetDeadline = DateTime.Now, CreatorId = event1.CreatorId
            };
            await repo.CreateAsync(event2);

            Thread.Sleep(1000);
            var event3 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name3", Description = "desc3", BetDeadline = DateTime.Now, CreatorId = event1.CreatorId
            };
            await repo.CreateAsync(event3);

            var events = await repo.GetAllAsync();

            Assert.AreEqual(lengthBefore + 3, events.Count);
        }
Пример #3
0
        public async Task DeleteTest()
        {
            var repo   = new EventRepository(new Deserializer());
            var event1 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 389
            };
            await repo.CreateAsync(event1);

            await repo.DeleteAsync(event1.Id);
        }
Пример #4
0
        public async Task CreateTest()
        {
            var repo   = new EventRepository(new Deserializer());
            var event1 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 235
            };
            var createdEvent = await repo.CreateAsync(event1);

            Assert.AreEqual(event1.Id, createdEvent.Id);
        }
Пример #5
0
        public async Task UpdateTest()
        {
            var repo   = new EventRepository(new Deserializer());
            var event1 = new BetEvent
            {
                Id = Guid.NewGuid(), Name = "name1", Description = "desc1", BetDeadline = DateTime.Now, CreatorId = 134
            };
            await repo.CreateAsync(event1);

            var event2 = new BetEvent
            {
                Id = event1.Id, Name = "namenew", Description = "descnew", BetDeadline = DateTime.Now, CreatorId = event1.CreatorId
            };
            var updatedEvent = await repo.UpdateAsync(event2);

            Assert.AreEqual(updatedEvent.Id, event1.Id);
        }
        public void HandleHandHistory(string handHistory)
        {
            _summary = false;
            ResetOpponentsEvent?.Invoke();

            foreach (var line in handHistory.Split('\n'))
            {
                if (line.Contains("Seat") && !line.Contains("button") && !_summary)
                {
                    var split = line.Split(':');
                    var name  = split[1].Substring(1, split[1].IndexOf('(') - 2);
                    if (name == Controller.User.UserName)
                    {
                        continue;
                    }

                    if (!Controller.Opponents.ContainsKey(name))
                    {
                        Controller.Opponents[name] = new Opponent {
                            Name = name, HandsPlayed = 1
                        }
                    }
                    ;
                    else
                    {
                        Controller.Opponents[name].HandsPlayed++;
                        Controller.Opponents[name].InPlay = true;
                    }
                }
                else if (line.Contains("HOLE") || line.Contains("FLOP") || line.Contains("TURN") ||
                         line.Contains("RIVER") || line.Contains("SHOW DOWN") || line.Contains("SUMMARY"))
                {
                    var split = line.Split(' ');
                    SetHandHistoryStateEvent?.Invoke(split[1]);

                    if (line.Contains("SUMMARY"))
                    {
                        _summary = true;
                    }
                }
                else if (line.Contains(Controller.User.UserName) && line.Contains("collected"))
                {
                    SetHandWonEvent?.Invoke();
                }
                else if (line.Contains(Controller.User.UserName))
                {
                    if (line.Contains("calls"))
                    {
                        CallEvent?.Invoke();
                    }
                    else if (line.Contains("bets"))
                    {
                        BetEvent?.Invoke();
                    }
                    else if (line.Contains("raises"))
                    {
                        RaiseEvent?.Invoke();
                    }
                    else if (line.Contains("checks"))
                    {
                        CheckEvent?.Invoke();
                    }
                    else if (line.Contains("folds"))
                    {
                        FoldEvent?.Invoke();
                    }
                }
                else if (line.Contains("Hand #"))
                {
                    var split = line.Split(' ');
                    SetHandNumEvent?.Invoke(split[2]);
                }
                else if (line.Contains("calls"))
                {
                    var user = line.Split(':')[0];
                    OpponentCallEvent?.Invoke(user);
                }
                else if (line.Contains("checks"))
                {
                    var user = line.Split(':')[0];
                    OpponentCheckEvent?.Invoke(user);
                }
                else if (line.Contains("bets"))
                {
                    var user = line.Split(':')[0];
                    OpponentBetEvent?.Invoke(user);
                }
                else if (line.Contains("raises"))
                {
                    var user = line.Split(':')[0];
                    OpponentRaiseEvent?.Invoke(user);
                }
                else if (line.Contains("folds"))
                {
                    var user = line.Split(':')[0];
                    OpponentFoldEvent?.Invoke(user);
                }
            }
        }
Пример #7
0
 public static SQLiteCommand BuildUpdateEventCommand(BetEvent betEvent, SQLiteConnection connection)
 {
     return(new SQLiteCommand(string.Format("UPDATE events SET name = '{0}', description = '{1}', betdeadline = '{2}', outcomes = '{3}', creator_id = {4} WHERE id = '{5}'",
                                            betEvent.Name, betEvent.Description, betEvent.BetDeadline.ToString(), betEvent.Outcomes, betEvent.CreatorId, betEvent.Id.ToString()), connection));
 }
Пример #8
0
 public static SQLiteCommand BuildCreateEventCommand(BetEvent betEvent, SQLiteConnection connection)
 {
     return(new SQLiteCommand(string.Format("INSERT INTO events VALUES('{0}', '{1}', '{2}', '{3}', '{4}', {5})", betEvent.Id.ToString(),
                                            betEvent.Name, betEvent.Description, betEvent.BetDeadline.ToString(), betEvent.Outcomes, betEvent.CreatorId), connection));
 }