protected UserObject(UserObject copy)
     : base(copy)
 {
     Name = copy.Name;
     TeamId = copy.TeamId;
     X = copy.X;
     Y = copy.Y;
     Z = copy.Z;
 }
        public HttpResponseMessage PostUser(UserObject user)
        {
            HttpResponseMessage response;

            // remote write enabled
            if (Minimap.USERS_ALLOW_REMOTE_WRITE)
            {
                // add successful
                if (Minimap.UserManager().Add(user))
                {
                    response = Request.CreateResponse<UserObject>(HttpStatusCode.Created, user);

                    // include resource location in response header
                    string uri = Url.Link("DefaultApi", new { id = user.Id });
                    response.Headers.Location = new Uri(uri);
                }

                // add failed
                else
                {
                    response = Request.CreateResponse(HttpStatusCode.NotAcceptable);
                }
            }

            // remote write disabled
            else
            {
                response = Request.CreateResponse(HttpStatusCode.Forbidden);
            }

            return response;
        }
        public HttpResponseMessage PutUser(string id, UserObject user)
        {
            HttpResponseMessage response;

            user.Id = id;

            // remote write enabled
            if (Minimap.USERS_ALLOW_REMOTE_WRITE)
            {
                // user found
                if (user != null && Minimap.UserManager().Get(user.Id) != null)
                {
                    // add successful
                    if (Minimap.UserManager().Add(user))
                    {
                        response = Request.CreateResponse(HttpStatusCode.OK);
                    }

                    // add failed
                    else
                    {
                        response = Request.CreateResponse(HttpStatusCode.NotAcceptable);
                    }
                }

                // user not found
                else
                {
                    response = PostUser(user);
                }
            }

            // remote write disabled
            else
            {
                response = Request.CreateResponse(HttpStatusCode.Forbidden);
            }

            return response;
        }