public HttpResponseMessage Add(TagsAddRequest model)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);

            }

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

            response.Item = _tagsService.Add(model);

            return Request.CreateResponse(response);
        }
        public int Add(TagsAddRequest model)
        {
            int ID = 0;

            DataProvider.ExecuteNonQuery(GetConnection, "dbo.Tags_Insert_v2", inputParamMapper: delegate (SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@Name", model.Name);

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

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

            }
            );
            return ID;
        }
        public HttpResponseMessage AddPlan(PlansAddRequest model)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            if (model.Tag != null)
            {
                TagsAddRequest tagRequest = new TagsAddRequest(model.Tag);
                int tagId = _tagsService.Add(tagRequest);
                model.TagId = tagId;
            }

            string UserId = _userService.GetCurrentUserId();
            ItemResponse<int> response = new ItemResponse<int>();

            response.Item = _plansService.Insert(model, UserId);

            return Request.CreateResponse(response);
        }
        public HttpResponseMessage UpdatePlan(PlansUpdateRequest model)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            if (model.Tag != null) {
                TagsAddRequest tagRequest = new TagsAddRequest(model.Tag);
                int tagId = _tagsService.Add(tagRequest);
                model.TagId = tagId;
            }

            _plansService.Update(model);

            SuccessResponse response = new SuccessResponse();

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