public Valor Valor(EnumTipoDatoCampo tipoDato, byte[] trama, int inicio, int longitud) { switch (tipoDato) { case EnumTipoDatoCampo.Alfanumerico: case EnumTipoDatoCampo.Numerico_sin_Punto: case EnumTipoDatoCampo.Numerico_con_Punto: case EnumTipoDatoCampo.Alfabetico: return new Caracter(Encoding.ASCII.GetString(trama, inicio, longitud)); case EnumTipoDatoCampo.BCD: return new BCD(EnByte(trama, inicio, longitud)); case EnumTipoDatoCampo.Binario: return new Binario(EnByte(trama, inicio, longitud)); default: throw new ArgumentOutOfRangeException("tipoDato"); } }
public Valor Valor(EnumTipoDatoCampo tipoDato,string mensaje) { switch (tipoDato) { case EnumTipoDatoCampo.Alfanumerico: case EnumTipoDatoCampo.Numerico_sin_Punto: case EnumTipoDatoCampo.Numerico_con_Punto: case EnumTipoDatoCampo.Alfabetico: return new Caracter(mensaje); case EnumTipoDatoCampo.BCD: return new BCD(IntToBcd(Int64.Parse(mensaje))); case EnumTipoDatoCampo.Binario: return new Binario(Codificacion(mensaje)); default: throw new ArgumentOutOfRangeException("tipoDato"); } }
public Campo(int codigo, bool esCabecera, bool mandatorio, int? posicionRelativa, string nombre, bool variable , int? longitudCabecera, Valor valorCabecera, int longitudCuerpo , Valor valorCuerpo, EnumTipoDatoCampo tipoDato, bool esTanqueo) { Codigo = codigo; Mandatorio = mandatorio; PosicionRelativa = posicionRelativa; Nombre = nombre; Variable = variable; LongitudCabecera = longitudCabecera; ValorCabecera = valorCabecera; LongitudCuerpo = longitudCuerpo; ValorCuerpo = valorCuerpo; TipoDato = tipoDato; TipoCampo = esCabecera ? TipoCampoMensaje.CabeceraMensaje : TipoCampoMensaje.CuerpoMensaje; EsTanqueo = esTanqueo; }