Example #1
0
 public bool Confirmar(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
 {
     foreach (HojaRutaInternoGuia guiaHojaRutaInterno in this.guiasHojaRutaInterno)
     {
         GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
         guiaHojaRutaInterno.HojaRutaInternoID = this.hojaRutaInternoID;
         if (guiaHojaRutaInterno.Guardar(transaccion))
         {
             oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
             oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoSubAgencias.AsignadaHojaRutaInterna;
             oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoSubAgencias;
             oGuiaEstado.UsuarioID        = usuario.UsuarioID;
             oGuiaEstado.FechaHis         = DateTime.Today;
             oGuiaEstado.AgenciaID        = agenciaUsuaria;
             oGuiaEstado.Observaciones    = "";
             oGuiaEstado.Guardar(transaccion);
         }
         else
         {
             transaccion.Rollback();
             return(false);
         }
     }
     return(true);
 }
 public bool Guardar(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
 {
     foreach (PlanillaRemitoClienteGuias guiaPlanilla in this.guiasPlanilla)
     {
         GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
         guiaPlanilla.PlanillaRemitoClienteID = this.PlanillaRemitoClienteID;
         if (guiaPlanilla.Guardar(transaccion))
         {
             oGuiaEstado.GuiaID           = guiaPlanilla.GuiaID;
             oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoRendicionAdministracion.EnPlanillaRendicionCliente;
             oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoRendicionAdministracion;
             oGuiaEstado.UsuarioID        = usuario.UsuarioID;
             oGuiaEstado.FechaHis         = DateTime.Today;
             oGuiaEstado.AgenciaID        = agenciaUsuaria;
             //oGuiaEstado.Observaciones = obs;
             oGuiaEstado.Observaciones = "";
             oGuiaEstado.Guardar(transaccion);
         }
         else
         {
             transaccion.Rollback();
             return(false);
         }
     }
     return(true);
 }
Example #3
0
        public bool EliminarDetalleColectora(System.Data.SqlClient.SqlTransaction transaccion, int AgenciaConectadaID, DateTime FechaHis, IUsuarios usuario)
        {
            try
            {
                Config.Conexion.EjecutarSinResultados(transaccion, "HojaRutaDetalleGuiasDELByHojaRutaID", Utiles.BaseDatos.IntToSql(this.HojaRutaID),
                                                      Utiles.BaseDatos.IntToSql(this.HojaRutaDetalleID), Utiles.BaseDatos.IntToSql(this.GuiaID), this.VerificadaPorColectora, AgenciaConectadaID);

                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();

                //EstadoMovimiento - Pendiente de Viaje - Vuelve a quedar pendiente de viaje
                oGuiaEstado.GuiaID           = this.GuiaID;
                oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoMovimiento.PendienteDeViaje;
                oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoMovimiento;
                oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                oGuiaEstado.FechaHis         = DateTime.Today;
                oGuiaEstado.AgenciaID        = AgenciaConectadaID;
                oGuiaEstado.Guardar(transaccion);

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public void GuardarConfirmacion(SqlTransaction transaccion)
        {
            try
            {
                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();

                //Guardo los datos
                GuiaServicioConfirmacionID = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico(transaccion, "GuiaServicioConfirmacionINS", GuiaID, NroRemito, Fecha));

                //Guardo el cambio de estado de servicioconfirmado
                oGuiaEstado.EsAdministracion = true;
                oGuiaEstado.GuiaID           = this.GuiaID;
                oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoAdministrativo.ServicioConfirmado;
                oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoAdministrativo;
                oGuiaEstado.UsuarioID        = UsuarioID;
                oGuiaEstado.FechaHis         = DateTime.Now;
                oGuiaEstado.AgenciaID        = AgenciaID;
                oGuiaEstado.Observaciones    = "";
                oGuiaEstado.Guardar(transaccion);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
 public bool ArchivarGuiasDePlanilla(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario, string nroCaja)
 {
     foreach (PlanillaRemitoClienteGuias guiaPlanilla in this.guiasPlanilla)
     {
         GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
         oGuiaEstado.GuiaID           = guiaPlanilla.GuiaID;
         oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.EnArchivo;
         oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
         oGuiaEstado.UsuarioID        = usuario.UsuarioID;
         oGuiaEstado.FechaHis         = DateTime.Today;
         oGuiaEstado.AgenciaID        = agenciaUsuaria;
         //oGuiaEstado.Observaciones = obs;
         oGuiaEstado.Observaciones = "";
         if (!oGuiaEstado.Guardar(transaccion))
         {
             transaccion.Rollback();
             return(false);
         }
         GuiaEstadoHistoricoDatos oGuiaDatos = new GuiaEstadoHistoricoDatos();
         oGuiaDatos.GuiaID            = guiaPlanilla.GuiaID;
         oGuiaDatos.GuiaEstadoHisID   = oGuiaEstado.GuiaEstadoHisID;
         oGuiaDatos.EstadoGuiaDatosID = (int)SisPack.DatosEstadoEstaticoEnCajaDeArchivo.NroCajaArchivo;
         oGuiaDatos.Valor             = nroCaja;
         oGuiaDatos.Guardar(transaccion);
     }
     return(true);
 }
        public bool Guardar(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
        {
            int rendicionID = 0;

            foreach (GuiaRendicionDetalle guiaRendida in this.guiasRendidas)
            {
                rendicionID = guiaRendida.RendicionAgenciaID;
                GuiaEstadoHistorico      oGuiaEstado = new GuiaEstadoHistorico();
                GuiaEstadoHistoricoDatos oGuiaDatos  = new GuiaEstadoHistoricoDatos();
                guiaRendida.GuiaID = this.GuiaID;       //ID de la guía de rendición
                if (guiaRendida.Guardar(transaccion))
                {
                    //try
                    //{

                    if (guiaRendida.GuiaRendidaID != 0)
                    {
                        oGuiaEstado.GuiaID           = guiaRendida.GuiaRendidaID;
                        oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoRendicionAdministracion.EnGuiaRendicion;
                        oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoRendicionAdministracion;
                        oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                        oGuiaEstado.FechaHis         = DateTime.Today;
                        oGuiaEstado.AgenciaID        = agenciaUsuaria;
                        //oGuiaEstado.Observaciones = obs;
                        oGuiaEstado.Observaciones = "";
                        oGuiaEstado.Guardar(transaccion);

                        //Guarda informacion en la Tabla GuiaEstadoHistoricoDatos acerca de la guia de rendicion
                        oGuiaDatos.GuiaID            = guiaRendida.GuiaRendidaID;
                        oGuiaDatos.GuiaEstadoHisID   = oGuiaEstado.GuiaEstadoHisID;
                        oGuiaDatos.EstadoGuiaDatosID = (int)SisPack.DatosEstadoRendicionAdministracionEnGuiaRendicion.GuiaID;
                        oGuiaDatos.Valor             = this.GuiaID.ToString();
                        oGuiaDatos.Guardar(transaccion);
                    }
                    //}
                    //catch (Exception ex)
                    //{

                    //}
                }
                else
                {
                    transaccion.Rollback();
                    return(false);
                }
            }
            //Diego 16/07/2013
            //Agregado para relacionar las rendiciones anteriores que no tienen guia de rendicion con la nueva rendicion que si tiene guia de rendicion
            if (GuiaID != 0)
            {
                AsociarRendiciones(transaccion, GuiaID, rendicionID);
            }
            return(true);
        }
        public bool Guardar(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario, int empresaTercerosID)
        {
            foreach (ConsolidadoGuias guiaConsolidado in this.guiasConsolidado)
            {
                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
                //GuiaEstadoHistoricoDatos oGuiaDatos = new GuiaEstadoHistoricoDatos();
                guiaConsolidado.ConsolidadoID = this.ConsolidadoID;                     //ID del Consolidado
                if (guiaConsolidado.Guardar(transaccion, empresaTercerosID))
                {
                    Config.Conexion.EjecutarSinResultados(transaccion, "GuiaEstadosHistoricosConsolidadoINS", guiaConsolidado.GuiaID, usuario.UsuarioID, agenciaUsuaria);

                    /*oGuiaEstado.GuiaID = guiaConsolidado.GuiaID;
                     * oGuiaEstado.EstadoGuiaID=(int)SisPack.ValorEstadoRedespacho.RedespachadaEmpresaTerceros;
                     * oGuiaEstado.TipoEstadoGuiaID= SisPack.TipoEstadoGuia.EstadoRedespacho;
                     * oGuiaEstado.UsuarioID=usuario.UsuarioID;
                     * oGuiaEstado.FechaHis= DateTime.Today;
                     * oGuiaEstado.AgenciaID= agenciaUsuaria;
                     * //oGuiaEstado.Observaciones = obs;
                     * oGuiaEstado.Observaciones = "";
                     * oGuiaEstado.Guardar(transaccion);
                     *
                     * GuiaEstadoHistorico guiaEstadoHistoricoMovimiento = new GuiaEstadoHistorico();
                     * guiaEstadoHistoricoMovimiento.AgenciaID = agenciaUsuaria;
                     * guiaEstadoHistoricoMovimiento.UsuarioID = usuario.UsuarioID;
                     * guiaEstadoHistoricoMovimiento.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoMovimiento;
                     * guiaEstadoHistoricoMovimiento.EstadoGuiaID = (int)SisPack.ValorEstadoMovimiento.EnViaje;
                     * guiaEstadoHistoricoMovimiento.FechaHis =  DateTime.Today;
                     * guiaEstadoHistoricoMovimiento.GuiaID = guiaConsolidado.GuiaID;
                     * guiaEstadoHistoricoMovimiento.Guardar(transaccion);
                     *
                     * GuiaEstadoHistorico guiaEstadoHistoricoEstatico = new GuiaEstadoHistorico();
                     * guiaEstadoHistoricoEstatico.AgenciaID = agenciaUsuaria;
                     * guiaEstadoHistoricoEstatico.UsuarioID = usuario.UsuarioID;
                     * guiaEstadoHistoricoEstatico.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                     * guiaEstadoHistoricoEstatico.EstadoGuiaID = (int)SisPack.ValorEstadoEstatico.EnTransito;
                     * guiaEstadoHistoricoEstatico.FechaHis =  DateTime.Today;
                     * guiaEstadoHistoricoEstatico.GuiaID = guiaConsolidado.GuiaID;
                     * guiaEstadoHistoricoEstatico.Guardar(transaccion);*/
                }
                else
                {
                    transaccion.Rollback();
                    return(false);
                }

                //Config.Conexion.EjecutarSinResultados(transaccion,"GuiaEstadosHistoricosConsolidadoINS", this.ConsolidadoID, usuario.UsuarioID,agenciaUsuaria);
            }
            return(true);
        }
 public bool Guardar(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario, bool validarStock)
 {
     foreach (GuiaUnidadLogisticaDetalle guiaUnidadLogistica in this.guiasUnidadesLogisticas)
     {
         GuiaEstadoHistorico      oGuiaEstado = new GuiaEstadoHistorico();
         GuiaEstadoHistoricoDatos oGuiaDatos  = new GuiaEstadoHistoricoDatos();
         guiaUnidadLogistica.GuiaID = this.GuiaID; //ID de la guía
         if (!guiaUnidadLogistica.Guardar(transaccion, validarStock))
         {
             transaccion.Rollback();
             return(false);
         }
     }
     return(true);
 }
        private void ActualizarEstadoGuia(int guiaID, int condicionGuiaRendida, string obs, int estadoGuiaID, System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario, int agenciaAdministracionID)
        {
            GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();

            oGuiaEstado.GuiaID = guiaID;
            if (condicionGuiaRendida == (int)SisPack.CondicionGuiaRendida.Conformada)
            {
                oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoAdministrativo.RendidaConformada;
                oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoAdministrativo;
            }
            oGuiaEstado.UsuarioID     = usuario.UsuarioID;
            oGuiaEstado.FechaHis      = DateTime.Today;
            oGuiaEstado.AgenciaID     = agenciaAdministracionID;
            oGuiaEstado.Observaciones = obs;
            oGuiaEstado.Guardar(transaccion);
        }
Example #10
0
        public bool RecibirGuiasAsociadasHojaRutaInterna(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
        {
            foreach (HojaRutaInternoGuia guiaHojaRutaInterno in this.guiasHojaRutaInterno)
            {
                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();

                //GuiaEstadoHistoricoDatos oGuiaDatos = new GuiaEstadoHistoricoDatos();
                //guiaRendida.GuiaID=this.GuiaID;

                if (guiaHojaRutaInterno.EnAgenciaDestino)
                {
                    /* VSA 28-08-2009: Si la guía ha sido recibida en el destino sin subirse a una hoja de ruta
                     * dicha guía debe quedar en estado Pendiente de entrega Offline.
                     * */

                    IGuia oGuia = new Guia();
                    oGuia.GuiaID = guiaHojaRutaInterno.GuiaID;
                    if (oGuia.EsGuiaRecepcionLibre())
                    {
                        oGuiaEstado                  = new GuiaEstadoHistorico();
                        oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
                        oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoAdministrativo.PendienteViajeOffLine;
                        oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoAdministrativo;
                        oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                        oGuiaEstado.FechaHis         = DateTime.Now;
                        oGuiaEstado.AgenciaID        = agenciaUsuaria;
                        oGuiaEstado.Observaciones    = "";
                        oGuiaEstado.Guardar(transaccion);
                    }
                    else
                    {
                        oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
                        oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoSubAgencias.EnAgenciaMadre;
                        oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoSubAgencias;
                        oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                        oGuiaEstado.FechaHis         = DateTime.Today;
                        oGuiaEstado.AgenciaID        = agenciaUsuaria;
                        //oGuiaEstado.Observaciones = obs;
                        oGuiaEstado.Observaciones = "";
                        oGuiaEstado.Guardar(transaccion);

                        int agID = 0;
                        if (guiaHojaRutaInterno.AgenciaDestinoID == 0)
                        {
                            agID = guiaHojaRutaInterno.PuntoRecepcionID * -1;
                        }
                        else
                        {
                            agID = guiaHojaRutaInterno.AgenciaDestinoID;
                        }

                        // Verifico si la guía se debe redespachar o dejar pendiente de viaje
                        int esAgenciaRedespacho = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("AgenciaReferenciaRedespachoSEL", agID, agenciaUsuaria));

                        if (esAgenciaRedespacho > 0)
                        {
                            oGuiaEstado                  = new GuiaEstadoHistorico();
                            oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
                            oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.EnAgenciaDeRedespacho;
                            oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                            oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                            oGuiaEstado.FechaHis         = DateTime.Now;
                            oGuiaEstado.AgenciaID        = agenciaUsuaria;
                            oGuiaEstado.Observaciones    = "";
                            oGuiaEstado.Guardar(transaccion);

                            //nuevo 02-02-07
                            //EstadoRedespacho - Pendiente de Redespacho
                            oGuiaEstado                  = new GuiaEstadoHistorico();
                            oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
                            oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.PendienteRedespacho;
                            oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                            oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                            oGuiaEstado.FechaHis         = DateTime.Now;
                            oGuiaEstado.AgenciaID        = agenciaUsuaria;
                            oGuiaEstado.Observaciones    = "";
                            oGuiaEstado.Guardar(transaccion);
                        }
                        else
                        {
                            oGuiaEstado                  = new GuiaEstadoHistorico();
                            oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
                            oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoMovimiento.PendienteDeViaje;
                            oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoMovimiento;
                            oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                            oGuiaEstado.FechaHis         = DateTime.Now;
                            oGuiaEstado.AgenciaID        = agenciaUsuaria;
                            //oGuiaEstado.Observaciones = obs;
                            oGuiaEstado.Observaciones = "";
                            oGuiaEstado.Guardar(transaccion);
                        }
                    }
                    oGuia = null;
                }
                else                 //Quiere decir que la guia no llegó y le debe aparecer nuevamente a la agencia que emitió la HojaRutaInterna
                {
                    oGuiaEstado.GuiaID           = guiaHojaRutaInterno.GuiaID;
                    oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoSubAgencias.PendienteAsignarHojaRutaInterna;
                    oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoSubAgencias;
                    oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                    oGuiaEstado.FechaHis         = DateTime.Today;
                    oGuiaEstado.AgenciaID        = agenciaUsuaria;
                    //oGuiaEstado.Observaciones = obs;
                    oGuiaEstado.Observaciones = "";
                    oGuiaEstado.Guardar(transaccion);
                }
            }
            return(true);
        }
Example #11
0
        public bool GuardarHRAprobacion(System.Data.SqlClient.SqlTransaction transaccion, int AgenciaConectadaID, DateTime FechaHis, IUsuarios usuario, int HRID)
        {
            // Verifico si el detalle tiene una Hoja de Ruta anterior de donde debo eliminarla. (esto es por el desarrollo de colectora).
            if (this.HojaRutaIDABorrar > 0)
            {
                Config.Conexion.EjecutarSinResultados(transaccion, "HojaRutaGuiaColectoraBorrar", this.GuiaID, this.HojaRutaIDABorrar);
            }

            //No le paso el parámetro del campo Observaciones, porque este se genera dentro del SP, de acuerdo a los datos de la guia
            Config.Conexion.EjecutarSinResultados(transaccion, "HojaRutaDetalleGuiaINS", Utiles.BaseDatos.IntToSql(this.HojaRutaID),
                                                  Utiles.BaseDatos.IntToSql(this.HojaRutaDetalleID), Utiles.BaseDatos.IntToSql(this.GuiaID),
                                                  AgenciaConectadaID, this.VerificadaPorColectora);

            if (this.EstadoHojaRutaID != SisPack.EstadoHojaRuta.ConfirmadaOFFLine)
            {
                if (this.Confirmar)
                {
                    //aca es donde tiene que ingresar la ultima agencia de la guia
                    //lo que yo haria seria sacar la agencia del ultimo estado de la guia y esa es la que lo saca en viaje

                    GuiaEstadoHistorico guiaEstadoHistoricoMovimiento = new GuiaEstadoHistorico();

                    int agencia = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", HRID));
                    //trae la agencia de quien emitio la guia
                    guiaEstadoHistoricoMovimiento.AgenciaID        = agencia;
                    guiaEstadoHistoricoMovimiento.UsuarioID        = usuario.UsuarioID;
                    guiaEstadoHistoricoMovimiento.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoMovimiento;
                    guiaEstadoHistoricoMovimiento.EstadoGuiaID     = (int)SisPack.ValorEstadoMovimiento.EnViaje;
                    guiaEstadoHistoricoMovimiento.FechaHis         = FechaHis;
                    guiaEstadoHistoricoMovimiento.GuiaID           = this.GuiaID;

                    //Setear Datos asociados para guardar en la tabla GuiaEstadoHistoricoDatos
                    guiaEstadoHistoricoMovimiento.HtParams.Add((int)SisPack.DatosEstadoMovimientoEnViaje.NroHojaRuta, this.HojaRutaID.ToString());

                    if (!guiaEstadoHistoricoMovimiento.Guardar(transaccion))
                    {
                        return(false);
                    }

                    //SFE: 04/01/2011: Modificado para la nueva implementacion de Orden Logico de Estados de Guias
                    // Si la guia tuvo otros estados de movimiento entre su Emision y su puesta en Viaje NO actualizar el Estado Estático con Ninguno
                    //int movimientosGuia = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("GuiaCantidadMovimientos", this.GuiaID, AgenciaConectadaID));
                    int movimientosGuia = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("GuiaCantidadMovimientos", this.GuiaID));

                    if (movimientosGuia == 0)
                    {
                        GuiaEstadoHistorico guiaEstadoHistoricoEstatico = new GuiaEstadoHistorico();

                        int agencias = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", this.GuiaID));
                        //trae la agencia de quien emitio la guia
                        guiaEstadoHistoricoEstatico.AgenciaID        = agencias;
                        guiaEstadoHistoricoEstatico.UsuarioID        = usuario.UsuarioID;
                        guiaEstadoHistoricoEstatico.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                        guiaEstadoHistoricoEstatico.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.Ninguno;
                        guiaEstadoHistoricoEstatico.FechaHis         = FechaHis;
                        guiaEstadoHistoricoEstatico.GuiaID           = this.GuiaID;


                        if (!guiaEstadoHistoricoEstatico.Guardar(transaccion))
                        {
                            return(false);
                        }
                    }


                    // Verifico si la guía está conformada. Esto puede suceder en el caso en que una guía se sube
                    // a una hoja de ruta on line y no se confirma, luego la guía se recibe y conforma y después
                    // se confirma la hoja de ruta. En este caso, hay que insertar adicionalmente el estado
                    // "Ninguno" / "En Movimiento".
                    Config.Conexion.EjecutarSinResultados(transaccion, "GuiaEnHRConformada", this.GuiaID, AgenciaConectadaID, usuario.UsuarioID);

                    //Modificar el campo "Subida" en la tabla GuiaRecepcionLibre
                    Config.Conexion.EjecutarSinResultados(transaccion, "GuiaRecepcionLibreUPD", this.GuiaID, AgenciaConectadaID);
                }
                else
                {
                    GuiaEstadoHistorico guiaEstadoHistoricoEstatico = new GuiaEstadoHistorico();
                    int ag = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", this.GuiaID));
                    guiaEstadoHistoricoEstatico.AgenciaID        = ag;
                    guiaEstadoHistoricoEstatico.UsuarioID        = usuario.UsuarioID;
                    guiaEstadoHistoricoEstatico.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                    guiaEstadoHistoricoEstatico.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.EnTransito;
                    guiaEstadoHistoricoEstatico.FechaHis         = FechaHis;
                    guiaEstadoHistoricoEstatico.GuiaID           = this.GuiaID;


                    if (!guiaEstadoHistoricoEstatico.Guardar(transaccion))
                    {
                        return(false);
                    }
                }
            }
            else // se asoció a una hoja de ruta off-line
            {
                if (this.Confirmar)
                {
                    // si la guía está en la tabla "GuiaRecepcionLibre", significa que se recibió antes de ser
                    // subida a una hoja de ruta, con lo cual se debe insertar el nuevo estado. Además se debe
                    // modificar el campo correspondiente en la tabla "GuiaRecepcionLibre".
                    int recepcionLibre = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("GuiaConRecepcionLibre", this.GuiaID));

                    if (recepcionLibre > 0)
                    {
                        GuiaEstadoHistorico guiaEstadoHistoricoMovimiento = new GuiaEstadoHistorico();
                        int ag = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", this.GuiaID));
                        guiaEstadoHistoricoMovimiento.AgenciaID        = ag;
                        guiaEstadoHistoricoMovimiento.UsuarioID        = usuario.UsuarioID;
                        guiaEstadoHistoricoMovimiento.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoAdministrativo;
                        guiaEstadoHistoricoMovimiento.EstadoGuiaID     = (int)SisPack.ValorEstadoAdministrativo.EnViajeOffLine;
                        guiaEstadoHistoricoMovimiento.FechaHis         = FechaHis;
                        guiaEstadoHistoricoMovimiento.GuiaID           = this.GuiaID;

                        //Setear Datos asociados para guardar en la tabla GuiaEstadoHistoricoDatos
                        guiaEstadoHistoricoMovimiento.HtParams.Add((int)SisPack.DatosEstadoMovimientoEnViaje.NroHojaRuta, this.HojaRutaID.ToString());

                        //Modificar el campo "Subida" en la tabla GuiaRecepcionLibre
                        Config.Conexion.EjecutarSinResultados(transaccion, "GuiaRecepcionLibreUPD", this.GuiaID, AgenciaConectadaID);

                        if (!guiaEstadoHistoricoMovimiento.Guardar(transaccion))
                        {
                            return(false);
                        }
                    }
                    else
                    {
                        // Si no está en la tabla "GuiaRecepcionLibre", se debe insertar el estado "EnViaje"
                        // como en los casos normales
                        GuiaEstadoHistorico guiaEstadoHistoricoMovimiento = new GuiaEstadoHistorico();
                        int ag = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", this.GuiaID));
                        guiaEstadoHistoricoMovimiento.AgenciaID        = ag;
                        guiaEstadoHistoricoMovimiento.UsuarioID        = usuario.UsuarioID;
                        guiaEstadoHistoricoMovimiento.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoMovimiento;
                        guiaEstadoHistoricoMovimiento.EstadoGuiaID     = (int)SisPack.ValorEstadoMovimiento.EnViaje;
                        guiaEstadoHistoricoMovimiento.FechaHis         = FechaHis;
                        guiaEstadoHistoricoMovimiento.GuiaID           = this.GuiaID;

                        //Setear Datos asociados para guardar en la tabla GuiaEstadoHistoricoDatos
                        guiaEstadoHistoricoMovimiento.HtParams.Add((int)SisPack.DatosEstadoMovimientoEnViaje.NroHojaRuta, this.HojaRutaID.ToString());

                        if (!guiaEstadoHistoricoMovimiento.Guardar(transaccion))
                        {
                            return(false);
                        }

                        //SFE: 04/01/2011: Modificado para la nueva implementacion de Orden Logico de Estados de Guias
                        // Si la guia tuvo otros estados de movimiento entre su Emision y su puesta en Viaje NO actualizar el Estado Estático con Ninguno
                        int movimientosGuia = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("GuiaCantidadMovimientos", this.GuiaID));

                        if (movimientosGuia == 0)
                        {
                            GuiaEstadoHistorico guiaEstadoHistoricoEstatico = new GuiaEstadoHistorico();
                            int age = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", this.GuiaID));
                            guiaEstadoHistoricoEstatico.AgenciaID        = age;
                            guiaEstadoHistoricoEstatico.UsuarioID        = usuario.UsuarioID;
                            guiaEstadoHistoricoEstatico.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                            guiaEstadoHistoricoEstatico.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.Ninguno;
                            guiaEstadoHistoricoEstatico.FechaHis         = FechaHis;
                            guiaEstadoHistoricoEstatico.GuiaID           = this.GuiaID;


                            if (!guiaEstadoHistoricoEstatico.Guardar(transaccion))
                            {
                                return(false);
                            }
                        }
                    }



                    // TODO: Agregar llamado a SP para que modifique la guía en la tabla "GuiaRecepcionLibre",
                    // si existe.
                }
                else
                {
                    GuiaEstadoHistorico guiaEstadoHistoricoEstatico = new GuiaEstadoHistorico();
                    int age = Convert.ToInt32(Config.Conexion.EjecutarResultadoUnico("getAgenciHojaRutaAprobacion", this.GuiaID));
                    guiaEstadoHistoricoEstatico.AgenciaID        = age;
                    guiaEstadoHistoricoEstatico.UsuarioID        = usuario.UsuarioID;
                    guiaEstadoHistoricoEstatico.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                    guiaEstadoHistoricoEstatico.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.EnTransito;
                    guiaEstadoHistoricoEstatico.FechaHis         = FechaHis;
                    guiaEstadoHistoricoEstatico.GuiaID           = this.GuiaID;


                    if (!guiaEstadoHistoricoEstatico.Guardar(transaccion))
                    {
                        return(false);
                    }
                }
            }


            /*GuiaEstadoHistoricoDatos oGuiaEstadoHistoricoDatos = new GuiaEstadoHistoricoDatos();
             * oGuiaEstadoHistoricoDatos.GuiaID = this.GuiaID;
             * oGuiaEstadoHistoricoDatos.GuiaEstadoHisID = guiaEstadoHistorico.GuiaEstadoHisID;
             * oGuiaEstadoHistoricoDatos.EstadoGuiaDatosID = (int)SisPack.DatosEstadoMovimientoEnViaje.NroHojaRuta;
             * oGuiaEstadoHistoricoDatos.Valor = this.HojaRutaID.ToString();
             * if (!oGuiaEstadoHistoricoDatos.Guardar(transaccion))
             *  return false;*/


            return(true);
        }
        public bool RecibirGuiasAsociadasConsolidado(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
        {
            foreach (ConsolidadoGuias guiaConsolidado in this.guiasConsolidado)
            {
                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
                if (guiaConsolidado.EnAgenciaDestino)
                {
                    /* --Estaba así hasta el 27/02/2009
                     * Guia guia=new Guia();
                     * guia.GuiaID=guiaConsolidado.GuiaID;
                     * guia.Ingresada("",agenciaUsuaria,transaccion,usuario);
                     */

                    Guia guia = new Guia();
                    guia.GuiaID = guiaConsolidado.GuiaID;
                    guia.Consultar();

                    // Reviso si la guía esta en condiciones de ser recibida
                    if (guiaConsolidado.EnCondicionesDeSerRecibidaPorAgencia)
                    {
                        // La guía esta en condiciones de ser recibida. Registro los estados correspondientes

                        // Si la agencia de destino del consolidado es la misma que la que lo recibe
                        // la guía queda pendiente de entrega, sino en agencia de trasbordo
                        if (guia.AgenciaDestinoID == agenciaUsuaria)
                        {
                            guia.Ingresada("", agenciaUsuaria, transaccion, usuario);
                        }
                        else
                        {
                            guia.Trasbordo("", agenciaUsuaria, transaccion, usuario);
                        }
                    }


                    /*
                     * oGuiaEstado.GuiaID = guiaConsolidado.GuiaID;
                     * oGuiaEstado.EstadoGuiaID=(int)SisPack.ValorEstadoEstatico.EnDestino;
                     * oGuiaEstado.TipoEstadoGuiaID= SisPack.TipoEstadoGuia.EstadoEstatico;
                     * oGuiaEstado.UsuarioID=usuario.UsuarioID;
                     * oGuiaEstado.FechaHis= DateTime.Today;
                     * oGuiaEstado.AgenciaID= agenciaUsuaria;
                     * //oGuiaEstado.Observaciones = obs;
                     * oGuiaEstado.Observaciones = "";
                     * oGuiaEstado.Guardar(transaccion);
                     */
                }
                else                 //Quiere decir que la guia no llegó y le debe aparecer nuevamente a la agencia que emitió el consolidado
                {
                    // Consulto cuál fue la agencia que generó el consolidado
                    Consolidado consolidado = new Consolidado();
                    consolidado.ConsolidadoID = this.ConsolidadoID;
                    consolidado.Consultar();

                    //agenciaUsuaria = consolidado.AgenciaID;

                    oGuiaEstado.GuiaID           = guiaConsolidado.GuiaID;
                    oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoEstatico.PendienteRedespacho;
                    oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoEstatico;
                    oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                    oGuiaEstado.FechaHis         = DateTime.Today;
                    oGuiaEstado.AgenciaID        = consolidado.AgenciaID;
                    oGuiaEstado.Observaciones    = "";
                    oGuiaEstado.Guardar(transaccion);
                }
            }
            return(true);
        }
        public bool RecibirGuiasAsociadas(System.Data.SqlClient.SqlTransaction transaccion, IUsuarios usuario)
        {
            foreach (GuiaRendicionDetalle guiaRendida in this.guiasRendidas)
            {
                GuiaEstadoHistorico oGuiaEstado = new GuiaEstadoHistorico();
                //GuiaEstadoHistoricoDatos oGuiaDatos = new GuiaEstadoHistoricoDatos();
                //guiaRendida.GuiaID=this.GuiaID;

                if (guiaRendida.EnAdministracion)
                {
                    /*SFE: Ver si la guia con servicio que debe rendirse es para cliente eventual o corporativo*/
                    IGuia guia = new Guia();
                    guia.GuiaID = guiaRendida.GuiaRendidaID;
                    DsGuiaFactura ds = new DsGuiaFactura();
                    ds = guia.GetGuiaFacturaByGuiaID();
                    bool eventual = false;

                    if (ds.Datos != null && ds.Datos.Rows.Count > 0)
                    {
                        DsGuiaFactura.DatosRow dr = (DsGuiaFactura.DatosRow)ds.Datos.Rows[0];
                        if ((dr.TipoAgenteGuiaPagoID == (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Remitente && dr.IsRemitenteClienteNull()) || (dr.TipoAgenteGuiaPagoID == (int)NegociosSisPackInterface.SisPack.TipoAgenteGuia.Destinatario && dr.IsDestinatarioClienteNull()))
                        {
                            eventual = true;
                        }
                    }

                    /*Si la guia es de un cliente eventual y debe rendirse entonces se cierra el circuito administrativo*/
                    if (eventual)
                    {
                        oGuiaEstado.GuiaID           = guiaRendida.GuiaRendidaID;
                        oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoRendicionAdministracion.Ninguno;
                        oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoRendicionAdministracion;
                        oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                        oGuiaEstado.FechaHis         = DateTime.Today;
                        oGuiaEstado.AgenciaID        = agenciaUsuaria;
                        //oGuiaEstado.Observaciones = obs;
                        oGuiaEstado.Observaciones = "";
                        oGuiaEstado.Guardar(transaccion);
                    }
                    /*Si la guia es de un cliente corporativo y debe rendirse entonces se debe seguir con el circuito administrativo*/
                    else
                    {
                        oGuiaEstado.GuiaID           = guiaRendida.GuiaRendidaID;
                        oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoRendicionAdministracion.PendienteAsignarPlanillaRendicCliente;
                        oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoRendicionAdministracion;
                        oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                        oGuiaEstado.FechaHis         = DateTime.Today;
                        oGuiaEstado.AgenciaID        = agenciaUsuaria;
                        //oGuiaEstado.Observaciones = obs;
                        oGuiaEstado.Observaciones = "";
                        oGuiaEstado.Guardar(transaccion);
                    }
                }
                else //Quiere decir que la guia no llegó y le debe aparecer nuevamente a la agencia que emitió la guia de rendición, para asociarla a una nueva guía de rendición
                {
                    oGuiaEstado.GuiaID           = guiaRendida.GuiaRendidaID;
                    oGuiaEstado.EstadoGuiaID     = (int)SisPack.ValorEstadoRendicionAdministracion.PendienteAsignarGuiaRendicion;
                    oGuiaEstado.TipoEstadoGuiaID = SisPack.TipoEstadoGuia.EstadoRendicionAdministracion;
                    oGuiaEstado.UsuarioID        = usuario.UsuarioID;
                    oGuiaEstado.FechaHis         = DateTime.Today;
                    oGuiaEstado.AgenciaID        = agenciaUsuaria;
                    //oGuiaEstado.Observaciones = obs;
                    oGuiaEstado.Observaciones = "";
                    oGuiaEstado.Guardar(transaccion);
                }
            }
            return(true);
        }