// PUT api/entitycategories/
        public HttpResponseMessage Put([FromBody] EntityCategories value, string filter = null)
        {
            ServerValidationInfo vi = null;

            if (!ModelState.IsValid)
            {
                vi = new ServerValidationInfo(ModelState);
            }
            if (filter == null)
            {
                context.Entry(value).State = System.Data.EntityState.Modified;
            }
            else
            {
                var old = context.EntityCategorieses.SingleOrDefault(queryBuider.CreateWhere(filter));
                old.EntityId   = value.EntityId;
                old.CategoryId = value.CategoryId;
            }
            if (vi != null && vi.ContainsError)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, vi));
            }
            var result = context.SaveChanges() > 0;

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
        // POST api/entitycategories/
        public HttpResponseMessage Post(int CategoryId, [FromBody] Entity value)
        {
            ServerValidationInfo vi = null;

            value.CreateDate = DateTime.Now;
            value.UpdateDate = DateTime.Now;
            if (!ModelState.IsValid)
            {
                vi = new ServerValidationInfo(ModelState);
            }
            if (vi != null && vi.ContainsError)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, vi));
            }
            var rel = new EntityCategories()
            {
                CategoryId = CategoryId, Entity = value
            };

            context.Entry(rel).State = System.Data.EntityState.Added;
            context.SaveChanges();
            value.EntityCategorieses = null;

            return(Request.CreateResponse(HttpStatusCode.OK, value));
        }
        // POST api/entitycategories/
        public HttpResponseMessage Post([FromBody] EntityCategories value)
        {
            ServerValidationInfo vi = null;

            if (!ModelState.IsValid)
            {
                vi = new ServerValidationInfo(ModelState);
            }
            if (vi != null && vi.ContainsError)
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest, vi));
            }
            context.Entry(value).State = System.Data.EntityState.Added;
            context.SaveChanges();

            return(Request.CreateResponse(HttpStatusCode.OK, value));
        }
Esempio n. 4
0
        private void ShowData(Guid?categoryGuid, int?entityTypeId)
        {
            if (EntityCategories == null)
            {
                LoadCategories();
            }

            SelectedCategoryGuid = categoryGuid;
            selectedEntityId     = null;

            // Bind Categories
            rptCategory.DataSource = EntityCategories;
            rptCategory.DataBind();

            pnlModels.Visible  = false;
            pnlKey.Visible     = false;
            lCategoryName.Text = string.Empty;

            MEntity entityType = null;
            var     entities   = new List <MEntity>();

            if (categoryGuid.HasValue)
            {
                var category = EntityCategories.Where(c => c.Guid.Equals(categoryGuid)).FirstOrDefault();
                if (category != null)
                {
                    lCategoryName.Text = category.Name + " Models";
                    pnlModels.Visible  = true;

                    entities = category.RockEntities.OrderBy(e => e.FriendlyName).ToList();
                    if (entityTypeId.HasValue)
                    {
                        entityType       = entities.Where(t => t.Id == entityTypeId.Value).FirstOrDefault();
                        selectedEntityId = entityType != null ? entityType.Id : (int?)null;
                    }
                    else
                    {
                        entityType       = entities.FirstOrDefault();
                        selectedEntityId = entities.Any() ? entities.First().Id : (int?)null;
                    }
                }
            }

            // Bind Models
            rptModel.DataSource = entities;
            rptModel.DataBind();

            string details = string.Empty;

            if (entityType != null)
            {
                details = "<div class='alert alert-warning'>Error getting class details!</div>";

                var type = entityType.GetEntityType();
                if (type != null)
                {
                    pnlKey.Visible = true;

                    var xmlComments = GetXmlComments();

                    var mClass = new MClass();
                    mClass.Name    = type.Name;
                    mClass.Comment = GetComments(type, xmlComments);

                    PropertyInfo[] properties = type.GetProperties(BindingFlags.Public | (BindingFlags.Instance))
                                                .Where(m => (m.MemberType == MemberTypes.Method || m.MemberType == MemberTypes.Property))
                                                .ToArray();
                    foreach (PropertyInfo p in properties.OrderBy(i => i.Name).ToArray())
                    {
                        mClass.Properties.Add(new MProperty
                        {
                            Name          = p.Name,
                            IsInherited   = p.DeclaringType != type,
                            IsVirtual     = p.GetGetMethod() != null && p.GetGetMethod().IsVirtual&& !p.GetGetMethod().IsFinal,
                            IsLavaInclude = p.IsDefined(typeof(LavaIncludeAttribute)) || p.IsDefined(typeof(DataMemberAttribute)),
                            NotMapped     = p.IsDefined(typeof(NotMappedAttribute)),
                            Required      = p.IsDefined(typeof(RequiredAttribute)),
                            Id            = p.MetadataToken,
                            Comment       = GetComments(p, xmlComments)
                        });
                    }

                    MethodInfo[] methods = type.GetMethods(BindingFlags.Public | (BindingFlags.Instance))
                                           .Where(m => !m.IsSpecialName && (m.MemberType == MemberTypes.Method || m.MemberType == MemberTypes.Property))
                                           .ToArray();
                    foreach (MethodInfo m in methods.OrderBy(i => i.Name).ToArray())
                    {
                        // crazy, right?
                        var param = string.Join(", ", m.GetParameters().Select(pi => { var x = pi.ParameterType + " " + pi.Name; return(x); }));

                        mClass.Methods.Add(new MMethod
                        {
                            Name        = m.Name,
                            IsInherited = m.DeclaringType != type,
                            Id          = m.MetadataToken,
                            Signature   = string.Format("{0}({1})", m.Name, param),
                            Comment     = GetComments(m, xmlComments)
                        });
                    }

                    details = ClassNode(mClass);
                }
            }

            lClasses.Text = details;
        }