Example #1
0
        /// <summary>
        /// Edita la Fecha de Termino del Movimiento
        /// </summary>
        /// <param name="fecha_termino">Fecha de termino del movimiento / Inicio de la Estancia</param>
        /// <param name="tipo_llegada">Tipo actualización  de la fecha de llegada de la parada</param>
        /// <param name="tipo_actualizacion_inicio">Tipo actualización  de la fecha de inicio de la estancia</param>
        /// <param name="id_usuario">Id Usuario actualiza</param>
        /// <returns></returns>
        public RetornoOperacion EditaFechaTerminoMovimiento(DateTime fecha_termino, Parada.TipoActualizacionLlegada tipo_llegada, EstanciaUnidad.TipoActualizacionInicio tipo_actualizacion_inicio, int id_usuario)
        {
            //Declarando objeto de retorno
            RetornoOperacion resultado = new RetornoOperacion();

            //Validando estatus actual del movimiento
            if (this.EstatusMovimiento == Estatus.Terminado)
            {
                //Iniciando transacción
                using (TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
                {
                    //Validando que las unidades involucradas se encuentren:
                    //Asociadas aún al servicio y en estatus ocupado
                    //Disponibles en la ubicación de fin del movimiento y sin ningún movimiento asignado
                    resultado = MovimientoAsignacionRecurso.ValidaRecursosParaReversaTerminaMovimiento(this._id_movimiento);

                    //Validamos Resultado
                    if (resultado.OperacionExitosa)
                    {
                        //Validamos que no existan pagos ligados al movimeinto
                        resultado = validaPagos();

                        //Validamos Resultado
                        if (resultado.OperacionExitosa)
                        {
                            //Actualizamos la fecha de llegada de las Estancias
                            resultado = EstanciaUnidad.EditaEstanciasUnidadFechaInicio(this._id_parada_destino, fecha_termino, tipo_actualizacion_inicio, id_usuario);

                            //Validamos Resultado
                            if (resultado.OperacionExitosa)
                            {
                                //Instanciamos Parada destino
                                using (Parada objParadaDestino = new Parada(this._id_parada_destino))
                                {
                                    //Editamos fecha de llegada de la parada
                                    resultado = objParadaDestino.EditaFechaLlegadaParada(fecha_termino, tipo_llegada, 0, id_usuario);
                                }
                            }
                        }
                    }
                }
            }
            //Devolvemos Resultado
            return(resultado);
        }
Example #2
0
        /// <summary>
        /// Inicializamos Controles Movimiento en Vacio
        /// </summary>
        /// <param name="idCompania">Id Compania del Servicio</param>
        /// <param name="idParadaActual">Id Parada Actual</param>
        /// <param name="tipoActualizaionFin">Tipo de Actualización Fin de la Estancia (Manual, GPS, APP)</param>
        public void InicializaControl(int idCompania, int idParadaActual, Parada.TipoActualizacionLlegada tipoActualizacionLlegada, Parada.TipoActualizacionSalida tipoActualizacionSalida, EstanciaUnidad.TipoActualizacionInicio tipoActuailizacionInicio,
                                      EstanciaUnidad.TipoActualizacionFin tipoActualizaionFin)
        {
            //Asignamo Atributos
            this._id_compania_emisor        = idCompania;
            this._id_tipo_actualizacion_fin = tipoActualizaionFin;
            this._id_parada           = idParadaActual;
            this._id_ubicacion_origen = 0;  //Se actualiza con el Id de Ubicación de la unidad principal del movimiento

            //Instanciamos Parada
            using (Parada objParada = new Parada(idParadaActual))
            {
                //Declaramos Variables para la Unidad por modificar ubicación
                int id_unidad = 0;

                //Asignando Atributos
                this._id_servicio = objParada.id_servicio;

                //Cargamos la Unidade que se asignarón a la Parada pero se encuentran en una ubicación distinta
                MovimientoAsignacionRecurso.CargaRecursoAsignadoAParadaDifUbicacion(idParadaActual, objParada.id_ubicacion, out id_unidad, out this._id_ubicacion_origen);

                //Instanciamos Unidad
                using (SAT_CL.Global.Unidad objUnidad = new SAT_CL.Global.Unidad(id_unidad))
                {
                    //Si existe unidad a mover
                    if (objUnidad.id_unidad > 0)
                    {
                        //Instanciamos Tipo de Unidad
                        using (SAT_CL.Global.UnidadTipo objUnidadTipo = new SAT_CL.Global.UnidadTipo(objUnidad.id_tipo_unidad))
                        {
                            //Cargamos Catalogos
                            cargaCatalogos(this._id_ubicacion_origen);

                            //Validamos Tipo de Unidad para Inicializar y habilitar Controles
                            if (objUnidadTipo.bit_motriz == true)
                            {
                                //Inicializamos Controles
                                inicializaValoresUnidad(objUnidad.id_unidad);
                                //Habilitamos Controles
                                habilitarControlesUnidad();
                            }
                            else
                            {
                                //Inicializamos Controles
                                inicializaValoresRemolque(objUnidad.id_unidad);
                                //Habilitamos Controles
                                habilitaControlesRemolque();
                            }
                        }
                    }
                    else
                    {
                        //Inicializamos Controles
                        inicializaValores();
                        //Habilitamos Controles
                        habilitarControles();
                    }
                }
            }
        }
        /// <summary>
        /// Inicializamos Controles Movimiento en Vacio Sin Orden
        /// </summary>
        /// <param name="id_recurso">Id Recurso</param>
        /// <param name="id_compania_emisor">Id Compañia Emisor</param>
        /// <param name="tipoActualizaionFin">Tipo de Actualización Fin de la Estancia (Manual, GPS, APP)</param>
        public RetornoOperacion InicializaControl(int id_recurso, int id_compania_emisor, Parada.TipoActualizacionLlegada tipoActualizacionLlegada, Parada.TipoActualizacionSalida tipoActualizacionSalida, EstanciaUnidad.TipoActualizacionInicio tipoActuailizacionInicio,
                                                  EstanciaUnidad.TipoActualizacionFin tipoActualizaionFin)
        {
            //Declaramos Objeto Resultado
            RetornoOperacion resultado = new RetornoOperacion();

            //Asignamo Atributos
            this._id_tipo_actualizacion_fin = tipoActualizaionFin;
            this._id_recurso          = id_recurso;
            this._id_compania_emisor  = id_compania_emisor;
            this._id_ubicacion_origen = 0;  //Se actualiza con la ubicación de la unidad seleccionada
            chkFechaActualMov.Checked = false;

            //Obtenemos Estancia Actual de la Unidad
            using (EstanciaUnidad objEstanciaUnidad = new EstanciaUnidad(EstanciaUnidad.ObtieneEstanciaUnidadIniciada(id_recurso)))
            {
                //Validamos Estancia de la Unidad
                if (objEstanciaUnidad.id_estancia_unidad > 0)
                {
                    this._fecha_llegada = objEstanciaUnidad.inicio_estancia;
                    //Instanciamos Parada
                    using (Parada objParada = new Parada(objEstanciaUnidad.id_parada))
                    {
                        //Instanciamos Unidad
                        using (SAT_CL.Global.Unidad objUnidad = new SAT_CL.Global.Unidad(id_recurso))
                        {
                            //Si existe unidad a mover
                            if (objUnidad.id_unidad > 0 && objUnidad.EstatusUnidad == Unidad.Estatus.ParadaDisponible)
                            {
                                //Instanciamos Tipo de Unidad
                                using (SAT_CL.Global.UnidadTipo objUnidadTipo = new SAT_CL.Global.UnidadTipo(objUnidad.id_tipo_unidad))
                                {
                                    //Guardando ubicación de origen del movimiento
                                    this._id_ubicacion_origen = objParada.id_ubicacion;

                                    //Cargamos Catalogos
                                    cargaCatalogos(objParada.id_ubicacion);

                                    //Validamos Tipo de Unidad para Inicializar y habilitar Controles
                                    if (objUnidadTipo.bit_motriz == true)
                                    {
                                        //Inicializamos Controles
                                        inicializaValoresUnidad(objUnidad.id_unidad);
                                        //Habilitamos Controles
                                        habilitarControlesUnidad(objUnidadTipo.bit_permite_arrastre);
                                        //sI LA
                                    }
                                    else
                                    {
                                        //Inicializamos Controles
                                        inicializaValoresRemolque(objUnidad.id_unidad);
                                        //Habilitamos Controles
                                        habilitaControlesRemolque();
                                    }
                                }
                                //Establecemos Resultado Exitoso
                                resultado = new RetornoOperacion(0);
                            }
                        }

                        //Inicializando Control de Lugar de Origen
                        lblLugarOrigen.Text = objParada.descripcion;
                        //Inicializamos Control Fecha de Llegada al Origen
                        lblFechaLlegada.Text = objEstanciaUnidad.inicio_estancia.ToString("dd/MM/yyyy HH:mm").ToString();
                    }
                }
            }
            //Devolvemos Resultado
            return(resultado);
        }