Esempio n. 1
0
        public ActionResult <LinkTeamToStadiumResponse> LinkTeamToStadium(LinkTeamToStadiumRequest request)
        {
            var response = new LinkTeamToStadiumResponse()
            {
                ResponseMessage = Models.ResponseMessage.Failure
            };

            var team    = _context.Teams.FirstOrDefault(t => t.Id == request.TeamId);
            var stadium = _context.Stadiums.FirstOrDefault(t => t.Id == request.StadiumId);

            if (team == null || stadium == null)
            {
                return(NotFound(response));
            }

            team.StadiumId = stadium.Id;

            var success = _context.SaveChanges();

            if (success > 0)
            {
                response.ResponseMessage = Models.ResponseMessage.Success;
            }

            return(Ok(response));
        }
Esempio n. 2
0
        public LinkTeamToStadiumResponse LinkStadium(LinkTeamToStadiumRequest request)
        {
            try
            {
                var stadium = _stadiumDataManager.Get(request.StadiumId.GetValueOrDefault()).FirstOrDefault();
                if (stadium == null)
                {
                    return new LinkTeamToStadiumResponse
                           {
                               Code    = _responseSettings.Value.InvalidStadiumResponseCode,
                               Message = _responseSettings.Value.InvalidStadiumResponseMessage
                           }
                }
                ;

                if (stadium.Team != null)
                {
                    return new LinkTeamToStadiumResponse
                           {
                               Code    = _responseSettings.Value.StadiumAlreadyHasLinkedTeamCode,
                               Message = _responseSettings.Value.StadiumAlreadyHasLinkedTeamMessage
                           }
                }
                ;

                if (!_teamDataManager.Get(request.TeamId.GetValueOrDefault()).Any())
                {
                    return new LinkTeamToStadiumResponse
                           {
                               Code    = _responseSettings.Value.InvalidTeamCode,
                               Message = _responseSettings.Value.InvalidTeamMessage
                           }
                }
                ;

                _teamDataManager.Update(request.TeamId.GetValueOrDefault(), request.StadiumId.GetValueOrDefault());

                return(new LinkTeamToStadiumResponse
                {
                    Code = _responseSettings.Value.SuccessfulResponseCode,
                    Message = _responseSettings.Value.SuccessfulResponseMessage
                });
            }
            catch (Exception exception)
            {
                //TODO Log error
                return(new LinkTeamToStadiumResponse
                {
                    Code = _responseSettings.Value.ErrorOccuredCode,
                    Message = _responseSettings.Value.ErrorOccuredMessage
                });
            }
        }
 public LinkTeamToStadiumResponse LinkStadium(LinkTeamToStadiumRequest request)
 {
     return(_teamService.LinkStadium(request));
 }