Exemple #1
0
        public IEnumerable <Event> Get()
        {
            IEnumerable <Event> eventList = null;

            using (var context = new DataAccess.bkContext())
            {
                eventList = context.Events.Select(ev => JsonConvert.DeserializeObject <Event>(ev.jsonData)).ToList();
            }

            return(eventList);
        }
Exemple #2
0
        public updInfo Get()
        {
            updInfo _updInfo = null;

            using (var context = new DataAccess.bkContext())
            {
                _updInfo = context.updInfo.SingleOrDefault();
            }

            return(_updInfo);
        }
Exemple #3
0
        public void Delete(int id)
        {
            using (var context = new DataAccess.bkContext())
            {
                var msg = context.Messages.SingleOrDefault(m => m.Id == id);
                if (msg != null)
                {
                    context.Remove(msg);

                    context.SaveChanges();
                }
            }
        }
Exemple #4
0
        public IEnumerable <Message> Get()
        {
            IEnumerable <Message> messageList = null;

            using (var context = new DataAccess.bkContext())
            {
                messageList = context.Messages.Where(m => m.Sent == false).Select(msg => new Message()
                {
                    id          = msg.Id,
                    messageBody = msg.MessageBody
                }).ToList();
            }

            return(messageList);
        }
Exemple #5
0
        public IActionResult Post([FromBody] updInfo updInfo)
        {
            using (var context = new DataAccess.bkContext())
            {
                var _updInfo = context.updInfo.SingleOrDefault();

                if (_updInfo != null)
                {
                    _updInfo.lastUpd     = updInfo.lastUpd;
                    _updInfo.updDuration = updInfo.updDuration;

                    context.SaveChanges();
                }
            }

            return(Ok());
        }
Exemple #6
0
        public IActionResult Post([FromBody] IEnumerable <Event> events)
        {
            using (var context = new DataAccess.bkContext())
            {
                var currentEvents = context.Events.ToList();

                IList <DataAccess.Event> eventRange = new List <DataAccess.Event>();

                foreach (Event _event in events)
                {
                    var curr = currentEvents.SingleOrDefault(c => c.EventId == _event.id);

                    if (curr != null)
                    {
                        //update current
                        curr.jsonData = JsonConvert.SerializeObject(_event);
                    }
                    else
                    {
                        //create new
                        DataAccess.Event dbEvent = new DataAccess.Event();
                        dbEvent.EventId    = _event.id;
                        dbEvent.jsonData   = JsonConvert.SerializeObject(_event);
                        dbEvent.HasMessage = false;
                        eventRange.Add(dbEvent);
                    }
                }

                context.Events.AddRange(eventRange);

                var ids           = events.Select(e => e.id);
                var eventToDelete = currentEvents.Select(c => c.EventId).Except(ids);

                //delete old
                if (eventToDelete.Count() > 0)
                {
                    context.Events.RemoveRange(currentEvents.Where(c => eventToDelete.Contains(c.EventId)));
                }

                context.SaveChanges();
            }

            using (var context = new DataAccess.bkContext())
            {
                //make messages
                var eventsToAnalys = context.Events.Where(e => e.HasMessage == false).ToList();

                DrawFootballStrategy drawFootball = new DrawFootballStrategy();
                DrawHockeyStrategy   drawHockey   = new DrawHockeyStrategy();

                IList <DataAccess.Event> toSend = new List <DataAccess.Event>();

                foreach (var ev in eventsToAnalys)
                {
                    var obj = JsonConvert.DeserializeObject <Event>(ev.jsonData);

                    //football
                    if (obj.gameId == 33 && drawFootball.Check(obj))
                    {
                        toSend.Add(ev);
                    }

                    //hockey
                    if (obj.gameId == 31 && drawHockey.Check(obj))
                    {
                        toSend.Add(ev);
                    }
                }

                if (toSend.Count > 0)
                {
                    System.Text.StringBuilder sb = new System.Text.StringBuilder();
                    foreach (var ev in toSend)
                    {
                        var obj = JsonConvert.DeserializeObject <Event>(ev.jsonData);

                        if (obj.gameId == 31)
                        {
                            sb.AppendLine("Hockey");
                        }

                        if (obj.gameId == 33)
                        {
                            sb.AppendLine("Football");
                        }
                        sb.AppendLine(obj.eventTitle);
                        sb.AppendLine("Bet to Draw");
                        sb.AppendLine();

                        ev.HasMessage = true;
                    }

                    context.Messages.Add(new DataAccess.Message()
                    {
                        MessageBody = sb.ToString(),
                        Sent        = false
                    });

                    context.SaveChanges();
                }
            }

            return(Ok(1));
        }