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);
        }
Example #3
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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
Example #7
0
        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;
        }