private void reportarCompraSimplificadaHacienda(tbCompras doc) { try { if (doc != null) { if (doc.reporteElectronico == true) { compraGlobal = doc; if (Utility.AccesoInternet()) { BackgroundWorker tarea = new BackgroundWorker(); tarea.DoWork += reportarCompraElectronica; tarea.RunWorkerAsync(); } else { MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } } limpiarForm(); } } catch (Exception) { throw; } }
private void button1_Click(object sender, EventArgs e) { try { if (detalleDoc.Count != 0 && txtTotal.Text != "0") { if (validarCamposDoc()) { tbCompras documento = crearDocumento(); facturacionIns.guadarCompra(documento); if (documento.tipoDoc == (int)Enums.TipoDocumento.ComprasSimplificada) { documento = facturacionIns.GetEntityCompra(documento); reportarCompraSimplificadaHacienda(documento); } MessageBox.Show("La compras se ha guardado correctamente.", "Compras", MessageBoxButtons.OK, MessageBoxIcon.Information); limpiarForm(); cargarTotales(); } } else { MessageBox.Show("No hay productos o el TOTAL a cobrar es 0.", "Cobrar", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception) { MessageBox.Show("Error al guardar la compra.", "Compras", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private Task ProcessData(DataGridView dg, IProgress <ProgressReport> process) { int index = 1; int totalProcess = dg.Rows.Count; var ProgressReport = new ProgressReport(); return(Task.Run(() => { try { foreach (DataGridViewRow item in dtgvDetalleFactura.Rows) { ProgressReport.PorcentComplete = index * 100 / totalProcess; process.Report(ProgressReport); try { int id = int.Parse(item.Cells[0].Value.ToString()); string tipoDoc = item.Cells[1].Value.ToString(); if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper()) { facturaIns.consultarMensajePorIdFact(id); } else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper()) { tbDocumento doc = facturasLista.Where(x => x.id == id && x.tipoDocumento == (int)Enums.TipoDocumento.FacturaElectronica).SingleOrDefault(); facturaIns.consultarFacturaElectronicaPorIdFact(doc); } else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.ComprasSimplificada).ToUpper()) { tbCompras doc = comprasLista.Where(x => x.id == id && x.tipoDoc == (int)Enums.TipoDocumento.ComprasSimplificada).SingleOrDefault(); facturaIns.consultarCompraSimplificada(doc); } } catch (Exception) { } index++; } } catch (Exception ex) { throw ex; } })); }
public tbCompras ActualizarCompraSimplificada(tbCompras entity) { try { using (dbSisSodInaEntities context = new dbSisSodInaEntities()) { context.Entry(entity).State = System.Data.Entity.EntityState.Modified; context.SaveChanges(); return(entity); } } catch (Exception ex) { throw new UpdateEntityException("facturacion actualizacion. Electronica"); } }
private tbCompras crearDocumento() { tbCompras documento = new tbCompras(); documento.reportaInventario = chkIncluyeInventario.Checked; documento.reporteElectronico = chkRegimenSimplificado.Checked; documento.tipoDoc = (int)Enums.TipoDocumento.ComprasSimplificada; if (reporteGlobal != null) { documento.idReporteHacienda = reporteGlobal.id; documento.reporteElectronico = false; documento.tipoDoc = (int)Enums.TipoDocumento.Compras; } documento.fecha = Utility.getDate(); documento.numFactura = int.Parse(txtIdFactura.Text); documento.fechaCompra = dtpFechaCompra.Value.Date; documento.fechaReporte = Utility.getDate(); documento.estadoCompra = (int)cboEstadoFactura.SelectedValue; documento.tipoPago = (int)cboTipoPago.SelectedValue; documento.tipoCompra = (int)cboTipoVenta.SelectedValue; documento.tipoIdProveedor = proveedorGlobal.tipoId; documento.idProveedor = proveedorGlobal.id; documento.plazo = (int)documento.tipoCompra == (int)Enums.tipoVenta.Credito ? int.Parse(mskPlazoCredito.Text) : 0; documento.idEmpresa = Global.Usuario.tbEmpresa.id; documento.tipoIdEmpresa = Global.Usuario.tbEmpresa.tipoId; documento.observaciones = txtObservaciones.Text; documento.tipoMoneda = (int)Enums.TipoMoneda.CRC; documento.tbDetalleCompras = detalleDoc; documento.estado = true; //Atributos de Auditoria documento.fecha_crea = Utility.getDate(); documento.fecha_ult_mod = Utility.getDate(); documento.usuario_crea = Global.Usuario.nombreUsuario.Trim().ToUpper(); // Global.Usuario.nombreUsuario; documento.usuario_ult_mod = Global.Usuario.nombreUsuario.Trim().ToUpper(); // Global.Usuario.nombreUsuario; return(documento); }
private void reportarCompraElectronica(object sender, DoWorkEventArgs e) { try { //envio la factura a hacienda compraGlobal = facturacionIns.CompraSimplificadaElectronica(compraGlobal); System.Threading.Thread.Sleep(3000); //consulto a hacienda el estado de la factura try { string mensaje = facturacionIns.consultarCompraSimplificada(compraGlobal); } catch (Exception) { MessageBox.Show("Error al consultar el estado del documento en Hacienda, valida el estado del documento", "Error al consultar el estado del documento", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (FacturacionElectronicaException ex) { MessageBox.Show("Error al realizar la facturación electronica", "Factura Electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (EnvioCorreoException ex) { MessageBox.Show("Error al enviar la facturación por correo electrónico", "Correo electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (TokenException ex) { MessageBox.Show("Error al obtener el Token en Hacienda", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (ConsultaHaciendaExcpetion ex) { MessageBox.Show("Error al consultar hacienda la factura electrónica", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (generarXMLException ex) { MessageBox.Show("Error al generar el XML de la factura", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception EX) { MessageBox.Show("Error general de facturación electrónica", "Facturación electrónica", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public tbCompras GetEntityCompra(tbCompras entity) { try { using (dbSisSodInaEntities context = new dbSisSodInaEntities()) { var doc = (from p in context.tbCompras.Include("tbDetalleCompras").Include("tbTipoPago").Include("tbTipoVenta") where p.id == entity.id && p.tipoDoc == entity.tipoDoc select p).FirstOrDefault(); if (doc.idProveedor != null) { doc.tbProveedores = proveedorIns.GetProveedorById((int)doc.tipoIdProveedor, doc.idProveedor); } return(doc); } } catch (Exception ex) { throw ex; } }
public tbCompras Guardar(tbCompras entity) { int id = comprasIns.getNewID(entity.tipoDoc) + 1; entity.id = id; foreach (var item in entity.tbDetalleCompras) { item.idCompra = id; item.TipoCompra = entity.tipoDoc; } if (entity.clave == null && entity.tipoDoc == (int)Enums.TipoDocumento.ComprasSimplificada) { entity.consecutivo = BFacturacion.CreaNumeroConsecutivo(sucursal, caja, ((int)Enums.TipoDocumento.Compras).ToString(), entity.id.ToString().Trim()); string codigoSeguridad = BFacturacion.CreaCodigoSeguridad(((int)Enums.TipoDocumento.Compras).ToString(), sucursal, caja, entity.fecha, entity.id.ToString().Trim()); entity.clave = BFacturacion.CreaClave(codigoPais, entity.fecha.Day.ToString(), entity.fecha.Month.ToString(), entity.fecha.Year.ToString(), Global.Usuario.tbPersona.tbEmpresa.id.Trim(), entity.consecutivo, entity.estadoCompra.ToString().Trim(), codigoSeguridad); } return(comprasIns.Guardar(entity)); }
public tbCompras GuardarCompra(tbCompras entity) { try { using (dbSisSodInaEntities context = new dbSisSodInaEntities()) { context.tbCompras.Add(entity); if ((bool)Global.Usuario.tbEmpresa.tbParametrosEmpresa.First().manejaInventario&& entity.reportaInventario) { foreach (var detalle in entity.tbDetalleCompras) { tbInventario inven = new tbInventario(); inven.idProducto = detalle.idProducto; inven = inventarioIns.GetEntity(inven); if (inven != null) { inven.cantidad = inven.cantidad + detalle.cantidad; } context.Entry(inven).State = System.Data.Entity.EntityState.Modified; } } context.SaveChanges(); } return(entity); } catch (Exception ex) { throw new SaveEntityException("Error en Factura"); } }
public tbCompras GetEntity(tbCompras entity) { return(comprasIns.GetEntity(entity)); }
public tbCompras Actualizar(tbCompras entity) { return(comprasIns.Actualizar(entity)); }
private void dtgvDetalleFactura_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { int id = int.Parse(dtgvDetalleFactura.Rows[e.RowIndex].Cells[0].Value.ToString()); string tipoDoc = dtgvDetalleFactura.Rows[e.RowIndex].Cells[1].Value.ToString(); int tipoDocumento = int.Parse(dtgvDetalleFactura.Rows[e.RowIndex].Cells[11].Value.ToString()); if (e.ColumnIndex == 8) { if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper()) { frmDetalleMensaje msj = new frmDetalleMensaje(); foreach (var item in mensajesLista) { if (item.id == id) { msj.Reporte = item; break; } } msj.ShowDialog(); } else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper()) { tbDocumento doc = facturasLista.Where(x => x.id == id && x.tipoDocumento == tipoDocumento).SingleOrDefault(); if (doc != null) { doc = facturaIns.getEntity(doc); frmDocumentosDetalle form = new frmDocumentosDetalle(doc); form.ShowDialog(); } } } else if (e.ColumnIndex == 9) { if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper()) { reportarMensajeElectronica(id); } else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper()) { enviarCorreoCorreoDocumentoElectronico(id); } } else if (e.ColumnIndex == 10) { if (Utility.AccesoInternet()) { if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.Compras).ToUpper()) { facturaIns.consultarMensajePorIdFact(id); cargarDatos(); } else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.FacturaElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaCreditoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.NotaDebitoElectronica).ToUpper() || tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.TiqueteElectronico).ToUpper()) { tbDocumento doc = facturasLista.Where(x => x.id == id && x.tipoDocumento == tipoDocumento).SingleOrDefault(); facturaIns.consultarFacturaElectronicaPorIdFact(doc); } else if (tipoDoc == Enum.GetName(typeof(Enums.TipoDocumento), Enums.TipoDocumento.ComprasSimplificada).ToUpper()) { tbCompras doc = comprasLista.Where(x => x.id == id && x.tipoDoc == (int)Enums.TipoDocumento.ComprasSimplificada).SingleOrDefault(); facturaIns.consultarCompraSimplificada(doc); } } else { MessageBox.Show("No hay acceso a internet, no se validarán los documentos", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } } cargarDatos(); } catch (Exception ex) { clsEvento evento = new clsEvento(ex.Message, "1"); MessageBox.Show("Ocurrio un error, intente de nuevo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }