public virtual bool Update(User user) { if (!EnsureUserId(user)) { return(false); } IQueryNode condition = (QField)ResolveFieldName("Id") == new QConst(user.Id); var userRow = DataManager.Load(new Query(UserSourceName, condition)); if (userRow == null) { return(false); } var userProps = user.GetType().GetProperties(); foreach (var prop in userProps) { if (user.IsChanged(prop.Name)) { string key = ResolveFieldName(prop.Name); object value = prop.GetValue(user, null); if (userRow.Table.Columns.Contains(key) && !userRow.Table.Columns[key].AutoIncrement) { userRow[key] = value ?? DBNull.Value; } } } DataManager.Update(userRow); return(true); }
public virtual void Create(User user) { DataRow userRow = DataManager.Create(UserSourceName); var userProps = user.GetType().GetProperties(); foreach (var prop in userProps) { if (user.IsChanged(prop.Name)) { string key = ResolveFieldName(prop.Name); object value = prop.GetValue(user, null); if (userRow.Table.Columns.Contains(key) && !userRow.Table.Columns[key].AutoIncrement) { userRow[key] = value ?? DBNull.Value; } } } DataManager.Update(userRow); }
public virtual void Create(User user) { DataRow userRow = DataManager.Create(UserSourceName); var userProps = user.GetType().GetProperties(); foreach (var prop in userProps) if (user.IsChanged(prop.Name)) { string key = ResolveFieldName(prop.Name); object value = prop.GetValue(user, null); if (userRow.Table.Columns.Contains(key) && !userRow.Table.Columns[key].AutoIncrement) userRow[key] = value ?? DBNull.Value; } DataManager.Update(userRow); }
public virtual bool Update(User user) { if (!EnsureUserId(user)) return false; IQueryNode condition = (QField)ResolveFieldName("Id") == new QConst(user.Id); var userRow = DataManager.Load(new Query(UserSourceName, condition)); if (userRow == null) return false; var userProps = user.GetType().GetProperties(); foreach (var prop in userProps) if (user.IsChanged(prop.Name)) { string key = ResolveFieldName(prop.Name); object value = prop.GetValue(user, null); if (userRow.Table.Columns.Contains(key) && !userRow.Table.Columns[key].AutoIncrement) userRow[key] = value ?? DBNull.Value; } DataManager.Update(userRow); return true; }