/// <summary> /// 取得仅更新的SQL语句 /// </summary> protected virtual string GetModifiedSqlCode(TData data) { if (/*!UpdateByMidified ||*/ data.__status.IsReadOnly) { return(UpdateSqlCode); } if (!data.__status.IsModified) { return(null); } StringBuilder sql = new StringBuilder(); bool first = true; foreach (var pro in data.__Struct.Properties) { if (data.__status.Status.ModifiedProperties[pro.Key] <= 0 || !FieldMap.ContainsKey(pro.Value.Name)) { continue; } if (first) { first = false; } else { sql.Append(','); } sql.AppendLine($" [{pro.Value.ColumnName}] = @{pro.Value.Name}"); } return(first ? null : sql.ToString()); }
public Presenter(Result result) { IsSuccess = result.IsSuccess; if (result.IsFailure) { Error = result.Error; if (Error.IsType <ValidationError>()) { Errors = new Dictionary <string, List <string> >(); var error = (ValidationError)result.Error; foreach (var item in error.Errors) { if (FieldMap.ContainsKey(item.Key)) { Errors.Add(FieldMap[item.Key], item.Value); } else { Errors.Add(item.Key, item.Value); } } } } }
/// <summary> /// 设置插入数据的命令 /// </summary> /// <param name="data">实体对象</param> /// <param name="cmd">命令</param> /// <returns>返回真说明要取主键</returns> protected virtual void SetParameterValue(TData data, SqliteCommand cmd) { foreach (var pro in data.__Struct.Properties) { if (!FieldMap.ContainsKey(pro.Value.Name)) { continue; } cmd.Parameters[pro.Value.PropertyName].Value = data.GetValue(pro.Value.PropertyName); } }
public LogEvent Parse(string line, FieldMap fieldMap) { var returnValue = new LogEvent(); var fieldValueIndex = 0; foreach (var fieldValue in line.Split(' ')) { if (fieldMap.ContainsKey(fieldValueIndex)) { var fieldInfo = fieldMap[fieldValueIndex]; fieldInfo.FieldInfo.SetValue(returnValue, fieldInfo.Convertor.Convert(fieldValue)); } fieldValueIndex += 1; } return(returnValue); }
/// <summary> /// 取得仅更新的SQL语句 /// </summary> protected virtual string GetSqlCode(TData data) { StringBuilder sql = new StringBuilder(); bool first = true; foreach (var pro in data.__Struct.Properties.Where(p => p.Value.Featrue.HasFlag(PropertyFeatrue.Property))) { if (!FieldMap.ContainsKey(pro.Value.Name)) { continue; } if (first) { first = false; } else { sql.Append(','); } sql.AppendLine($" `{pro.Value.ColumnName}` = ?{pro.Value.Name}"); } return(first ? null : sql.ToString()); }