public FieldValue(FieldInfo field, IColumnProvidable row, ITableable findable) { this._Field = field; this._Row = row; this._Finder = findable; Instance = _Create(); }
public override object Parse(FieldInfo field, IEnumerable <Column> row, ITableable table) { var col = row.Single(c => c.Name == nameof(TestConfig5.Field1)); if (col.Value == "AAA") { return(1); } return(0); }
public override object Parse(FieldInfo field, IEnumerable <Column> row, ITableable table) { var elementType = field.FieldType.GetElementType(); var instance = System.Array.CreateInstance(elementType, _Fields.Length); for (int i = 0; i < _Fields.Length; i++) { var col = _Fields[i]; var column = row.FirstOrDefault(c => c.Name == col); var converter = System.ComponentModel.TypeDescriptor.GetConverter(field.FieldType.GetElementType()); instance.SetValue(converter.ConvertFromString(column.Value), i); } return(instance); }
private ITableable CreaPadreDesdeUnHijo(List <ITableableOpcion> op, ITableable padre) { var papa = new CotizacionDirecta(); papa.Id = papa.Id32 = padre.Id32; papa.Usuario = padre.Usuario; papa.Producto = padre.Producto; papa.Cliente = padre.Cliente; papa.FechaSolicitud = padre.FechaSolicitud; papa.IncoTerm = padre.IncoTerm; papa.Estado = padre.Estado; papa.Seleccionado = padre.Seleccionado; foreach (var tableableOpcion in op) { papa.Opciones.Add((Opcion)tableableOpcion); } return(papa); }
public override object Parse(FieldInfo field, IEnumerable <Column> row, ITableable table) { var col = row.FirstOrDefault(c => c.Name == field.Name); if (col.Value == null) { return(null); } if (!field.FieldType.HasElementType) { return(false); } var elementType = field.FieldType.GetElementType(); var relatables = table.FindRelatables(elementType).Where(r => r.Compare(col.Value)).ToArray(); var length = relatables.Length; var val = Array.CreateInstance(elementType, length) as System.Array; for (int i = 0; i < length; i++) { val.SetValue(relatables[i], i); } return(val); }
public abstract object Parse(FieldInfo field, IEnumerable <Column> row, ITableable table);
private ITableable CreaPadreDesdeUnHijo(List<ITableableOpcion> op, ITableable padre) { //ListCotizacionesSeleccionadas.Add(padre); var papa = new CotizacionDirecta(); papa.Id = papa.Id32 = padre.Id32; papa.Usuario = padre.Usuario; papa.Producto = padre.Producto; papa.Cliente = padre.Cliente; papa.FechaSolicitud = padre.FechaSolicitud; papa.IncoTerm = padre.IncoTerm; papa.Estado = padre.Estado; papa.Seleccionado = padre.Seleccionado; foreach (var tableableOpcion in op) { papa.Opciones.Add((Opcion)tableableOpcion); } return papa; }