Ejemplo n.º 1
0
        protected void btnEmitirComprobante_Click(object sender, EventArgs e)
        {
            /*bool isFacturaCompleta = false;
             * if (gvItemsFactura.VisibleRowCount == gvItemsNotaDeCredito.VisibleRowCount)
             *  isFacturaCompleta = true;
             */
            DataTable itemsNotaDeCredito = (DataTable)Session["tablaItemsNotaDeCredito"];

            pcValidarComprobante.ShowOnPageLoad = false;

            DataTable dtFacturaActual = (DataTable)Session["dtFacturaActual"];


            if (gvItemsFactura.VisibleRowCount == gvItemsNotaDeCredito.VisibleRowCount)
            {
                ControladorGeneral.InsertarActualizarNotaDeCreditoCompleta(0, Convert.ToInt32(txtNotaCredito.Text), Convert.ToInt32(dtFacturaActual.Rows[0]["codigoFactura"].ToString()), Convert.ToDouble(txtTotal.Text), Convert.ToDouble(txtSubtotal.Text),
                                                                           Convert.ToDateTime(txtFechaEmision.Text), 3, Convert.ToInt32(dtFacturaActual.Rows[0]["codigoEntrega"].ToString()));
            }
            else
            {
                ControladorGeneral.InsertarActualizarNotaDeCreditoIncompleta(0, Convert.ToInt32(txtNotaCredito.Text), Convert.ToInt32(dtFacturaActual.Rows[0]["codigoFactura"].ToString()), Convert.ToDouble(txtTotal.Text), Convert.ToDouble(txtSubtotal.Text),
                                                                             Convert.ToDateTime(txtFechaEmision.Text), 3, itemsNotaDeCredito);
            }

            //Obtengo ultimo codigo de factura y emito la factura
            DataTable tablaUltimaNotaDeCredito = ControladorGeneral.RecuperarUltimaNotaDeCredito();
            string    codigoNotaDeCredito      = tablaUltimaNotaDeCredito.Rows.Count > 0 ? (Convert.ToInt32(tablaUltimaNotaDeCredito.Rows[0]["codigoNotaDeCredito"])).ToString() : string.Empty;

            try
            {
                string status = ControladorGeneral.EmitirNotaDeCredito(Convert.ToInt32(codigoNotaDeCredito));
                pcError.HeaderText     = "Nota de Credito Emitida";
                lblError.Text          = status;
                pcError.ShowOnPageLoad = true;
            }
            catch
            {
                pcError.HeaderText     = "Error";
                lblError.Text          = "Ha ocurrido un error. No hay conexion con los servidor de AFIP, vuelva a intentar.";
                pcError.ShowOnPageLoad = true;
            }
        }