Пример #1
0
        public ActionResult GetTnForSchedule(int id)
        {
            var tn = _context.Tournaments
                     .Include(c => c.Classes.Select(x => x.PlayingDates))
                     .SingleOrDefault(z => z.Id == id);

            var tournament = new SchedulerV3.Dtos.Tournament();

            foreach (var item in tn.Courts)
            {
                var court = new SchedulerV3.Dtos.Court();
                court.Id           = item.Id;
                court.TournamentId = tn.Id;
                court.Name         = item.Name;
                tournament.Courts.Add(court);
            }
            foreach (var item in tn.Classes)
            {
                var @class = new SchedulerV3.Dtos.Class();
                @class.Id           = item.Id;
                @class.TournamentId = tn.Id;
                @class.Name         = item.Name;
                foreach (var plDate in item.PlayingDates)
                {
                    var plDat = new Dtos.PlayingDate();
                    plDat.Id           = plDate.Id;
                    plDat.Date         = plDate.Date.ToString("yyyy-MM-ddTHH:mm:ss");
                    plDat.StartTime    = plDate.StartTime.ToString("yyyy-MM-ddTHH:mm:ss");
                    plDat.EndTime      = plDate.EndTime.ToString("yyyy-MM-ddTHH:mm:ss");
                    plDat.TournamentId = tn.Id;
                    @class.PlayingDates.Add(plDat);
                }
                tournament.Classes.Add(@class);
            }
            var _generator = new MatchGenerator();
            var matches    = _generator.GenerateMatches2(tn);

            foreach (var item in matches)
            {
                var match = new SchedulerV3.Dtos.Match();
                match.Id           = item.Id;
                match.ClassId      = (int)item.ClassId;
                match.TournamentId = tn.Id;
                match.Round        = item.Round;
                tournament.Matches.Add(match);
            }



            tournament.StartDate = tn.StartDate.ToString("yyyy-MM-ddTHH:mm:ss");
            tournament.EndDate   = tn.EndDate.ToString("yyyy-MM-ddTHH:mm:ss");
            //tournament = new Dtos.Tournament();
            var check = Json(new { data = tournament }, JsonRequestBehavior.AllowGet);

            return(check);
            //var json = JsonConvert.SerializeObject(tournament);
            //return Json(json, JsonRequestBehavior.AllowGet);
            //return Json(new { data = tournament });
            //return View("Schedule2", viewModel);
        }