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; } }