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); }
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); } } }