Exemple #1
0
        public override void Initialize(ProjectMetadata project)
        {
            base.Initialize(project);

            InheritEntitys.Insert(0, Entity);
            InitializeInheritEntity(project, Entity);

            var controller = Entity.Definition.Controller;

            if (controller.AuthorizeMode == EAuthorizeMode.Authorize)
            {
                Permission = project.Compiler.Permission;
            }
            if (controller.AuthorizeMode != EAuthorizeMode.Anonymous)
            {
                Write("Wilmar.Service.Common.Attributes.Authorize");
            }
            if (Entity.PrimaryPropertys.Count > 0)
            {
                project.Service.Entitys.Add(Entity);

                if (Entity.PrimaryPropertys.Count == 1)
                {
                    var member = Entity.PrimaryPropertys.Values.First();
                    EntityKeyParameter = $"[FromODataUri] {member.PropertyType.TypeName} key";
                    EntityLinqWhere    = $"item => item.{member.Name} == key";
                }
                else
                {
                    EntityKeyParameter = string.Join(" ,", Entity.PrimaryPropertys.Values.Select(a => $"[FromODataUri] {a.PropertyType.TypeName} key{a.Name}").ToArray());
                    EntityLinqWhere    = $"item => " + string.Join(" && ", Entity.PrimaryPropertys.Values.Select(a => $"item.{a.Name} == key{a.Name}").ToArray());
                }

                if (controller.CanGet)
                {
                    GenerateGetAction(controller);
                }
                if (!this.Entity.IsDimFast)
                {
                    if (controller.CanPost)
                    {
                        GeneratePostAction(controller);
                    }
                    if (controller.CanPut)
                    {
                        GeneratePutAction(controller);
                    }
                    if (controller.CanDelete)
                    {
                        GenerateDeleteAction(controller);
                    }

                    GenerateCustomAction(controller);
                }
            }
        }
Exemple #2
0
        private void InitializeInheritEntity(ProjectMetadata project, EntityMetadata parent)
        {
            int            id = parent.Definition.Configure.InheritEntityId;
            EntityMetadata entity;

            if (id > 0 && project.Entitys.TryGetValue(id, out entity))
            {
                InheritEntitys.Insert(0, entity);
                InitializeInheritEntity(project, entity);
            }
        }
Exemple #3
0
 public ControllerActionMetadata(ActionConfigure action, ProjectMetadata project, EntityMetadata entity)
 {
     this.Entity = entity;
     Source      = action;
     foreach (var para in action.Parameters)
     {
         Parameters.Add(para.Name, new DataTypeMetadata(para.DataType, project, true));
     }
     if (action.ReturnType != null)
     {
         this.ReturnType = new DataTypeMetadata(action.ReturnType, project, true);
     }
 }
Exemple #4
0
        public override void Initialize(ProjectMetadata project)
        {
            base.Initialize(project);
            var common = Member.Content as CommonDataType;

            if (common != null && common.BaseType == EDataBaseType.Timestamp &&
                Entity.DataContext.DatabaseType == EDatabaseType.MySql)
            {
                PropertyType = new DataTypeMetadata(new DateTimeType(), Project, true);
            }
            else
            {
                PropertyType = new DataTypeMetadata(Member.Content, Project, this.IsRequired);
            }

            if (common != null)
            {
                Validator(common);
            }
        }
Exemple #5
0
        public override void Initialize(ProjectMetadata project)
        {
            base.Initialize(project);
            List <MetadataBase> intialize = new List <MetadataBase>();

            if (Definition.CubeType == Model.Definitions.Entities.EEntityCubeType.Fact)
            {
                base.Write("AgileDesign.SsasEntityFrameworkProvider.Attributes.MeasureGroupAttribute");
            }
            InitialMembers(Definition.Members, intialize, false);
            if (Definition.Configure != null)
            {
                InitialInheritMembers(Definition.Configure.InheritEntityId, intialize);
            }
            foreach (var item in intialize)
            {
                item.Initialize(project);
            }
            if (Definition.Configure != null && Definition.Configure.InheritEntityId > 0)
            {
                EntityMetadata baseEntity;
                if (project.Entitys.TryGetValue(Definition.Configure.InheritEntityId, out baseEntity))
                {
                    BaseClassName = baseEntity.ProjectItem.Name;
                }
            }
            if (Definition.CubeType != Model.Definitions.Entities.EEntityCubeType.Fact)
            {
                foreach (var col in PrimaryPropertys.Values)
                {
                    col.Column(col.Member.ColumnName, DataColumnIndex++);
                }
                foreach (var col in ColumnPropertys.Values)
                {
                    col.Column(col.Member.ColumnName, DataColumnIndex++);
                }
            }
        }
Exemple #6
0
 public virtual void Initialize(ProjectMetadata project)
 {
     this.Project = project;
 }