Esempio n. 1
0
        private bool LeerDatos(SqlDataReader reader)
        {
            try
            {
                IDMovimiento_Cereal = SqlServerValues.GetInteger(reader, "IDMovimiento_Cereal");
                Tipo = SqlServerValues.GetString(reader, "Tipo");

                // Encabezado
                ComprobanteNumero           = SqlServerValues.GetLong(reader, "ComprobanteNumero");
                ComprobanteNumeroConFormato = SqlServerValues.GetStringSafeAsEmpty(reader, "ComprobanteNumeroConFormato");
                IDCartaPorte_Talonario      = SqlServerValues.GetIntegerSafeAsNull(reader, "IDCartaPorte_Talonario");
                CTGNumero  = SqlServerValues.GetLongSafeAsNull(reader, "CTGNumero");
                FechaCarga = SqlServerValues.GetDateTime(reader, "FechaCarga");

                // Sección A - Intervinientes
                IDEntidad_Titular            = SqlServerValues.GetInteger(reader, "IDEntidad_Titular");
                IDEntidad_Intermediario      = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Intermediario");
                IDEntidad_RemitenteComercial = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_RemitenteComercial");
                IDEntidad_Corredor           = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Corredor");
                IDEntidad_Entregador         = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Entregador");
                IDEntidad_Destinatario       = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Destinatario");
                IDEntidad_Destino            = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Destino");
                IDEntidad_Transportista      = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Transportista");
                IDEntidad_Chofer             = SqlServerValues.GetIntegerSafeAsNull(reader, "IDEntidad_Chofer");

                // Sección B - Grano / Especie
                IDCosecha  = SqlServerValues.GetByte(reader, "IDCosecha");
                IDCereal   = SqlServerValues.GetByte(reader, "IDCereal");
                IDContrato = SqlServerValues.GetIntegerSafeAsNull(reader, "IDContrato");
                PesoBruto  = SqlServerValues.GetInteger(reader, "PesoBruto");
                PesoTara   = SqlServerValues.GetInteger(reader, "PesoTara");
                PesoNeto   = SqlServerValues.GetInteger(reader, "PesoNeto");

                // Datos para mermas
                if (Tipo == Constantes.MovimientoTipoEntrada)
                {
                    Volatil = SqlServerValues.GetDecimalSafeAsNull(reader, "Volatil");
                    Humedad = SqlServerValues.GetDecimalSafeAsNull(reader, "Humedad");
                    Zaranda = SqlServerValues.GetDecimalSafeAsNull(reader, "Zaranda");
                    MermaVolatilKilogramo  = SqlServerValues.GetInteger(reader, "MermaVolatilKilogramo");
                    MermaHumedadPorcentaje = SqlServerValues.GetDecimalSafeAsNull(reader, "MermaHumedadPorcentaje");
                    MermaHumedadKilogramo  = SqlServerValues.GetIntegerSafeAsNull(reader, "MermaHumedadKilogramo");
                    MermaZarandaKilogramo  = SqlServerValues.GetIntegerSafeAsNull(reader, "MermaZarandaKilogramo");
                }
                else
                {
                    Volatil = null;
                    Humedad = null;
                    Zaranda = null;
                    MermaVolatilKilogramo  = null;
                    MermaHumedadPorcentaje = null;
                    MermaHumedadKilogramo  = null;
                    MermaZarandaKilogramo  = null;
                }
                PesoFinal = SqlServerValues.GetIntegerSafeAsNull(reader, "PesoFinal");

                // Sección C - Procedencia
                IDOrigenDestino_Origen = SqlServerValues.GetShortSafeAsNull(reader, "IDOrigenDestino_Origen");

                // Sección D - Destino de la mercadería
                IDOrigenDestino_Destino = SqlServerValues.GetShortSafeAsNull(reader, "IDOrigenDestino_Destino");

                // Sección E - Datos del transporte
                CTGCancelacion             = SqlServerValues.GetIntegerSafeAsNull(reader, "CTGCancelacion");
                TransporteDominioCamion    = SqlServerValues.GetStringSafeAsEmpty(reader, "TransporteDominioCamion").Trim();
                TransporteDominioAcoplado  = SqlServerValues.GetStringSafeAsEmpty(reader, "TransporteDominioAcoplado").Trim();
                TransporteKilometro        = SqlServerValues.GetShortSafeAsNull(reader, "TransporteKilometro");
                TransporteTarifaReferencia = SqlServerValues.GetDecimalSafeAsNull(reader, "TransporteTarifaReferencia");
                TransporteTarifa           = SqlServerValues.GetDecimalSafeAsNull(reader, "TransporteTarifa");

                // Sección G - Descarga
                if (Tipo == Constantes.MovimientoTipoEntrada)
                {
                    FechaHoraArribo   = SqlServerValues.GetDateTimeSafeAsNull(reader, "FechaHoraArribo");
                    FechaHoraDescarga = SqlServerValues.GetDateTimeSafeAsNull(reader, "FechaHoraDescarga");
                }
                else
                {
                    FechaHoraArribo   = null;
                    FechaHoraDescarga = null;
                }

                // Datos extras
                DeclaraIPRO = SqlServerValues.GetBoolean(reader, "DeclaraIPRO");
                IDCartaPorte_MotivoAnulacion = SqlServerValues.GetByteSafeAsNull(reader, "IDCartaPorte_MotivoAnulacion");
                Notas = SqlServerValues.GetStringSafeAsNull(reader, "Notas");
                Calculo_TarifaIndice = SqlServerValues.GetShortSafeAsNull(reader, "Calculo_TarifaIndice");

                // Datos del registro
                IDUsuarioCreacion            = SqlServerValues.GetByte(reader, "IDUsuarioCreacion");
                FechaHoraCreacion            = SqlServerValues.GetDateTime(reader, "FechaHoraCreacion");
                IDUsuarioModificacion        = SqlServerValues.GetByte(reader, "IDUsuarioModificacion");
                FechaHoraModificacion        = SqlServerValues.GetDateTime(reader, "FechaHoraModificacion");
                FechaHoraLiquidacionServicio = SqlServerValues.GetDateTimeSafeAsNull(reader, "FechaHoraLiquidacionServicio");
                FechaHoraEnvioBolsaTech      = SqlServerValues.GetDateTimeSafeAsNull(reader, "FechaHoraEnvioBolsaTech");

                if (Tipo == Constantes.MovimientoTipoEntrada)
                {
                    Certificado = SqlServerValues.GetBooleanSafeAsNull(reader, "Certificado");
                }
                else
                {
                    Certificado = null;
                }
                KilogramoAplicado = SqlServerValues.GetIntegerSafeAsNull(reader, "KilogramoAplicado");

                return(true);
            }
            catch (Exception ex)
            {
                Cursor.Current = Cursors.Default;
                MessageBox.Show($"Error al leer los datos de la carta de porte desde la base de datos.\n\nError: {ex.Message}", "CS-Importador de cartas de porte", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
        }