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);
 }