private Model.Model EntityToModel(Entity entity) { var instance = (Model.Model)_model.GetType().Assembly.CreateInstance(_model.GetType().ToString()); if (instance == null) { throw new Exception("the model instance could not be created: " + _model.GetType()); } var tableName = instance.TableName(); foreach (var propertyInfo in instance.GetType().GetProperties()) { var attrs = propertyInfo.GetCustomAttributes(false); if (attrs.Length <= 0) { continue; } foreach (var attr in attrs) { if (!(attr is ColumnAttribute column)) { continue; } var refColumnName = column.Name ?? Helper.ToSnakeCase(propertyInfo.Name); var value = entity.GetValue(tableName, refColumnName); propertyInfo.SetValue(instance, value); } } instance.AfterFillByDb(); return(instance); }
private string FormatFromModel(string tempString, Model.Model model) { var propertys = model.GetType().GetProperties(); Regex r = new Regex("{[A-Z|a-z|0-9]*}"); return(r.Replace(tempString, (m) => { var value = model.Property(m.Value.Trim('{', '}')); if (value == null) { return ""; } return value.ToString(); })); }