Пример #1
0
        private ChangeResult Validate(List <IGameInningTeamBatter> gameInningTeamBatters, bool isAddNew = false)
        {
            ChangeResult result = new ChangeResult();

            List <int> validEvents = new List <int>();

            foreach (var item in EventService.GetAllGameEvents())
            {
                validEvents.Add((int)item.Event);
            }

            foreach (var item in gameInningTeamBatters)
            {
                if (!result.IsSuccess)
                {
                    break;
                }

                if (item.GameInningTeamId == Guid.Empty)
                {
                    result.IsSuccess = false;
                    result.ErrorMessages.Add("Invalid Game Inning Team Key");
                }

                if (item.PlayerId == Guid.Empty)
                {
                    result.IsSuccess = false;
                    result.ErrorMessages.Add("Invalid Player");
                }

                if (item.Sequence < 0)
                {
                    result.IsSuccess = false;
                    result.ErrorMessages.Add("Sequence must be > 0");
                }

                if (item.RBIs < 0)
                {
                    result.IsSuccess = false;
                    result.ErrorMessages.Add("Cannot have RBIs < 0");
                }

                if (!validEvents.Contains(item.EventType))
                {
                    result.IsSuccess = false;
                    result.ErrorMessages.Add($"Invalid Event Type: {item.EventType}");
                }

                if (item.TargetEventType.HasValue)
                {
                    if (!validEvents.Contains(item.TargetEventType.Value))
                    {
                        result.IsSuccess = false;
                        result.ErrorMessages.Add($"Invalid Target Event Type: {item.TargetEventType.Value}");
                    }
                }

                if (isAddNew == false)
                {
                    if (item.GameInningTeamBatterId == Guid.Empty)
                    {
                        result.IsSuccess = false;
                        result.ErrorMessages.Add("Invalid Team Inning Batter Id.");
                    }
                }
            }

            return(result);
        }