public CorreoElectronico(tbDocumento doc, List <string> correoDestino, bool cargarAdjuntos) { _tipoCorreo = 1; _doc = doc; _cargarAdjuntos = cargarAdjuntos; _destinoCorreo = correoDestino; }
private void btnProcesar_Click(object sender, EventArgs e) { try { DialogResult resp = MessageBox.Show($"Esta seguro que desea realizar la PROFORMA por el MONTO: {txtMonto.Text} al CLIENTE: { txtCliente.Text}", "Generar Proforma", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (resp == DialogResult.Yes) { if (ValidarCampos()) { facturaGlobal.plazo = int.Parse(txtDias.Text); facturaGlobal = facturacionIns.guadar(facturaGlobal); if (chkImprimir.Checked) { clsImpresionFactura imprimir = new clsImpresionFactura(facturaGlobal, Global.Usuario.tbEmpresa); imprimir.print(); } recuperarTotal(facturaGlobal); this.Close(); } } } catch (Exception) { recuperarTotal(null); } }
private void enviarCorreo(tbDocumento doc, List <string> correos) { try { bool enviado = false; //se solicita respuesta, y se confecciona el correo a enviar CorreoElectronico correo = new CorreoElectronico(doc, correos, true); enviado = correo.enviarCorreo(); if (enviado) { MessageBox.Show("Se envió correctamente el correo electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Se produjo un error al enviar el Correo Electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { clsEvento evento = new clsEvento(ex.Message, "1"); MessageBox.Show("Se produjo un error al enviar el Correo Electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnProforma_Click(object sender, EventArgs e) { tipoDoc = (int)Enums.TipoDocumento.Proforma; dtgvDetalleFactura.EndEdit(); calcularMontosT(); agregarProductoGrid(); if (listaDetalleDocumento.Count != 0 && txtTotal.Text != "0") { if (validarCampos()) { tbDocumento documento = crearDocumento(); documento.tipoDocumento = tipoDoc; documento.reporteElectronic = false; if (txtCorreo.Text != string.Empty) { documento.correo1 = txtCorreo.Text.Trim(); } if (txtCorreo2.Text != string.Empty) { documento.correo2 = txtCorreo2.Text.Trim(); } documento.notificarCorreo = chkEnviar.Checked; frmProforma form = new frmProforma(); form.recuperarTotal += respuesta; form.facturaGlobal = documento; form.ShowDialog(); } } else { MessageBox.Show("No hay productos o el TOTAL a cobrar es 0.", "Cobrar", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void dtgvDetalleFactura_CellContentClick(object sender, DataGridViewCellEventArgs e) { try { if (Utility.AccesoInternet()) { if (e.ColumnIndex == 8) { string idFactura = dtgvDetalleFactura.Rows[e.RowIndex].Cells[1].Value.ToString(); string tipoDoc = dtgvDetalleFactura.Rows[e.RowIndex].Cells[0].Value.ToString(); if (idFactura != string.Empty && tipoDoc != string.Empty) { tbDocumento doc = new tbDocumento(); doc.id = int.Parse(idFactura); doc.tipoDocumento = int.Parse(tipoDoc); facturaIns.consultarFacturaElectronicaPorIdFact(doc); cargarDatos(); } } } else { MessageBox.Show("No hay acceso a internet, no se validarán los documentos", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception) { MessageBox.Show("Ocurrio un error, intente de nuevo", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void lsvFacturas_MouseDoubleClick(object sender, MouseEventArgs e) { try { if (lsvFacturas.SelectedItems.Count > 0) { tbDocumento doc = new tbDocumento(); doc.id = int.Parse(lsvFacturas.SelectedItems[0].Text); doc.tipoDocumento = int.Parse(lsvFacturas.SelectedItems[0].SubItems[7].Text); doc = factIns.getEntity(doc, false); if (doc != null) { frmDocumentosDetalle frm = new frmDocumentosDetalle(doc); frm.ShowDialog(); obtenerAplicarFiltro(); } else { MessageBox.Show("No se encontró los datos de la factura seleccionada", "Error al buscar", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public clsImpresionFactura(tbDocumento doc, tbEmpresa empresa, decimal paga, decimal vuelto) { _doc = doc; _empresa = empresa; _paga = paga; _vuelto = vuelto; _canton = cantonIns.GetEntity(_empresa.tbPersona.canton, _empresa.tbPersona.provincia); }
public clsImpresionFactura(tbDocumento doc, tbEmpresa empresa, decimal paga, decimal vuelto, string cliente) { _doc = doc; _empresa = empresa; _paga = paga; _vuelto = vuelto; _canton = cantonIns.GetEntity(_empresa.tbPersona.canton, _empresa.tbPersona.provincia); _clienteSimplificada = cliente; }
public void cobrar() { try { if (ValidarCampos()) { if (!btnTarjeta.Enabled) { facturaGlobal.refPago = txtCodTarjeta.Text; } else if (!btnCredito.Enabled) { facturaGlobal.plazo = int.Parse(txtPlazo.Text); } facturaGlobal.tbClientes = null; facturaGlobal = facturacionIns.guadar(facturaGlobal); facturaGlobal = facturacionIns.getEntity(facturaGlobal); if (chkImprimir.Checked) { try { //DialogResult dialogResult = MessageBox.Show("Desea imprimir el documento?", "Imprimir", MessageBoxButtons.YesNo, MessageBoxIcon.Question); //if (dialogResult == DialogResult.Yes) //{ decimal pago = txtPago.Text == string.Empty ? 0 : decimal.Parse(txtPago.Text); decimal vuelto = txtVuelto.Text == string.Empty ? 0 : decimal.Parse(txtVuelto.Text); if (facturaGlobal.tipoDocumento == (int)Enums.TipoDocumento.TiqueteElectronico && cliente != string.Empty) { clsImpresionFactura imprimir = new clsImpresionFactura(facturaGlobal, Global.Usuario.tbEmpresa, pago, vuelto, cliente); imprimir.print(); } else { clsImpresionFactura imprimir = new clsImpresionFactura(facturaGlobal, Global.Usuario.tbEmpresa, pago, vuelto); imprimir.print(); } //} } catch (Exception) { MessageBox.Show("No se pudo imprimir el documento", "Impresión", MessageBoxButtons.OK, MessageBoxIcon.Error); } } recuperarTotal(facturaGlobal); this.Close(); } } catch (Exception ex) { recuperarTotal(null); } }
public static bool generarArchivos(tbDocumento doc) { try { } catch (Exception) { return(false); } return(true); }
private void enviarCorreoCorreoDocumentoElectronico(int id) { if (Utility.AccesoInternet()) { tbDocumento doc = new tbDocumento(); doc.id = id; doc.tipoDocumento = (int)Enums.TipoDocumento.FacturaElectronica; doc = facturaIns.getEntity(doc); if (doc != null) { DialogResult result = MessageBox.Show("Se enviará por correo electrónico la factura seleccionada, Desea continuar?", "Envio de correo electrónico", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { List <string> correos = new List <string>(); if (doc.correo1 != null || doc.correo2 != null) { if (doc.correo1 != null) { correos.Add(doc.correo1); } if (doc.correo2 != null) { correos.Add(doc.correo2); } } else { if (doc.tbClientes.tbPersona.correoElectronico != null) { correos.Add(doc.tbClientes.tbPersona.correoElectronico.Trim()); } } if (correos.Count != 0) { enviarCorreo(doc, correos); } else { MessageBox.Show("No hay correo electronicos registrados con este documento", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } else { MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void enviarProforma(int idProforma) { try { IEnumerable <tbDocumento> fact = factIns.getListAllDocumentos(); tbDocumento proforma = fact.Where(x => x.id == idProforma && x.tipoDocumento == (int)Enums.TipoDocumento.Proforma).SingleOrDefault(); pasarDatosEvent(proforma); this.Dispose(); } catch (Exception ex) { throw ex; } }
private void lstvCancelarFac_SelectedIndexChanged(object sender, EventArgs e) { if (lstvCancelarFac.SelectedItems.Count > 0) { int idSelected = int.Parse(lstvCancelarFac.SelectedItems[0].Text); foreach (tbDocumento cancelar in ListaFacturas) { if (idSelected == cancelar.id) { CancelaFac = cancelar; } } } }
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; } })); }
private void enviarCorreo(tbDocumento proforma) { if (Utility.AccesoInternet()) { DialogResult result = MessageBox.Show("Se enviará por correo electrónico la factura seleccionada, Desea continuar?", "Envio de correo electrónico", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { List <string> correos = new List <string>(); if (proforma.correo1 != null) { correos.Add(proforma.correo1.Trim()); } if (proforma.correo2 != null) { correos.Add(proforma.correo2.Trim()); } bool enviado = false; try { CorreoElectronico correo = new CorreoElectronico(proforma, correos, true); enviado = correo.enviarCorreo(); } catch (CorreoSinDestinatarioException ex) { MessageBox.Show(ex.Message, "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (enviado) { MessageBox.Show("Se envió correctamente el correo electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Se produjo un error al enviar el Correo Electrónico", "Correo Electrónico", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnCancelarFactura_Click(object sender, EventArgs e) { bool bandera = true; try { DialogResult result = MessageBox.Show("Se generará una NOTA DE CREDITO, para anular la factura seleccionada, Desea continuar?", "Anulación de factura", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { if (chkEnviar.Checked) { bandera = validarCampos(); } if (bandera) { _doc.correo1 = txtCorreo.Text.Trim(); if (txtCorreo2.Text != String.Empty) { _doc.correo1 = txtCorreo2.Text.Trim(); } frmRazon razon = new frmRazon(); razon.pasarDatosEvent += dataBuscar; razon.ShowDialog(); if (_razon != string.Empty) { var doc = eliminarFactura(); _doc = doc; if (doc != null & doc.reporteElectronic == true) { // BackgroundWorker tarea = new BackgroundWorker(); //tarea.DoWork += reportarFacturacionElectronica; // tarea.RunWorkerAsync(); reportarFacturacionElectronica(); } } } } this.Close(); } catch (Exception) { MessageBox.Show("No se pudo eliminar la factura, intente más tarde, no se generó la NOTA DE CRÉDITO", "Error al eliminar el documento", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnReImprimir_Click(object sender, EventArgs e) { DialogResult dialogResult = MessageBox.Show("Desea imprimir el documento?", "Imprimir", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { if (_doc != null) { _doc = facturaIns.getEntity(_doc, true); clsImpresionFactura imprimir = new clsImpresionFactura(_doc, Global.Usuario.tbEmpresa); imprimir.print(); } else { MessageBox.Show("No hay datos que imprimir", "Imprimir", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void btnEnviarCorreo_Click(object sender, EventArgs e) { if (lsvFacturas.SelectedItems.Count > 0) { int idProforma = int.Parse(lsvFacturas.SelectedItems[0].Text); IEnumerable <tbDocumento> fact = factIns.getListAllDocumentos(); tbDocumento proforma = fact.Where(x => x.id == idProforma && x.tipoDocumento == (int)Enums.TipoDocumento.Proforma).SingleOrDefault(); if (proforma != null) { enviarCorreo(proforma); } } else { MessageBox.Show("Debe de seleccionar alguna proforma", "Proforma", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
private void reportarFacturacionElectronica() { if (Utility.AccesoInternet()) { try { _doc = facturaIns.FacturarElectronicamente(_doc); System.Threading.Thread.Sleep(3000); facturaIns.consultarFacturaElectronicaPorClave(_doc.clave); if (chkEnviar.Checked) { List <string> correos = new List <string>(); if (_doc.correo1 != null) { correos.Add(_doc.correo1); } if (_doc.correo2 != null) { correos.Add(_doc.correo2); } enviarCorreo(_doc, correos); } } catch (Exception ex) { MessageBox.Show("No se pudo emitir el documento NOTA CREDITO", "Error al procesar", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("No hay acceso a internet, No se enviará el documento a Hacienda, validar en la pantalla de validación, para su envio correspodiente.", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnCobrar_Click(object sender, EventArgs e) { tipoDoc = (int)Enums.TipoDocumento.FacturaElectronica; if (detalleDocumentoParcial.Count != 0 && txtTotal.Text != "0") { if (validarCampos()) { tbDocumento documento = crearDocumento(); frmCobrar form = new frmCobrar(); form.recuperarTotal += respuesta; form.facturaGlobal = documento; form.ShowDialog(); } } else { MessageBox.Show("No hay productos o el TOTAL a cobrar es 0.", "Cobrar", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void datosProforma(tbDocumento entity) { if (listaDetalleDocumento == null) { listaDetalleDocumento = new List <tbDetalleDocumento>(); } listaDetalleDocumento.Clear(); foreach (var item in entity.tbDetalleDocumento) { item.tbDocumento = null; listaDetalleDocumento.Add(item); } if (entity.tbClientes != null) { dataBuscar(entity.tbClientes); } calcularMontosT(); agregarProductoGrid(); }
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 { string idFactura = item.Cells[1].Value.ToString(); string tipoDoc = item.Cells[0].Value.ToString(); if (idFactura != string.Empty && tipoDoc != string.Empty) { tbDocumento doc = new tbDocumento(); doc.id = int.Parse(idFactura); doc.tipoDocumento = int.Parse(tipoDoc); facturaIns.consultarFacturaElectronicaPorIdFact(doc); // cargarDatos(); } } catch (Exception) { } index++; } } catch (Exception) { } })); }
private tbDocumento crearDocumento() { tbDocumento documento = new tbDocumento(); documento.tipoDocumento = (int)Enums.TipoDocumento.FacturaElectronica; documento.fecha = Utility.getDate(); documento.tipoMoneda = (int)Enums.TipoMoneda.CRC; documento.tipoCambio = 0; documento.reporteElectronic = (bool)Global.Usuario.tbEmpresa.tbParametrosEmpresa.First().facturacionElectronica; documento.tipoVenta = (int)Enums.tipoVenta.Contado; documento.plazo = 0; documento.tipoPago = (int)Enums.TipoPago.Efectivo; documento.refPago = string.Empty; documento.estadoFactura = (int)Enums.EstadoFactura.Cancelada; documento.reporteAceptaHacienda = false; documento.notificarCorreo = chkEnviar.Checked; documento.observaciones = txtObservaciones.Text.ToUpper().Trim(); documento.idEmpresa = Global.Usuario.tbEmpresa.id; documento.tipoIdEmpresa = Global.Usuario.tbEmpresa.tipoId; //en caso que no tenga cliente asignado, sera no contribuyente //si no marco el check de enviar correo, deja los campos de correo electronico a notificar null if ((bool)documento.notificarCorreo) { documento.correo1 = txtCorreo.Text == string.Empty ? null : txtCorreo.Text.Trim(); documento.correo2 = txtCorreo2.Text == string.Empty ? null : txtCorreo2.Text.Trim(); } //cliente if (clienteGlo != null) { documento.idCliente = clienteGlo.id; documento.tipoIdCliente = clienteGlo.tipoId; //asigna el valor que tenga el cliente si es contribuyente o no documento.tbClientes = clienteGlo; if (chkTiqueteElectronico.Checked) { documento.tipoDocumento = (int)Enums.TipoDocumento.TiqueteElectronico; } } else { documento.tipoDocumento = (int)Enums.TipoDocumento.TiqueteElectronico; } documento.estado = true; //foreach (tbDetalleDocumento detalle in listaDetalleDocumento) //{ // detalle.tbProducto = null; //} documento.tbDetalleDocumento = listaDetalleDocumento; //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); }
public void reportarFacturacionElectronica(object o, DoWorkEventArgs e) { tbDocumento doc = documentoGlo; try { //envio la factura a hacienda doc = facturaIns.FacturarElectronicamente(doc); System.Threading.Thread.Sleep(3000); //consulto a hacienda el estado de la factura try { string mensaje = facturaIns.consultarFacturaElectronicaPorClave(doc.clave); } 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); } bool enviado = false; //se solicita respuesta, y se confecciona el correo a enviar if ((bool)doc.notificarCorreo) { List <string> correos = new List <string>(); if (doc.correo1 != null) { correos.Add(doc.correo1.Trim()); } if (doc.correo2 != null) { correos.Add(doc.correo2.Trim()); } CorreoElectronico correo = new CorreoElectronico(doc, correos, true); enviado = correo.enviarCorreo(); } } 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); } }
private void respuesta(tbDocumento doc) { try { if (doc != null) { existeRespuesta = true; if (doc.reporteElectronic == true) { if (Utility.AccesoInternet()) { BackgroundWorker tarea = new BackgroundWorker(); documentoGlo = doc; tarea.DoWork += reportarFacturacionElectronica; tarea.RunWorkerAsync(); if (doc.id != 0) { MessageBox.Show("El documento ha sido emitido correctamente, el reporte de hacienda se generará en segundo plano", "Documento creado", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("No hay acceso a internet", "Sin Internet", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { if (doc.id != 0) { MessageBox.Show("El documento ha sido emitido correctamente", "Documento creado", MessageBoxButtons.OK, MessageBoxIcon.Information); bool enviado = false; //se solicita respuesta, y se confecciona el correo a enviar if ((bool)doc.notificarCorreo) { List <string> correos = new List <string>(); if (doc.correo1 != null) { correos.Add(doc.correo1.Trim()); } if (doc.correo2 != null) { correos.Add(doc.correo2.Trim()); } CorreoElectronico correo = new CorreoElectronico(doc, correos, true); enviado = correo.enviarCorreo(); } } } limpiarFactura(); } else { MessageBox.Show("El documento no se ha guardado, intente nuevamente, de lo contrario contacte con el administrador.", "Error al crear Documento", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { MessageBox.Show("Error en el sistema, contacte al administrador", "Error general", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public frmDocumentosDetalle(tbDocumento doc) { InitializeComponent(); _doc = doc; }
/// <summary> /// Incrementamos o Desminuimos el inventario segun lo requerido. /// </summary> /// <param name="factura"> Factura a trabajar.</param> /// <param name="estado">Estado de la factura: 0 = resta, 1 = suma </param> /// <param name="productos"> Es la lista de los productos del formulario de facturacion. </param> public void ActualizarInventario(tbDocumento factura, List <tbProducto> productos, int estado) { // Creamos las variables para recuperar. string idProducto = string.Empty; int idIngrediente = 0; double cantidadComprada = 0.0F, cantInventario = 0.0F, cantidadIngrediente = 0.0F, cantNueva = 0.0F; int cantMin = 0; // Cargamos la lista de inventario. listaInventario = GetListEntities(3); try { // Recorremos la lista del detalleFactura para recuperar el ID del Producto. foreach (tbDetalleDocumento produc in factura.tbDetalleDocumento) { // Cargamos el id y la cantidad del producto comprado. idProducto = produc.idProducto; cantidadComprada = (double)produc.cantidad; // Recorremos la lista de productos para recuperar el ID del producto foreach (tbProducto item in productos) { if (idProducto == item.idProducto) { // Creamos una lista de detalleProducto ICollection <tbDetalleProducto> listaDetalleProducto = new List <tbDetalleProducto>(); // listaDetalleProducto = item.tbDetalleProducto; // Recorremos la lista de DetalleProducto para recuperar el ID del ingrediente foreach (tbDetalleProducto ingrediente in listaDetalleProducto) { if (idProducto == ingrediente.idProducto) { // Cargamos al ID del ingrediente y la cantidad usada en el producto. cantidadIngrediente = ingrediente.cantidad; idIngrediente = ingrediente.idIngrediente; //foreach (tbInventario inventario in listaInventario) //{ // if (inventario.idIngrediente == idIngrediente) // { // // Procedemos a realizar la multiplicacion de la cantidad comprada por la cantidad usada en el producto. // cantInventario = inventario.cantidad; // cantMin = (int)inventario.cant_max; // double temp = (cantidadComprada * cantidadIngrediente); // // Si el estado es 0, se restara el inventario de X ingrediente. // // Si el estado es 1, se sumara el inventario de X ingrediente. // cantNueva = estado == 0 ? cantInventario - temp : cantInventario + temp; // //ACtualizamos la cantidad en dicho producto. // inventario.cantidad = cantNueva; // //Actualizamos la entidad en cuestion. // inveIns.Actualizar(inventario); // } //} } } } } } } catch (Exception ex) { throw new Exception(ex.Message); } }
public clsImpresionFactura(tbDocumento doc, tbEmpresa empresa) { _doc = doc; _empresa = empresa; }
/// <summary> /// Cargaremo los datos requeridos para realizar la impresion de la factura. /// </summary> private void cargarImpresion(ref tbDocumento factura, ref List <tbProducto> Productos) { factura = CancelaFac; Productos = listaProductos; }
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); } }