public NormalizationApiModel(NormalizationApiModel copyFrom) : base(copyFrom) { if (copyFrom == null) return; Description = copyFrom.Description; Discriminator = copyFrom.Discriminator; Name = copyFrom.Name; ResourceName = copyFrom.ResourceName; ResourcePath = copyFrom.ResourcePath; Properties.AddRange(copyFrom.Properties); SubTypes.AddRange(copyFrom.SubTypes); }
public NormalizationApiModel(NormalizationApiModel copyFrom) : base(copyFrom) { if (copyFrom == null) { return; } Description = copyFrom.Description; Discriminator = copyFrom.Discriminator; Name = copyFrom.Name; ResourceName = copyFrom.ResourceName; ResourcePath = copyFrom.ResourcePath; Properties.AddRange(copyFrom.Properties); SubTypes.AddRange(copyFrom.SubTypes); }
private NormalizationApiModel ParseModelData(dynamic item) { var apiVersion = (string) item.ApiVersion; var resourceName = (string) item.ResourceName; var resourcePath = (string) item.ResourcePath; dynamic model = item.Model; var normModel = new NormalizationApiModel { ApiVersion = apiVersion, Name = (string) model.id, ResourceName = resourceName, ResourcePath = resourcePath }; if (model.ContainsKey("subTypes")) { foreach (var sto in model.subTypes) { if (sto == null) continue; var st = (string) sto; if (string.IsNullOrWhiteSpace(st)) continue; normModel.RawSubTypes.Add(st); } } if (model.ContainsKey("description") && !string.IsNullOrWhiteSpace((string) model.description)) { normModel.Description = (string) model.description; } var requiredProperties = ParseRequiredProperties(model); foreach (NormalizationApiModelProperty prop in ParseProperties(model)) { prop.ApiVersion = apiVersion; if (requiredProperties.Contains(prop.Name)) { prop.IsRequired = true; } normModel.Properties.Add(prop); } return normModel; }