public HttpResponseMessage Put(P2PThreadHideRequestModel request)
        {
            var access = UserRights.V2Login(Db, Request);

            if (access.HasErrors)
            {
                return(Request.CreateErrorResponse(access.ErrorCode, access.ErrorMessage));
            }
            var result = P2PMessagingLayer.HideMessageThread(CmsDb, request.ThreadId, (int)access.Session.record_id);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        //Returns a list of user ids which we have had connections with
        public HttpResponseMessage GetConnections()
        {
            var access = UserRights.V2Login(Db, Request);

            if (access.HasErrors)
            {
                return(Request.CreateErrorResponse(access.ErrorCode, access.ErrorMessage));
            }
            var result = P2PMessagingLayer.GetconnectedUserIds(CmsDb, Db, (int)access.Session.record_id);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public HttpResponseMessage Read(int id)
        {
            var access = UserRights.V2Login(Db, Request);

            if (access.HasErrors)
            {
                return(Request.CreateErrorResponse(access.ErrorCode, access.ErrorMessage));
            }
            var response = P2PMessagingLayer.SetMessageToRead(CmsDb, (int)access.Session.record_id, id);

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
        public HttpResponseMessage Get(int id, int take, int skip = 0)
        {
            var access = UserRights.V2Login(Db, Request);

            if (access.HasErrors)
            {
                return(Request.CreateErrorResponse(access.ErrorCode, access.ErrorMessage));
            }
            var result = P2PMessagingLayer.GetMessagesBetweenUsers(CmsDb, (int)access.Session.record_id, id, take, skip);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        public HttpResponseMessage Post(P2PRequestModel message)
        {
            var access = UserRights.V2Login(Db, Request);

            if (access.HasErrors)
            {
                return(Request.CreateErrorResponse(access.ErrorCode, access.ErrorMessage));
            }
            var controllerContext = CreateController <HomeController>().ControllerContext;
            var result            = P2PMessagingLayer.SendMessageToUser(CmsDb, Db, (int)access.Session.record_id, message.UserId, message.Message, controllerContext, message.UUID);

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }