/// <summary> /// Método Privado encargado de Buscar los Vales de Diesel Asignados a una Factura /// </summary> private void buscaValesAsignados() { //Obteniendo Facturas Seleccionadas using (DataTable dtValesAsignados = AsignacionDiesel.ObtieneValesPorFactura(Convert.ToInt32(gvFacturas.SelectedDataKey["Id"]))) { //Validando que existan los Vales Asignados if (TSDK.Datos.Validacion.ValidaOrigenDatos(dtValesAsignados)) { //Cargando Vales Seleccionados TSDK.ASP.Controles.CargaGridView(gvValesAsignados, dtValesAsignados, "Id", lblOrdenadoValesAsig.Text, true, 2); //Añadiendo Tabla a DataSet de Session Session["DS"] = TSDK.Datos.OrigenDatos.AñadeTablaDataSet((DataSet)Session["DS"], dtValesAsignados, "Table2"); } else { //Inicializando GridView TSDK.ASP.Controles.InicializaGridview(gvValesAsignados); //Eliminando Tabla de DataSet de Session Session["DS"] = TSDK.Datos.OrigenDatos.EliminaTablaDataSet((DataSet)Session["DS"], "Table"); } } //Método encargado de Sumar Totales sumaValesAsignadosTotales(); }
/// <summary> /// Evento Producido al Presionar el Boton "Asignar Vales" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnAsignarVales_Click(object sender, EventArgs e) { //Declarando Objeto de Retorno RetornoOperacion result = new RetornoOperacion(); //Validando que exista una Factura Seleccionada if (gvFacturas.SelectedIndex != -1) { //Obteniendo Filas Seleccionadas GridViewRow[] filas = TSDK.ASP.Controles.ObtenerFilasSeleccionadas(gvVales, "chkVarios"); //Validando que existan Vales Seleccionados if (filas.Length > 0) { //Inicializando Bloque Transacional using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted)) { //Instanciando la Factura using (FacturadoProveedor fp = new FacturadoProveedor(Convert.ToInt32(gvFacturas.SelectedDataKey["Id"]))) { //Validando que exista la Factura if (fp.id_factura != 0) { //Declarando Contador int contador = 0; //Iniciando Ciclo while (contador < filas.Length) { //Obteniendo Indice gvVales.SelectedIndex = filas[contador].RowIndex; //Instanciando using (AsignacionDiesel ad = new AsignacionDiesel(Convert.ToInt32(gvVales.SelectedDataKey["Id"]))) { //Validando que exista el Vale if (ad.id_asignacion_diesel != 0) { //Asignando el Vale a la Factura result = ad.AsignaFacturaValeDiesel(fp.id_factura, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario); //Validando que la Operación haya sido exitosa contador = result.OperacionExitosa ? contador + 1 : filas.Length; } else { //Instanciando Excepción result = new RetornoOperacion("No existe el Vale"); } } } } else { //Instanciando Excepción result = new RetornoOperacion("No existe la Factura"); } } //Validando que la Operación haya sido exitosa if (result.OperacionExitosa) { //Completando Transacción trans.Complete(); } } //Validando el Resultado de la Operación if (result.OperacionExitosa) { //Obteniendo Factura de Proveedor int idFacturaProveedor = Convert.ToInt32(gvFacturas.SelectedDataKey["Id"]); //Vargando Reportes buscaVales(); buscaFacturas(); //Marcando Fila Controles.MarcaFila(gvFacturas, idFacturaProveedor.ToString(), "Id", "Id-Monto-Asignado", OrigenDatos.RecuperaDataTableDataSet((DataSet)Session["DS"], "Table"), lblOrdenadoFactura.Text, Convert.ToInt16(ddlTamanoFac.SelectedValue), true, 1); //Recargando Vales Asignados buscaValesAsignados(); } } else { //Instanciando Excepción result = new RetornoOperacion("Debe seleccionar al menos un Vale"); } } else { //Instanciando Excepción result = new RetornoOperacion("Debe Seleccionar una Factura"); } //Mostrando Resultado de Operación ScriptServer.MuestraNotificacion(btnAsignarVales, result, ScriptServer.PosicionNotificacion.AbajoDerecha); }