Exemplo n.º 1
0
        // POST een FormContent
        public HttpResponseMessage Post(FormContentBindingModel formContentBindingModel)
        {
            try
            {
                IsJSON isJson = IsValidJson(formContentBindingModel.Content); // Check of JSON klopt en maak resultaat object
                if (!isJson.Status)                                           // als resultaat object status fals is return error
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "JSON in 'content' is not correct JSON: " + isJson.Error));
                }

                ContentEqeulsHeadersCheck headersCheck = ContentEqeulsHeaders(formContentBindingModel);
                if (!headersCheck.Status)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, headersCheck.Error));
                }

                FormContent formContent = new FormContent
                {
                    Content       = formContentBindingModel.Content,
                    FormulierenId = formContentBindingModel.FormId
                };


                db.FormContent.Add(formContent);
                db.SaveChanges();

                return(Request.CreateResponse(HttpStatusCode.OK, formContent));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Exemplo n.º 2
0
        // PUT FormContent by Id
        public HttpResponseMessage Put(int id, [FromBody] FormContentBindingModel UpdateObject)
        {
            var formContent = db.FormContent.Where(f => f.Id == id).FirstOrDefault();

            if (formContent == null)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No FormContent found with id: " + id.ToString()));
            }
            else
            {
                formContent.FormulierenId = UpdateObject.FormId;

                IsJSON isJson = IsValidJson(UpdateObject.Content); // Check of JSON klopt en maak resultaat object
                if (!isJson.Status)                                // als resultaat object status fals is return error
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "JSON in 'content' is not correct JSON: " + isJson.Error));
                }


                ContentEqeulsHeadersCheck headersCheck = ContentEqeulsHeaders(UpdateObject);
                if (!headersCheck.Status)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, headersCheck.Error));
                }

                formContent.Content = UpdateObject.Content;
                try
                {
                    db.SaveChanges();
                    return(Request.CreateResponse(HttpStatusCode.OK, formContent));
                }
                catch (Exception ex)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
                }
            }
        }
Exemplo n.º 3
0
        private ContentEqeulsHeadersCheck ContentEqeulsHeaders(FormContentBindingModel formContentBindingModel)
        {
            ContentEqeulsHeadersCheck result = new ContentEqeulsHeadersCheck();
            var Formulier = db.Formulieren.Where(f => f.Id == formContentBindingModel.FormId).FirstOrDefault(); //Haalt bijbehorende formulier op

            var obj = JToken.Parse(formContentBindingModel.Content);                                            //Maak object van mee gegeven content

            foreach (var item in obj)                                                                           //loop door mee gegeven content
            {
                //Pak de propery naam
                string jsonName     = item.First.Path.ToString();
                var    splitPath    = jsonName.Split('.');
                string propertyName = splitPath[1];

                if (!Formulier.FormTemplate.Contains(propertyName))
                {
                    result.Status = false;
                    result.Error  = "'" + propertyName + "'" + " is not found in the headers of the matching Formulier";
                    return(result);
                }
            }
            result.Status = true;
            return(result);
        }