Пример #1
0
        public IActionResult GetSportsOfaTeam(Guid id)
        {
            IEnumerable <Sport> team = teamService.SportsOfATeam(id);

            if (team == null)
            {
                return(NotFound());
            }
            return(Ok(SportModel.ToModel(team)));
        }
Пример #2
0
        public WidgetSport(SportModel widget) : base(widget)
        {
            InitializeComponent();

            //var info = JsonConvert.DeserializeObject<SportWidgetInfo>(widget.Infos.First());

            //TitleTb.Text = info.Competition;
            //Score1Tb.Text = info.Score1.ToString();
            //Score2Tb.Text = info.Score2.ToString();
            //Team1Tb.Text = info.Team1;
            //Team2Tb.Text = info.Team2;
        }
Пример #3
0
        public IHttpActionResult Sport([FromUri] Guid Id)
        {
            var result = new BaseResult();

            result.ResultCode    = "1";
            result.ResultMessage = "Error";
            var        sport = new SportRecordDAL().GetListByUserId(Id);
            SportModel model = new SportModel();

            model.Count          = sport.Count;
            model.LastTime       = sport.Sum(a => a.SportLastTime.Value);
            result.ResultCode    = "0";
            result.ResultMessage = "Success";
            result.ResultData    = model;
            return(Ok(result));
        }
Пример #4
0
        public ActionResult Details(int id)
        {
            var dbmodel = DbContext.Sports.FirstOrDefault(x => x.SportId == id);

            if (dbmodel == null)
            {
                return(HttpNotFound());
            }

            var model = new SportModel
            {
                Name        = dbmodel.Name,
                Description = dbmodel.Description,
                Rules       = dbmodel.Rules
            };

            return(View("Details", model));
        }
Пример #5
0
        private void SyncEventInDb(Sport currentSport, SportModel updatedSportModel, SyncRequirement syncRequirement, IUnitOfWork uow)
        {
            var toAddModel = updatedSportModel.Events.Where(x => syncRequirement.Add.Contains(x.Id));
            var toAdd      = _mapper.Map <IEnumerable <Event> >(toAddModel);

            toAdd = toAdd.Select(x =>
            {
                x.SportId = currentSport.Id;
                return(x);
            });

            var toUpdateModels = updatedSportModel.Events.Where(x => syncRequirement.Update.Contains(x.Id));
            var toUpdate       = _mapper.Map <IEnumerable <Event> >(toUpdateModels);

            toUpdate = toUpdate.Select(x =>
            {
                x.SportId = currentSport.Id;
                return(x);
            });

            var toDelete = _mapper.Map <IEnumerable <Event> >(currentSport.Events.Where(x => syncRequirement.Delete.Contains(x.Id)));

            var eventRepository = uow.GetRepository <Event>();

            eventRepository.Delete(toDelete);
            eventRepository.Add(toAdd);
            eventRepository.Update(toUpdate);

            if (toUpdateModels.Any())
            {
                matchesUpdatedEvent?.Invoke(toUpdateModels.SelectMany(x => x.Matches));
            }
            if (toAddModel.Any())
            {
                matchesAddedEvent?.Invoke(toAddModel.SelectMany(x => x.Matches));
            }
            if (syncRequirement.Delete.Any())
            {
                matchesRemovedEvent?.Invoke(syncRequirement.Delete);
            }
        }
Пример #6
0
        public List <TournamentModel> GetAllTournaments()
        {
            List <TournamentModel> output;

            using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(GlobalConfig.GetConnectionString("WISGScoringDB")))
            {
                output = connection.Query <TournamentModel>("dbo.spTournaments_GetAll", commandType: CommandType.StoredProcedure).ToList();
                foreach (TournamentModel t in output)
                {
                    string            sportName = "";
                    List <SportModel> allSports = GetSports();
                    SportModel        sport     = allSports.Where(x => x.Id == t.SportId).First();
                    sportName = sport.SportName;
                    string gender = "";
                    if (t.Gender == Gender.Boys)
                    {
                        gender = "Boys";
                    }
                    else if (t.Gender == Gender.Girls)
                    {
                        gender = "Girls";
                    }
                    else
                    {
                        gender = "";
                    }

                    if (gender == "")
                    {
                        t.TournamentName = sportName;
                    }
                    else
                    {
                        t.TournamentName = $"{gender} {sportName}";
                    }
                }

                // Populate teams
                foreach (TournamentModel tm in output)
                {
                    var p = new DynamicParameters();
                    p.Add("@TournamentId", tm.Id);
                    tm.EnteredTeams = connection.Query <TeamModel>("dbo.spTeams_GetByTournament", p, commandType: CommandType.StoredProcedure).ToList();

                    //populate rounds;
                    p = new DynamicParameters();
                    p.Add("@TournamentId", tm.Id);
                    List <MatchupModel> matchups = connection.Query <MatchupModel>("dbo.spMatchups_GetByTournament", p,
                                                                                   commandType: CommandType.StoredProcedure).ToList();

                    foreach (MatchupModel m in matchups)
                    {
                        p = new DynamicParameters();
                        p.Add("@MatchupEntryId", m.Id);
                        m.Entries = connection.Query <MatchupEntryModel>("dbo.spMatchupEntries_GetByMatchup", p, commandType: CommandType.StoredProcedure).ToList();

                        List <TeamModel> allTeams = GetTeams();

                        if (m.WinnerId > 0)
                        {
                            m.Winner = allTeams.Where(x => x.Id == m.WinnerId).First();
                        }

                        foreach (var me in m.Entries)
                        {
                            if (me.TeamCompetingId > 0)
                            {
                                me.TeamCompeting = allTeams.Where(x => x.Id == me.TeamCompetingId).First();
                            }
                        }
                    }

                    // List<List<MatchupModel>>
                    List <MatchupModel> currentRow = new List <MatchupModel>();
                    int currentRound = 1;

                    foreach (MatchupModel m in matchups)
                    {
                        if (m.MatchupRound > currentRound)
                        {
                            tm.Rounds.Add(currentRow);
                            currentRow    = new List <MatchupModel>();
                            currentRound += 1;
                        }
                        currentRow.Add(m);
                    }
                    tm.Rounds.Add(currentRow);
                }
            }
            return(output);
        }