public HttpResponseMessage PutWorkItem(int id, work_item_ref data)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            if (id != data.work_item_id)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            db.Entry(data).State = System.Data.Entity.EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public HttpResponseMessage PostSaveWorkItems(JObject paramList)
        {
            if (!ModelState.IsValid)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }

            var WorkItemsData = Newtonsoft.Json.JsonConvert.DeserializeObject(paramList["workitems"].ToString());

            List <work_item_ref> addWorkItemsData = new List <work_item_ref>();


            foreach (var item in (JArray)WorkItemsData)
            {
                work_item_ref row = new work_item_ref();
                //row.work_item_id = Convert.ToInt32(((JValue)(item["work_item_id"])).Value);
                row.work_item_ext_id = item["work_item_ext_id"].ToString();
                row.work_item_title  = item["work_item_title"].ToString();
                row.sprint_id        = Convert.ToInt16(((JValue)(item["sprint_id"])).Value);
                addWorkItemsData.Add(row);
            }


            try
            {
                db.WorkItems.AddRange(addWorkItemsData);
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

            return(Request.CreateResponse(HttpStatusCode.OK));
        }
        public work_item_ref GetWorkItem(int id)
        {
            if (id == 0)
            {
                return(GetEmptyWorkItem());         //Used to create empty structure for configuration_ref for ADD-NEW-Record
            }
            work_item_ref workitem = db.WorkItems.Find(id);

            if (workitem == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(workitem);
        }
        public HttpResponseMessage PostWorkItem(work_item_ref data)
        {
            if (ModelState.IsValid)
            {
                db.WorkItems.Add(data);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, data);
                //response.Headers.Location = new Uri(Url.Link("ApiByName", new { id = configuration.config_id }));
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
        public HttpResponseMessage DeleteWorkItem(int id)
        {
            work_item_ref data = db.WorkItems.Find(id);

            if (data == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            db.WorkItems.Remove(data);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, ex));
            }

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