/// <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); }
/// <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); }