예제 #1
0
        public IEnumerable <FIFATeamDTO> Add(CreateTeamsCommand request)
        {
            if (request?.Commands == null)
            {
                return(null);
            }

            var  added       = new List <FIFATeam>();
            bool interrupted = true;

            foreach (var item in request.Commands)
            {
                var res = Add(item);
                if (res == null)
                {
                    interrupted = true;
                    break;
                }
                else
                {
                    var team = new FIFATeam
                    {
                        Name         = item.Name,
                        PlayerId     = item.PlayerId,
                        TournamentId = item.TournamentId
                    };

                    added.Add(team);
                }
            }

            if (interrupted)
            {
                foreach (var item in added)
                {
                    this.Delete(new DeleteTeamCommand
                    {
                        TournamentId = item.TournamentId,
                        PlayerId     = item.PlayerId
                    });
                }

                return(null);
            }
            else
            {
                return(added.Select(t => new FIFATeamDTO
                {
                    Name = t.Name,
                    OwnerId = t.PlayerId,
                    TournamentId = t.TournamentId
                }).ToList());
            }
        }
예제 #2
0
 public Task <Response <IEnumerable <FIFATeamDTO> > > CreateTeams([FromBody] CreateTeamsCommand request)
 {
     return(_mediator.Send(request));
 }