/// <summary> /// Click en algún botón del GV de Movimientos Pendientes /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkbMovimientoPendiente_Click(object sender, EventArgs e) { //Validando que existen Registros if (gvMovimientosPendientes.DataKeys.Count > 0) { //Obteniendo Control LinkButton lkb = (LinkButton)sender; //Declarando retorno de operación TSDK.Base.RetornoOperacion resultado = new TSDK.Base.RetornoOperacion(); //seleccionando fila TSDK.ASP.Controles.SeleccionaFila(gvMovimientosPendientes, sender, "lnk", false); //Instanciamos nuestro movimiento using (SAT_CL.Despacho.Movimiento objMovimiento = new SAT_CL.Despacho.Movimiento(Convert.ToInt32(gvMovimientosPendientes.SelectedDataKey["NoMovimiento"]))) { //Si el movimiento pertenece a un servicio if (objMovimiento.id_servicio > 0) { //Instanciamos nuestro servicio using (SAT_CL.Documentacion.Servicio objServicio = new SAT_CL.Documentacion.Servicio(objMovimiento.id_servicio)) //Realizamos la actualizacion del kilometraje resultado = objServicio.CalculaKilometrajeServicio(objMovimiento.id_movimiento, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } //En caso contrario else { //Actualizando kilometraje de de movimiento resultado = SAT_CL.Despacho.Movimiento.ActualizaKilometrajeMovimiento(objMovimiento.id_movimiento, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } //Si no hay errores if (resultado.OperacionExitosa) { //Actualizando lista de movimientos pendientes cargaMovimientosPendiente(); //Validando que existan Movimientos if (!Validacion.ValidaOrigenDatos(OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table2"))) { //Mostrar venta modal de movimientos pendientes TSDK.ASP.ScriptServer.AlternarVentana(lkb, "MovimientosPendientes", "ventanaMovimientosPendientesModal", "ventanaMovimientosPendientes"); //Actualizando Kilometraje Pendiente cargaKilometrajePendiente(); } } //Mostrando resultado de actualización TSDK.ASP.ScriptServer.MuestraNotificacion(lkb, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha); } }
/// <summary> /// Evento Producido al Actualizar Todos los Movimientos /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnActualizarMovimientos_Click(object sender, EventArgs e) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Cargando Reporte using (DataTable mit = SAT_CL.Despacho.Movimiento.CargaMovimientosSinKilometraje(((UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor, Convert.ToInt32(gvKilometrajesPendientes.SelectedDataKey["IdOrigen"]), Convert.ToInt32(gvKilometrajesPendientes.SelectedDataKey["IdDestino"]))) { //Validando que existan Registros if (Validacion.ValidaOrigenDatos(mit)) { //Inicializando Bloque Transaccional using (TransactionScope trans = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Recorriendo Movimientos foreach (DataRow dr in mit.Rows) { //Instanciamos nuestro movimiento using (SAT_CL.Despacho.Movimiento objMovimiento = new SAT_CL.Despacho.Movimiento(Convert.ToInt32(dr["NoMovimiento"]))) { //Si el movimiento pertenece a un servicio if (objMovimiento.id_servicio > 0) { //Instanciamos nuestro servicio using (SAT_CL.Documentacion.Servicio objServicio = new SAT_CL.Documentacion.Servicio(objMovimiento.id_servicio)) //Realizamos la actualizacion del kilometraje result = objServicio.CalculaKilometrajeServicio(objMovimiento.id_movimiento, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } //En caso contrario else { //Actualizando kilometraje de de movimiento result = SAT_CL.Despacho.Movimiento.ActualizaKilometrajeMovimiento(objMovimiento.id_movimiento, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } //Si la Operación no fuese Exitosa if (!result.OperacionExitosa) { //Terminando Ciclo break; } } } //Validando Operación Exitosa if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); } } } else { //Instanciando Excepción result = new RetornoOperacion("No existen Movimientos por Actualizar"); } //Validando Operación Exitosa if (result.OperacionExitosa) { //Actualizando lista de movimientos pendientes cargaMovimientosPendiente(); //Mostrar venta modal de movimientos pendientes TSDK.ASP.ScriptServer.AlternarVentana(btnActualizarMovimientos, "MovimientosPendientes", "ventanaMovimientosPendientesModal", "ventanaMovimientosPendientes"); //Actualizando Kilometraje Pendiente cargaKilometrajePendiente(); } //Mostrando Resultado de Operación ScriptServer.MuestraNotificacion(btnActualizarMovimientos, result, ScriptServer.PosicionNotificacion.AbajoDerecha); } }