예제 #1
0
        public HttpResponseMessage RemoveField(int metaClassId, int fieldId)
        {
            MetaDataContext context = MetaDataContext.Instance;

            Mediachase.MetaDataPlus.Configurator.MetaClass metaClass = Mediachase.MetaDataPlus.Configurator.MetaClass.Load(context, metaClassId);
            if (metaClass == null)
            {
                HttpResponseMessage errorResponse = Request.CreateResponse <string>(HttpStatusCode.NotFound, "Meta Class with id " + metaClassId + " could not be loaded.", "application/json");
                return(errorResponse);
            }

            MetaField field = MetaField.Load(MetaDataContext.Instance, fieldId);

            if (field == null)
            {
                HttpResponseMessage errorResponse = Request.CreateResponse <string>(HttpStatusCode.NotFound, "Meta Class with id " + metaClassId + " could not be loaded.", "application/json");
                return(errorResponse);
            }


            metaClass.DeleteField(field);

            string message = JsonConvert.SerializeObject(new
            {
                Message       = string.Format("Removed Meta Field '{0}' from Meta Class '{1}'", field.Name, metaClass.Name),
                MetaClassName = metaClass.Name,
                MetaFieldName = field.Name
            });

            HttpResponseMessage response = Request.CreateResponse <string>(HttpStatusCode.OK, "");

            response.Content = new StringContent(message);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            return(response);
        }
예제 #2
0
        // DELETE api/<controller>/5
        public HttpResponseMessage Delete(int id)
        {
            MetaDataContext context = MetaDataContext.Instance;

            Mediachase.MetaDataPlus.Configurator.MetaClass metaClass = Mediachase.MetaDataPlus.Configurator.MetaClass.Load(context, id);

            if (metaClass.IsSystem)
            {
                throw new HttpException(500, "Cannot delete a system Meta Class");
            }

            string message = JsonConvert.SerializeObject(new
            {
                Message = "Deleted Meta Class",
                Id      = id,
                Name    = metaClass.Name
            });

            Mediachase.MetaDataPlus.Configurator.MetaClass.Delete(MetaDataContext.Instance, id);

            HttpResponseMessage response = Request.CreateResponse <string>(HttpStatusCode.OK, "");

            response.Content = new StringContent(message);
            response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
            return(response);
        }
예제 #3
0
 // GET api/<controller>/5
 public MetaClass Get(int id)
 {
     Mediachase.MetaDataPlus.Configurator.MetaClass metaClass = Mediachase.MetaDataPlus.Configurator.MetaClass.Load(MetaDataContext.Instance, id);
     if (metaClass != null)
     {
         return(new MetaClass(metaClass));
     }
     return(null);
 }