Exemplo n.º 1
0
        /// <summary>
        /// Actualiza el Estatus del Paquete
        /// </summary>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public RetornoOperacion ActualizaEstatusGeneralPaquete(int id_usuario)
        {
            //Declaramos Variable Estatus
            bool Registrado, Transito, Recibido, EnAclaracion, NoRecibido;

            //Declaramos estatus
            EstatusPaqueteEnvio estatus = EstatusPaqueteEnvio.No_Recibido;

            //Cargamos Estatus de los Paquetes
            PaqueteEnvioDocumento.CargaEstatusPaqueteEnvioDocumento(this._id_paquete_envio, out Registrado, out Transito,
                                                                    out Recibido, out EnAclaracion, out NoRecibido);
            //Determinamos estatua para actualizar el Paquete
            //Si existe por lo menos un documento en aclaración
            if (EnAclaracion)
            {
                estatus = EstatusPaqueteEnvio.En_Aclaracion;
            }
            else
            {
                //Si existe solo documentos Recibidos
                if (!Registrado && !Transito && Recibido && !EnAclaracion && !NoRecibido)
                {
                    estatus = EstatusPaqueteEnvio.Recibido;
                }
                else
                {
                    //Si existe solo documentos en NO Recibidos
                    if (!Registrado && !Transito && !Recibido && !EnAclaracion && NoRecibido)
                    {
                        estatus = EstatusPaqueteEnvio.No_Recibido;
                    }
                    else
                    {
                        //Si existe solo documentos en transito
                        if (Transito)
                        {
                            //Si por lo meno existe un documento Recibido
                            if (Recibido)
                            {
                                estatus = EstatusPaqueteEnvio.Recibido_Parcial;
                            }
                            else if (Registrado)
                            {
                                estatus = EstatusPaqueteEnvio.Registrado;
                            }
                            else
                            {
                                //Asignamos Estatus a Transito
                                estatus = EstatusPaqueteEnvio.Transito;
                            }
                        }
                        else
                        {
                            //Asignamos estatus a Recibido
                            estatus = EstatusPaqueteEnvio.Recibido;
                        }
                    }
                }
            }

            //Declaramos Fecha de llegada y Salida
            DateTime fecha_llegada = this._fecha_llegada;
            DateTime fecha_salida  = this._fecha_salida;


            // Validamos si el Estatus  acual es a Registrado y el estatus a asignar  es Transito
            if ((EstatusPaqueteEnvio)this._id_estatus == EstatusPaqueteEnvio.Registrado && estatus == EstatusPaqueteEnvio.Transito)
            {
                //Actualizamos la fecha de salida
                fecha_salida = TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro();
            }
            else
            {
                // Validamos que el estatus Actua y por asignar se ha diferente de Registrado
                if ((EstatusPaqueteEnvio)this._id_estatus != EstatusPaqueteEnvio.Registrado && estatus != EstatusPaqueteEnvio.Registrado)
                {
                    //Actualizamos la fecha de llegada
                    fecha_llegada = Fecha.EsFechaMinima(this._fecha_llegada) ? TSDK.Base.Fecha.ObtieneFechaEstandarMexicoCentro() : this._fecha_llegada;
                }
            }

            //Actualizamos Estatus del Paquete
            return(this.actualizaRegistros(this._id_compania_emisor, this._id_terminal_origen, this._id_terminal_destino, estatus, fecha_salida,
                                           fecha_llegada, this._id_medio_envio, this._referencia_envio, id_usuario, this._habilitar));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Método Privado encargado de Actualizar los Registros en la BD
        /// </summary>
        /// <param name="id_compania_emisor">Id de Compañía Emisor</param>
        /// <param name="id_terminal_origen">Terminal de Origen</param>
        /// <param name="id_terminal_destino">Terminal de Destino</param>
        /// <param name="id_estatus">estatus</param>
        /// <param name="fecha_salida">Fecha de Salida</param>
        /// <param name="fecha_llegada">Fecha de Llegada</param>
        /// <param name="id_medio_envio">Medio de Envio</param>
        /// <param name="referencia_envio">Referencia del Envio</param>
        /// <param name="id_usuario">Id de Usuario</param>
        /// <param name="habilitar">Estatus Habilitado</param>
        /// <returns></returns>
        private RetornoOperacion actualizaRegistros(int id_compania_emisor, int id_terminal_origen, int id_terminal_destino, EstatusPaqueteEnvio id_estatus,
                                                    DateTime fecha_salida, DateTime fecha_llegada, int id_medio_envio,
                                                    string referencia_envio, int id_usuario, bool habilitar)
        {   //Declarando objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Armando Objeto de Parametros del SP
            object[] param = { 2,                                            this._id_paquete_envio, id_compania_emisor, id_terminal_origen, id_terminal_destino, (byte)id_estatus,
                               Fecha.ConvierteDateTimeObjeto(fecha_salida),
                               Fecha.ConvierteDateTimeObjeto(fecha_llegada),
                               id_medio_envio,                               referencia_envio,
                               id_usuario,                                   habilitar,              "",                 "" };
            //Obteniendo Resultado del SP
            result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);
            //Devolviendo Resultado Obtenido
            return(result);
        }