コード例 #1
0
        public IGameInningTeamBatter GetCurrentGameInningTeamBatter(Guid gameId)
        {
            IGameInningTeamBatter gameInningTeamBatter = null;

            using (var context = new Data.DartballContext())
            {
                var currentInning = context.GameInnings
                                    .Where(x => x.GameId == gameId.ToString() && !x.DeleteDate.HasValue)
                                    .OrderByDescending(x => x.InningNumber).FirstOrDefault();
                if (currentInning != null)
                {
                    var gameTeamsInReverseSequence = context.GameTeams
                                                     .Where(x => x.GameId == gameId.ToString() && !x.DeleteDate.HasValue)
                                                     .OrderByDescending(x => x.TeamBattingSequence).ToList();

                    var inningTeamsBatters = context.GameInningTeamBatters
                                             .Where(x => x.GameInningTeam.GameInningId == currentInning.GameInningId && !x.DeleteDate.HasValue && !x.DeleteDate.HasValue)
                                             .Include(x => x.GameInningTeam)
                                             .OrderByDescending(x => x.Sequence).ToList();

                    foreach (var gt in gameTeamsInReverseSequence)
                    {
                        var teamBatters = inningTeamsBatters.Where(x => x.GameInningTeam.GameTeamId == gt.GameTeamId).ToList();
                        if (teamBatters.Count > 0)
                        {
                            gameInningTeamBatter = Mapper.Map <GameInningTeamBatterDto>(teamBatters.FirstOrDefault());
                            break;
                        }
                    }
                }
            }

            return(gameInningTeamBatter);
        }
コード例 #2
0
        public ChangeResult Save(IGameInningTeamBatter gameInningTeamBatter)
        {
            bool isAdd = GetGameInningTeamBatter(gameInningTeamBatter.GameInningTeamId, gameInningTeamBatter.Sequence) == null;

            if (isAdd)
            {
                return(AddNew(gameInningTeamBatter));
            }
            return(Update(gameInningTeamBatter));
        }
コード例 #3
0
 public GameInningTeamBatter(IGameInningTeamBatter gameInningTeamBatter)
 {
     if (gameInningTeamBatter != null)
     {
         GameInningTeamBatterId = gameInningTeamBatter.GameInningTeamBatterId;
         GameInningTeamId       = gameInningTeamBatter.GameInningTeamId;
         PlayerId        = gameInningTeamBatter.PlayerId;
         Sequence        = gameInningTeamBatter.Sequence;
         EventType       = gameInningTeamBatter.EventType;
         TargetEventType = gameInningTeamBatter.TargetEventType;
         RBIs            = gameInningTeamBatter.RBIs;
         HasData         = true;
     }
 }
コード例 #4
0
        public IGameInningTeamBatter GetGameInningTeamBatter(Guid gameInningTeamId, int sequence)
        {
            IGameInningTeamBatter gameInningTeamBatter = null;

            using (var context = new Data.DartballContext())
            {
                var item = context.GameInningTeamBatters.FirstOrDefault(x => x.GameInningTeamId == gameInningTeamId.ToString() && x.Sequence == sequence);
                if (item != null)
                {
                    gameInningTeamBatter = Mapper.Map <GameInningTeamBatterDto>(item);
                }
            }

            return(gameInningTeamBatter);
        }
コード例 #5
0
 public ChangeResult Update(IGameInningTeamBatter gameInningTeamBatter)
 {
     return(Update(new List <IGameInningTeamBatter> {
         gameInningTeamBatter
     }));
 }
コード例 #6
0
 public ChangeResult AddNew(IGameInningTeamBatter gameInningTeamBatter)
 {
     return(AddNew(new List <IGameInningTeamBatter> {
         gameInningTeamBatter
     }));
 }