Exemplo n.º 1
0
        /// <summary>
        /// Populate fields of table
        /// </summary>
        /// <param name="dbContext"></param>
        /// <param name="model"></param>
        /// <returns></returns>
        public static async Task <EntityViewModel> ResolveAsync(EntitiesDbContext dbContext, EntityViewModel model)
        {
            Arg.NotNull(dbContext, nameof(EntitiesDbContext));
            Arg.NotNull(model, nameof(EntityViewModel));

            var baseModelFields = BaseModelBuilder.CreateBaseModel(model.TableName).Adapt <List <TableModelField> >();

            foreach (var item in baseModelFields)
            {
                item.IsSystem = true;
            }

            foreach (var item in baseModelFields)
            {
                model.Fields.Add(new EntityFieldsViewModel
                {
                    ColumnName = item.Name,
                    Type       = item.DataType,
                    IsSystem   = item.IsSystem
                });
            }

            model.Fields.AddRange(await dbContext.InjectNonBaseMetaDataAsync(model.TableName));
            return(model);
        }