// Commenting out the HttpMethod attribute so that the method is
        // inaccessible.
        ////[HttpPut]
        HttpResponseMessage CreateUser()
        {
            var statusCode   = HttpStatusCode.OK;
            var userResponse = new UserResponseContract();

            try
            {
                UserParameters parameters =
                    UserParameters.ParsePutUserParameters(HttpContext.Current.Request.QueryString);

                int userId = this.userDal.CreateUser(
                    parameters.UserName,
                    parameters.Email,
                    parameters.Password,
                    parameters.IsAdmin);

                userResponse.UserName = parameters.UserName;
                userResponse.Email    = parameters.Email;
                userResponse.UserId   = userId;
                userResponse.IsAdmin  = parameters.IsAdmin;
            }
            catch (InvalidParameterException paramException)
            {
                userResponse.Message = paramException.Message;
                statusCode           = HttpStatusCode.BadRequest;
            }

            return(Request.CreateResponse(statusCode, userResponse, formatter));
        }
        public HttpResponseMessage GetUser()
        {
            var statusCode   = HttpStatusCode.OK;
            var userResponse = new UserResponseContract();

            try
            {
                UserParameters parameters =
                    UserParameters.ParseGetUserParameters(HttpContext.Current.Request.QueryString);

                UserModel user = this.userDal.GetUser(parameters.Email, parameters.Password);
                userResponse.UserId   = user.UserId;
                userResponse.UserName = user.UserName;
                userResponse.Email    = user.Email;
                userResponse.IsAdmin  = user.IsAdmin;
                userResponse.Message  = "User found.";
            }
            catch (InvalidParameterException paramException)
            {
                userResponse.Message = paramException.Message;
                statusCode           = HttpStatusCode.BadRequest;
            }
            catch (UserNotFoundException userException)
            {
                userResponse.Message = userException.Message;
            }

            return(Request.CreateResponse(statusCode, userResponse, formatter));
        }