public async Task Handle(LineupChangeCreatedEvent message) { LineupChangeRM lineupChange = _mapper.Map <LineupChangeRM>(message); LineupRM lineup = _mapper.Map <LineupRM>(message); if (!message.LastLineupChange) { Dictionaries.Dictionaries.cdLineupRM.GetOrAdd(message.RetrosheetGameId + (message.Sequence).ToString("000"), lineup); } await _lineupChangeRepo.SaveAsync(lineupChange); await _lineupRepo.SaveAsync(lineup); }
public async Task <IActionResult> AddStarterOrSub([FromBody] CreateLineupChangeRequest request) { LineupRM previousLineup = null; if (request.Sequence > 1) { Dictionaries.cdLineupRM.TryRemove(request.RetrosheetGameId + (request.Sequence - 1).ToString("000"), out previousLineup); } request.PreviousBattingOrder = previousLineup; var cmd = _mapper.Map <CreateLineupChangeCommand>(request); await _commandSender.Send(cmd); return(Ok()); }
public CreateLineupChangeCommand(Guid id, string retrosheetGameId, short eventNumber, short sequence, bool isStarter, string playerId, string name, byte team, byte battingOrder, byte fieldPosition, bool lastLineupChange, LineupRM previousBattingOrder) { Id = id; RetrosheetGameId = retrosheetGameId; EventNumber = eventNumber; Sequence = sequence; IsStarter = isStarter; PlayerId = playerId; Name = name; Team = team; BattingOrder = battingOrder; FieldPosition = fieldPosition; LastLineupChange = lastLineupChange; PreviousBattingOrder = previousBattingOrder; }
public LineupChange(Guid id, string retrosheetGameId, short eventNumber, short sequence, bool isStarter, string playerId, string name, byte team, byte battingOrder, byte fieldPosition, bool lastLineupChange, LineupRM previousBattingOrder) { Id = id; _RetrosheetGameId = retrosheetGameId; _EventNumber = eventNumber; _Sequence = sequence; _IsStarter = isStarter; _PlayerId = playerId; _Name = name; _Team = team; _BattingOrder = battingOrder; _FieldPosition = fieldPosition; _LastLineupChange = lastLineupChange; _PreviousBattingOrder = previousBattingOrder; ApplyChange(new LineupChangeCreatedEvent(id, retrosheetGameId, eventNumber, sequence, isStarter, playerId, name, team, battingOrder, fieldPosition, lastLineupChange, previousBattingOrder)); }
public async Task SaveAsync(LineupRM lineup) { await _repo.SaveAsync(lineup, (x) => x.RetrosheetGameId + "_" + x.Sequence.ToString("000")); }
private LineupRM AdjustBattingOrder(LineupChangeCreatedEvent source) { LineupRM bo = source.PreviousBattingOrder; if (bo == null) { bo = new LineupRM(); } bo.EventNumber = source.EventNumber; bo.Sequence = source.Sequence; bo.RetrosheetGameId = source.RetrosheetGameId; if (source.BattingOrder == 0 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO0_PlayerId == source.PlayerId && bo.Home_BO0_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO0_PlayerId = source.PlayerId; bo.Home_BO0_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 1 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO1_PlayerId == source.PlayerId && bo.Home_BO1_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO1_PlayerId = source.PlayerId; bo.Home_BO1_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 2 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO2_PlayerId == source.PlayerId && bo.Home_BO2_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO2_PlayerId = source.PlayerId; bo.Home_BO2_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 3 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO3_PlayerId == source.PlayerId && bo.Home_BO3_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO3_PlayerId = source.PlayerId; bo.Home_BO3_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 4 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO4_PlayerId == source.PlayerId && bo.Home_BO4_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO4_PlayerId = source.PlayerId; bo.Home_BO4_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 5 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO5_PlayerId == source.PlayerId && bo.Home_BO5_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO5_PlayerId = source.PlayerId; bo.Home_BO5_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 6 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO6_PlayerId == source.PlayerId && bo.Home_BO6_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO6_PlayerId = source.PlayerId; bo.Home_BO6_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 7 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO7_PlayerId == source.PlayerId && bo.Home_BO7_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO7_PlayerId = source.PlayerId; bo.Home_BO7_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 8 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO8_PlayerId == source.PlayerId && bo.Home_BO8_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO8_PlayerId = source.PlayerId; bo.Home_BO8_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 9 && source.Team == 1) { if (source.IsStarter == false && bo.Home_BO9_PlayerId == source.PlayerId && bo.Home_BO9_FieldPosition == 10 && source.FieldPosition != 10) { bo.Home_BO0_PlayerId = null; bo.Home_BO0_FieldPosition = 0; } bo.Home_BO9_PlayerId = source.PlayerId; bo.Home_BO9_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 0 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO0_PlayerId == source.PlayerId && bo.Away_BO0_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO0_PlayerId = source.PlayerId; bo.Away_BO0_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 1 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO1_PlayerId == source.PlayerId && bo.Away_BO1_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO1_PlayerId = source.PlayerId; bo.Away_BO1_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 2 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO2_PlayerId == source.PlayerId && bo.Away_BO2_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO2_PlayerId = source.PlayerId; bo.Away_BO2_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 3 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO3_PlayerId == source.PlayerId && bo.Away_BO3_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO3_PlayerId = source.PlayerId; bo.Away_BO3_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 4 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO4_PlayerId == source.PlayerId && bo.Away_BO4_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO4_PlayerId = source.PlayerId; bo.Away_BO4_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 5 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO5_PlayerId == source.PlayerId && bo.Away_BO5_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO5_PlayerId = source.PlayerId; bo.Away_BO5_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 6 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO6_PlayerId == source.PlayerId && bo.Away_BO6_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO6_PlayerId = source.PlayerId; bo.Away_BO6_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 7 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO7_PlayerId == source.PlayerId && bo.Away_BO7_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO7_PlayerId = source.PlayerId; bo.Away_BO7_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 8 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO8_PlayerId == source.PlayerId && bo.Away_BO8_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO8_PlayerId = source.PlayerId; bo.Away_BO8_FieldPosition = source.FieldPosition; } else if (source.BattingOrder == 9 && source.Team == 0) { if (source.IsStarter == false && bo.Away_BO9_PlayerId == source.PlayerId && bo.Away_BO9_FieldPosition == 10 && source.FieldPosition != 10) { bo.Away_BO0_PlayerId = null; bo.Away_BO0_FieldPosition = 0; } bo.Away_BO9_PlayerId = source.PlayerId; bo.Away_BO9_FieldPosition = source.FieldPosition; } return(bo); }
private static string FindPlayerByBattingOrder(int?battingOrder, string teamAtBat, LineupRM lineup) { if (!battingOrder.HasValue) { return(""); } else if (teamAtBat == "H" && battingOrder == 1) { return(lineup.Home_BO1_PlayerId); } else if (teamAtBat == "H" && battingOrder == 2) { return(lineup.Home_BO2_PlayerId); } else if (teamAtBat == "H" && battingOrder == 3) { return(lineup.Home_BO3_PlayerId); } else if (teamAtBat == "H" && battingOrder == 4) { return(lineup.Home_BO4_PlayerId); } else if (teamAtBat == "H" && battingOrder == 5) { return(lineup.Home_BO5_PlayerId); } else if (teamAtBat == "H" && battingOrder == 6) { return(lineup.Home_BO6_PlayerId); } else if (teamAtBat == "H" && battingOrder == 7) { return(lineup.Home_BO7_PlayerId); } else if (teamAtBat == "H" && battingOrder == 8) { return(lineup.Home_BO8_PlayerId); } else if (teamAtBat == "H" && battingOrder == 9) { return(lineup.Home_BO9_PlayerId); } else if (teamAtBat == "V" && battingOrder == 1) { return(lineup.Away_BO1_PlayerId); } else if (teamAtBat == "V" && battingOrder == 2) { return(lineup.Away_BO2_PlayerId); } else if (teamAtBat == "V" && battingOrder == 3) { return(lineup.Away_BO3_PlayerId); } else if (teamAtBat == "V" && battingOrder == 4) { return(lineup.Away_BO4_PlayerId); } else if (teamAtBat == "V" && battingOrder == 5) { return(lineup.Away_BO5_PlayerId); } else if (teamAtBat == "V" && battingOrder == 6) { return(lineup.Away_BO6_PlayerId); } else if (teamAtBat == "V" && battingOrder == 7) { return(lineup.Away_BO7_PlayerId); } else if (teamAtBat == "V" && battingOrder == 8) { return(lineup.Away_BO8_PlayerId); } else if (teamAtBat == "V" && battingOrder == 9) { return(lineup.Away_BO9_PlayerId); } else { return(""); } }
private static string FindDefender(int position, string teamAtBat, LineupRM lineup) { if (teamAtBat == "H" && lineup.Away_BO0_FieldPosition == position) { return(lineup.Away_BO0_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO1_FieldPosition == position) { return(lineup.Away_BO1_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO2_FieldPosition == position) { return(lineup.Away_BO2_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO3_FieldPosition == position) { return(lineup.Away_BO3_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO4_FieldPosition == position) { return(lineup.Away_BO4_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO5_FieldPosition == position) { return(lineup.Away_BO5_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO6_FieldPosition == position) { return(lineup.Away_BO6_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO7_FieldPosition == position) { return(lineup.Away_BO7_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO8_FieldPosition == position) { return(lineup.Away_BO8_PlayerId); } else if (teamAtBat == "H" && lineup.Away_BO9_FieldPosition == position) { return(lineup.Away_BO9_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO0_FieldPosition == position) { return(lineup.Home_BO0_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO1_FieldPosition == position) { return(lineup.Home_BO1_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO2_FieldPosition == position) { return(lineup.Home_BO2_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO3_FieldPosition == position) { return(lineup.Home_BO3_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO4_FieldPosition == position) { return(lineup.Home_BO4_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO5_FieldPosition == position) { return(lineup.Home_BO5_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO6_FieldPosition == position) { return(lineup.Home_BO6_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO7_FieldPosition == position) { return(lineup.Home_BO7_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO8_FieldPosition == position) { return(lineup.Home_BO8_PlayerId); } else if (teamAtBat == "V" && lineup.Home_BO9_FieldPosition == position) { return(lineup.Home_BO9_PlayerId); } else { return(""); } }