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

            string userId = _userService.GetCurrentUserId();

            ItemResponse<int> response = new ItemResponse<int>();

            response.Item = _userService.Add(model, userId);

            return Request.CreateResponse(response);
        }
        public int Add(UserAddRequest model, string userId)
        {
            int uid = 0;

            DataProvider.ExecuteNonQuery(GetConnection, "dbo.Users_Insert"
               , inputParamMapper: delegate (SqlParameterCollection paramCollection)
               {
                   paramCollection.AddWithValue("@FirstName", model.FirstName);
                   paramCollection.AddWithValue("@LastName", model.LastName);
                   paramCollection.AddWithValue("@Email", model.Email);
                   paramCollection.AddWithValue("@Phone", model.Phone);
                   paramCollection.AddWithValue("@Income", model.Income);
                   paramCollection.AddWithValue("@Gender", model.Gender);
                   paramCollection.AddWithValue("@Age", model.Age);
                   //paramCollection.AddWithValue("@NumberOfChildren", model.NumberOfChildren);
                   paramCollection.AddWithValue("@MaritalStatus", model.MaritalStatus);

                   paramCollection.AddWithValue("@UserId", userId);

                   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 uid);
               }
               );

            return uid;
        }