public IActionResult CreateRequest([FromBody] MemberReqCreateDto createRequest)
        {
            if (createRequest == null)
            {
                return(BadRequest(new TransActionResponse("No Request created")));
            }

            var getUser = _unitOfWork.User.GetById(createRequest.UserId);//if the user is on team then he cant create a request.

            if (getUser.TeamId != null)
            {
                return(BadRequest(new TransActionResponse("The user is already on the team")));
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(new TransActionResponse(ModelState)));
            }

            var newRequest = _mapper.Map <TraMemberReq>(createRequest);

            newRequest.IsActive = true;

            _unitOfWork.Request.Create(newRequest);

            if (!_unitOfWork.Save())
            {
                return(StatusCode(500, new TransActionResponse("A problem happened while handling your request.")));
            }

            var createMemberReqResult = _mapper.Map <MemberReqDto>(newRequest);

            return(CreatedAtRoute("GetMemberReq", new { id = createMemberReqResult.MemberReqId }, new TransActionResponse(createMemberReqResult)));
        }
        public IActionResult CreateRequest([FromBody] MemberReqCreateDto createRequest)
        {
            if (createRequest == null)
            {
                return(BadRequest());
            }

            //takes care of the fact the if the user is on team then he cant create a request.
            var user    = createRequest.UserId;
            var getUser = _transActionRepo.GetUser(user);

            if (getUser.TeamId != null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var newRequest = _mapper.Map <TraMemberReq>(createRequest);

            newRequest.IsActive = true;

            _transActionRepo.CreateRequest(newRequest);

            if (!_transActionRepo.Save())
            {
                return(StatusCode(500, "A problem happened while handling your request."));
            }

            var createdPointOfInterestToReturn = _mapper.Map <MemberReqDto>(newRequest);

            return(CreatedAtRoute("GetThatEvent", new { id = createdPointOfInterestToReturn.MemberReqId }, createdPointOfInterestToReturn));
        }