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); } } }
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); } }
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); } }
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); } }
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++); } } }
public virtual void Initialize(ProjectMetadata project) { this.Project = project; }