Ejemplo n.º 1
0
        public String AddMatch()
        {
            if (Request.Cookies["user"] == null)
            {
                //return RedirectToAction("Login", "User");
            }
            string username = Logged_username();
            var    dal      = new Competition_services();
            Stream req      = Request.InputStream;

            req.Seek(0, System.IO.SeekOrigin.Begin);
            string            json         = new StreamReader(req).ReadToEnd();
            DeserializedModel deserialized = JsonConvert.DeserializeObject <DeserializedModel>(json);

            dal.ProcessMatch(deserialized, username);
            string x = Request.Url.AbsolutePath;

            x = x.Replace("AddMatch", "ViewMatch");
            return(x);
        }
Ejemplo n.º 2
0
        public void ProcessMatch(DeserializedModel deserialized, string username)
        {
            using (var ctx = new Context())
            {
                Match currentMatch = ctx.Matches.Include("League").FirstOrDefault(m => m.ID == deserialized.ID);
                try
                {
                    currentMatch.Locked = true;
                    currentMatch.Date   = Convert.ToDateTime(deserialized.Date);
                    ctx.SaveChanges();
                }
                catch (DbEntityValidationException ex)
                {
                    Console.WriteLine(ex);
                }

                if (deserialized.Comment != null)
                {
                    try
                    {
                        Match_comment commentDB = new Match_comment();
                        commentDB.Comment = deserialized.Comment;
                        commentDB.Active  = true;
                        commentDB.Date    = DateTime.UtcNow;
                        commentDB.Match   = currentMatch;
                        commentDB.User    = ctx.Users.FirstOrDefault(u => u.Username == username);
                        ctx.Match_comments.Add(commentDB);
                        ctx.SaveChanges();
                    }
                    catch (DbEntityValidationException ex)
                    {
                        Console.WriteLine(ex);
                    }
                }

                foreach (var one in deserialized.Events)
                {
                    try
                    {
                        Event matchEvent = new Event();
                        matchEvent.Length    = one.LE;
                        matchEvent.Timestamp = DateTime.UtcNow;
                        matchEvent.Time      = one.DA;
                        matchEvent.Name      = one.Name;
                        if (one.PO1 != "")
                        {
                            matchEvent.Points1 = Convert.ToInt32(one.PO1);
                        }
                        if (one.PO2 != "")
                        {
                            matchEvent.Points2 = Convert.ToInt32(one.PO2);
                        }
                        matchEvent.Match = currentMatch;
                        var dal = new Player_services();
                        if (one.Player1)
                        {
                            matchEvent.Player1 = ctx.Players.FirstOrDefault(m => m.Name == one.P1);
                        }
                        if (one.Player2)
                        {
                            matchEvent.Player2 = ctx.Players.FirstOrDefault(m => m.Name == one.P2);
                        }
                        ctx.Events.Add(matchEvent);
                        ctx.SaveChanges();
                    }
                    catch (DbEntityValidationException ex)
                    {
                        Console.WriteLine(ex);
                    }
                }
                if (!currentMatch.League.Type_of_competition.LeagueCup)
                {
                    CupNextMatch(currentMatch.ID);
                }
            }
        }