Пример #1
0
        /// <summary>
        /// Evento generado al  Quitar un Iave
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lnkQuitar_Click(object sender, EventArgs e)
        {
            //Declaramos objetpo Resultado
            RetornoOperacion resultado = new RetornoOperacion();

            //Si hay registros
            if (gvIavesAsignados.DataKeys.Count > 0)
            {
                //Seleccionando la fila correspondiente
                Controles.SeleccionaFila(gvIavesAsignados, sender, "lnk", false);
                //Inicializamos Valores
                using (SAT_CL.Ruta.CrucesAutorizadosIave objIave = new SAT_CL.Ruta.CrucesAutorizadosIave(Convert.ToInt32(gvIavesAsignados.SelectedValue)))
                {
                    //Factura
                    resultado = objIave.AsignaFacturaIave(0, 1, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);

                    //Validamos Resultado
                    if (resultado.OperacionExitosa)
                    {
                        //Inicializamos Inidices
                        Controles.InicializaIndices(gvIavesAsignados);
                        //Cargamos Iave Asignados
                        buscaIavesAsignados(Convert.ToInt32(gvFacturas.SelectedDataKey["Id"]));
                        //Cargamos Fcaturas
                        buscaFacturas();
                        //Busca Iaves
                        buscarCrucesIaves();
                    }
                    //Mostrando Resultado
                    ScriptServer.MuestraNotificacion(gvIavesAsignados, resultado, ScriptServer.PosicionNotificacion.AbajoDerecha);
                }
            }
        }
Пример #2
0
        /// <summary>
        /// Evento Producido al Presionar el Boton "Asignar IAVE"
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAsignarIave_Click(object sender, EventArgs e)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();
            //Declarando Total Casetas
            Decimal TotalCasetas         = 0;
            Decimal TotalFacturaAsignado = 0;

            //Validando que exista una Factura Seleccionada
            if (gvFacturas.SelectedIndex != -1)
            {
                //Obteniendo Filas Seleccionadas
                GridViewRow[] filas = TSDK.ASP.Controles.ObtenerFilasSeleccionadas(gvIaves, "chkVarios");

                //Validando que existan IAVE 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 Total  Casetas Seleccionados
                                while (contador < filas.Length)
                                {
                                    //Obteniendo Indice
                                    gvIaves.SelectedIndex = filas[contador].RowIndex;
                                    //Instanciando
                                    if (Convert.ToInt32(gvIaves.SelectedDataKey["Id"]) > 0)
                                    {
                                        //Validando que exista el IAVE
                                        TotalCasetas = TotalCasetas + Convert.ToDecimal(gvIaves.SelectedDataKey["Monto"]);
                                        contador     = contador + 1;
                                    }
                                }
                                //Asignacion
                                TotalFacturaAsignado = Convert.ToDecimal(gvFacturas.SelectedDataKey["Asignado"]) > 0 ? (fp.total_factura - Convert.ToDecimal(gvFacturas.SelectedDataKey["Asignado"])) : fp.total_factura;
                                if (TotalCasetas <= TotalFacturaAsignado)
                                {
                                    //Declarando Contador
                                    int contadori = 0;
                                    //Iniciando Ciclo
                                    while (contadori < filas.Length)
                                    {
                                        //Obteniendo Indice
                                        gvIaves.SelectedIndex = filas[contadori].RowIndex;
                                        TotalCasetas          = TotalCasetas + Convert.ToDecimal(gvIaves.SelectedDataKey["Id"]);
                                        //Instanciando
                                        using (SAT_CL.Ruta.CrucesAutorizadosIave Iave = new SAT_CL.Ruta.CrucesAutorizadosIave(Convert.ToInt32(gvIaves.SelectedDataKey["Id"])))
                                        {
                                            //Validando que exista el IAVE
                                            if (Iave.habilitar)
                                            {
                                                //Asignando el Iave a la Factura
                                                result = Iave.AsignaFacturaIave(fp.id_factura, 2, ((SAT_CL.Seguridad.Usuario)Session["usuario"]).id_usuario);
                                                //Validando que la Operación haya sido exitosa
                                                contadori = result.OperacionExitosa ? contadori + 1 : filas.Length;
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    //Instanciando Excepción
                                    result = new RetornoOperacion("El Total de la factura es menor al costos de las casetas");
                                }
                            }
                            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
                        buscarCrucesIaves();
                        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 IAVES Asignados
                        buscaIavesAsignados(Convert.ToInt32(gvFacturas.SelectedDataKey["Id"]));
                    }
                }
                else
                {
                    //Instanciando Excepción
                    result = new RetornoOperacion("Debe seleccionar al menos una caseta Iave");
                }
            }
            else
            {
                //Instanciando Excepción
                result = new RetornoOperacion("Debe Seleccionar una Factura");
            }

            //Mostrando Resultado de Operación
            ScriptServer.MuestraNotificacion(btnAsignarIave, result, ScriptServer.PosicionNotificacion.AbajoDerecha);
        }