/// <summary> /// Evento Producido al dar click en boton Aceptar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAceptar_Click(object sender, EventArgs e) { string OpeAnt = ""; //Seleccionando fila GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios"); //Verificando que existan filas seleccionadas if (selected_rows.Length != 0) { foreach (GridViewRow row in selected_rows) { gvMovimientos.SelectedIndex = row.RowIndex; } using (DataTable dtAsignaciones = SAT_CL.Despacho.MovimientoAsignacionRecurso.CargaAsignaciones(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"]), MovimientoAsignacionRecurso.Estatus.Terminado)) { if (Validacion.ValidaOrigenDatos(dtAsignaciones)) { List <DataRow> operadores = (from DataRow op in dtAsignaciones.AsEnumerable() where Convert.ToInt32(op["IdTipoAsignacion"]) == 2 //&& Convert.ToInt32(op["IdEstatus"]) == 3 select op).ToList(); if (operadores.Count > 0) { foreach (DataRow dr in operadores) { using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"]))) if (mar.habilitar) { using (SAT_CL.Global.Operador o = new SAT_CL.Global.Operador(mar.id_recurso_asignado)) { OpeAnt = o.nombre + "Nuevo Operador:" + Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 0, "0"); } } } } } } } ucSoporte.InicializaControlUsuario(OpeAnt, 3, Convert.ToString(gvMovimientos.SelectedDataKey["NoServicio"])); //inicializaCambioOperador(OpeAnt); //Mostrando ventana modal correspondiente ScriptServer.AlternarVentana(btnAcepta, "Soporte", "soporteTecnicoModal", "soporteTecnico"); ScriptServer.AlternarVentana(btnAcepta, "CambioOpe", "cambioOperadorModal", "cambioOperador"); }
///// <summary> ///// Evento disparado al cambiar CheckedChanged propiedad de CheckBox ///// </summary> ///// <param name="sender"></param> ///// <param name="e"></param> //protected void chkTodos_CheckedChanged(object sender, EventArgs e) //{ //Validando Si el GridView contiene Registros // if (gvMovimientos.DataKeys.Count > 0) // { //Evalua el ID del CheckBox en el que se produce el cambio // switch (((CheckBox)sender).ID) // { //Caso para el CheckBox "Todos" // case "chkTodos"://Se crea un CheckBox donde se le asigna el Control CheckBox con el ID "chkTodos" // CheckBox chk = (CheckBox)gvMovimientos.HeaderRow.FindControl("chkTodos"); // //Asigna el Valor de "ChkTodos" a todos los Controles CheckBox // TSDK.ASP.Controles.SeleccionaFilasTodas(gvMovimientos, "chkVarios", chk.Checked); // break; // } // CargarDatos(); // } //} #endregion #region VentanaModal "Cambio Operador" /// <summary> /// Evento Producido al dar click en boton Cambiar /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lnkCambiar_Click(object sender, EventArgs e) { string OpeAnt = ""; //Creamos lita de registros List <KeyValuePair <string, byte[]> > registros = new List <KeyValuePair <string, byte[]> >(); //Creamos lista de errores List <string> errores = new List <string>(); //Verificando que el GridView contiene registros if (gvMovimientos.DataKeys.Count > 0) {//Obtiene filas seleccionadas using (SAT_CL.Documentacion.Servicio s = new SAT_CL.Documentacion.Servicio(txtNoServicio.Text, txtNoViaje.Text, ((SAT_CL.Seguridad.UsuarioSesion)Session["usuario_sesion"]).id_compania_emisor_receptor)) //TODO: Obtener Detalles de liquidación del servicio y/ó movimientos using (DataTable dtDetalles = SAT_CL.EgresoServicio.DetalleLiquidacion.ObtieneDetallesLiquidacionXServicioMovimiento(s.id_servicio)) { /*** Si existen registros de la tabla 79/114 (Pago/Comprobación) ***/ //Mando la escepción //Personaliizar excepción: "El Servicio se encuentra pagado en la Liq. '{0}', elimine el pago para poderla cambiar" if (Validacion.ValidaOrigenDatos(dtDetalles)) { List <DataRow> detalles = (from DataRow dt in dtDetalles.AsEnumerable() where Convert.ToInt32(dt["IdTabla"]) == 79 || Convert.ToInt32(dt["IdTabla"]) == 104 select dt).ToList(); int det = (from DataRow r in dtDetalles.Rows where r.Field <int>("IdTabla") == 79 || r.Field <int>("IdTabla") == 104 select r.Field <int>("NoLiquidacion")).FirstOrDefault(); if (detalles.Count == 0) { GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios"); //Verificando que existan filas seleccionadas if (selected_rows.Length != 0) { foreach (GridViewRow row in selected_rows) {//Instanciar Recurso del valor obtenido de la fila seleccionada gvMovimientos.SelectedIndex = row.RowIndex; using (DataTable dtAsignaciones = SAT_CL.Despacho.MovimientoAsignacionRecurso.CargaAsignaciones(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"]), MovimientoAsignacionRecurso.Estatus.Terminado)) { if (Validacion.ValidaOrigenDatos(dtAsignaciones)) { List <DataRow> operadores = (from DataRow op in dtAsignaciones.AsEnumerable() where Convert.ToInt32(op["IdTipoAsignacion"]) == 2 //&& Convert.ToInt32(op["IdEstatus"]) == 3 select op).ToList(); if (operadores.Count > 0) { foreach (DataRow dr in operadores) { using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"]))) { //Validando que existen registros if (mar.habilitar) { //Instanciando Clase operador using (SAT_CL.Global.Operador o = new SAT_CL.Global.Operador(mar.id_recurso_asignado)) { OpeAnt = o.nombre; //Mostrando nombre del operador anterior inicializaCambioOperador(OpeAnt); //Inicializa ventana modal //Mostrando ventana modal correspondiente ScriptServer.AlternarVentana(lnkCambiar, "CambioOpe", "cambioOperadorModal", "cambioOperador"); } } } } } else//Mostrando Mensaje { ScriptServer.MuestraNotificacion(this.Page, "El operador esta liquidado", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } } } } else { ScriptServer.MuestraNotificacion(this.Page, string.Format("El Servicio se encuentra pagado en la Liq. '{0}', elimine el pago para poderla cambiar", det), ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } else { GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios"); //Verificando que existan filas seleccionadas if (selected_rows.Length != 0) { foreach (GridViewRow row in selected_rows) {//Instanciar Recurso del valor obtenido de la fila seleccionada gvMovimientos.SelectedIndex = row.RowIndex; using (DataTable dtAsignaciones = SAT_CL.Despacho.MovimientoAsignacionRecurso.CargaAsignaciones(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"]), MovimientoAsignacionRecurso.Estatus.Terminado)) { if (Validacion.ValidaOrigenDatos(dtAsignaciones)) { List <DataRow> operadores = (from DataRow op in dtAsignaciones.AsEnumerable() where Convert.ToInt32(op["IdTipoAsignacion"]) == 2 //&& Convert.ToInt32(op["IdEstatus"]) == 3 select op).ToList(); if (operadores.Count > 0) { foreach (DataRow dr in operadores) { using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"]))) { //Validando que existen registros if (mar.habilitar) { //Instanciando Clase operador using (SAT_CL.Global.Operador o = new SAT_CL.Global.Operador(mar.id_recurso_asignado)) { OpeAnt = o.nombre; //Mostrando nombre del operador anterior inicializaCambioOperador(OpeAnt); //Inicializa ventana modal //Mostrando ventana modal correspondiente ScriptServer.AlternarVentana(lnkCambiar, "CambioOpe", "cambioOperadorModal", "cambioOperador"); } } } } } else//Mostrando Mensaje { ScriptServer.MuestraNotificacion(this.Page, "El operador esta liquidado", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } } } } } } } } else//Mostrando Mensaje { ScriptServer.MuestraNotificacion(this.Page, "Debe Seleccionar un Movimiento", ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha); } }
/// <summary> /// Realiza el cambio de operador /// </summary> public RetornoOperacion CambiaOperador() { RetornoOperacion retorno = new RetornoOperacion(); //Creamos lita de registros List <KeyValuePair <string, byte[]> > registros = new List <KeyValuePair <string, byte[]> >(); //Creamos lista de errores List <string> errores = new List <string>(); //Verificando que el GridView contiene registros if (gvMovimientos.DataKeys.Count > 0) { //Obtiene filas seleccionadas GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvMovimientos, "chkVarios"); //Verificando que existan filas seleccionadas if (selected_rows.Length != 0) { foreach (GridViewRow row in selected_rows) { gvMovimientos.SelectedIndex = row.RowIndex; using (DataTable dtAsignaciones = SAT_CL.Despacho.MovimientoAsignacionRecurso.CargaAsignaciones(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"]), MovimientoAsignacionRecurso.Estatus.Terminado)) { if (Validacion.ValidaOrigenDatos(dtAsignaciones)) { List <DataRow> operadores = (from DataRow op in dtAsignaciones.AsEnumerable() where Convert.ToInt32(op["IdTipoAsignacion"]) == 2 select op).ToList(); if (operadores.Count > 0) { using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { foreach (DataRow dr in operadores) { using (SAT_CL.Despacho.MovimientoAsignacionRecurso mar = new SAT_CL.Despacho.MovimientoAsignacionRecurso(Convert.ToInt32(dr["Id"]))) { if (mar.habilitar) { retorno = mar.ActualizaOperadorMovimientoAsignacionRecurso(Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { using (DataTable dtAnticipos = SAT_CL.EgresoServicio.DetalleLiquidacion.CargaAnticipos(Convert.ToInt32(gvMovimientos.SelectedDataKey["NoMovimiento"]))) { if (dtAnticipos != null) { if (Validacion.ValidaOrigenDatos(dtAnticipos)) { List <DataRow> depositos = (from DataRow dep in dtAnticipos.AsEnumerable() where Convert.ToInt32(dep["IdTabla"]) == 51 select dep).ToList(); if (depositos.Count > 0) { foreach (DataRow de in depositos) { using (SAT_CL.EgresoServicio.Deposito d = new SAT_CL.EgresoServicio.Deposito(Convert.ToInt32(de["IdRegistro"]))) { if (d.habilitar && d.objDetalleLiquidacion.habilitar) { retorno = d.objDetalleLiquidacion.ActualizaOperadorDetalleLiquidacion(Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { if (!d.bit_efectivo) { using (CuentaBancos objCuentaBancos = CuentaBancos.ObtieneCuentaBanco(76, Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), CuentaBancos.TipoCuenta.Default)) { retorno = d.EditaDepositoCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { using (SAT_CL.Bancos.EgresoIngreso ei = new SAT_CL.Bancos.EgresoIngreso(51, Convert.ToInt32(de["IdRegistro"]))) { if (ei.habilitar) { retorno = ei.EditaCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } } } } } else { retorno = new RetornoOperacion("No hay depositos para este movimiento"); break; } } } } List <DataRow> vales = (from DataRow val in dtAnticipos.AsEnumerable() where Convert.ToInt32(val["IdTabla"]) == 69 select val).ToList(); if (vales.Count > 0) { foreach (DataRow va in vales) { using (SAT_CL.EgresoServicio.DetalleLiquidacion dl = new SAT_CL.EgresoServicio.DetalleLiquidacion(Convert.ToInt32(va["IdRegistro"]), 69)) { if (dl.habilitar) { retorno = dl.ActualizaOperadorDetalleLiquidacion(Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); if (retorno.OperacionExitosa) { using (CuentaBancos objCuentaBancos = CuentaBancos.ObtieneCuentaBanco(76, Convert.ToInt32((Cadena.RegresaCadenaSeparada(txtNuevoOpe.Text, "ID:", 1, "1"))), CuentaBancos.TipoCuenta.Default)) { // retorno = d.EditaDepositoCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //if (retorno.OperacionExitosa) //{ using (SAT_CL.Bancos.EgresoIngreso ei = new SAT_CL.Bancos.EgresoIngreso(51, Convert.ToInt32(va["IdRegistro"]))) { if (ei.habilitar) { retorno = ei.EditaCuentaDestino(objCuentaBancos.id_cuenta_bancos, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); } } } // } //} } } else { retorno = new RetornoOperacion("No hay vales para este movimiento"); break; } } } } } else { retorno = new RetornoOperacion("No hay anticipos para este movimiento"); break; } } //(retorno.OperacionExitosa) } } } else { retorno = new RetornoOperacion("No se puede recuperar la asignacion"); break; } } } if (retorno.OperacionExitosa) { trans.Complete(); } } } else { retorno = new RetornoOperacion("No hay operadores para este movimiento"); break; } } } } } } return(retorno); }