public HttpResponseMessage PostMessageThread(MessageThreadPostRequest model)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            string UserId = UserService.GetCurrentUserId();

            model.UserId = UserId;

            int threadId = MessageThreadsService.PostMessageThread(model);
            ItemResponse <int> response = new ItemResponse <int>();

            response.Item = threadId;

            //insert into GroupThreads mapping table
            GroupThreadsRequest mapping = new GroupThreadsRequest();

            mapping.GroupId  = model.GroupId;
            mapping.ThreadId = threadId;
            MessageThreadsService.PostGroupThreadsMapping(mapping);

            return(Request.CreateResponse(HttpStatusCode.OK, response));
        }
Example #2
0
        public static int PostGroupThreadsMapping(GroupThreadsRequest model)
        {
            int Id = 0;

            DataProvider.ExecuteNonQuery(GetConnection, "dbo.GroupThreads_Insert"
                                         , inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@GroupId", model.GroupId);
                paramCollection.AddWithValue("@ThreadId", model.ThreadId);

                SqlParameter p = new SqlParameter("@Id", System.Data.SqlDbType.Int);
                p.Direction    = System.Data.ParameterDirection.Output;

                paramCollection.Add(p);
            }, returnParameters : delegate(SqlParameterCollection param)
            {
                int.TryParse(param["@Id"].Value.ToString(), out Id);
            }
                                         );

            return(Id);
        }