protected virtual ColumnSettingsData FillSettings(UserConnection userConnection, ForecastColumn column) { ColumnSetting deserialized = Json.Deserialize <ColumnSetting>(column.Settings); Core.Entities.EntitySchema schema = userConnection.EntitySchemaManager.GetInstanceByUId(deserialized.SourceUId); ColumnSettingsData settings = new ColumnSettingsData { SourceEntityName = schema.Name, ReferenceColumnName = deserialized.RefColumnPath ?? GetColumnName(schema, deserialized.RefColumnId), PeriodColumnName = deserialized.PeriodColumnPath ?? GetColumnName(schema, deserialized.PeriodColumnId), FuncColumnName = deserialized.FuncColumnPath ?? GetColumnName(schema, deserialized.FuncColumnId), FuncCode = deserialized.FuncCode, PercentOperand = deserialized.PercentOperand, FilterData = deserialized.FilterData.IsNotNullOrEmpty() ? Json.Deserialize <Filters>(deserialized.FilterData) : null }; return(settings); }
private string GetColumnName(Core.Entities.EntitySchema entitySchema, Guid columnUId) { return(entitySchema.Columns.FirstOrDefault(c => c.UId == columnUId)?.Name); }