private void btnPDF_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Espere mientras el documento es generado. Presione 'Aceptar para comenzar'"); int idVenta = int.Parse(dataRow["ID"].ToString()); VentasDAL ventasDAL = new VentasDAL(); DatosDocumentoPagoVIEW datos = ventasDAL.CargarDatos(idVenta); datos.DETALLE_BOLETA = ventasDAL.ListarDetalleBoleta(idVenta); ExportarArchivos PDF = new ExportarArchivos(); string folio = datos.FOLIO.ToString(); for (int i = 0; i < 9; i++) { if (folio.Length < 8) { folio = "0" + folio; } } string rutaDcoc = PDF.DocumentoPagoPDF(datos, folio); MessageBox.Show("El documento ha sido generado correctamente. Puede buecar el archivo en 'Mis Documentos'"); }
private void CargarBoleta(DataRow dataRow) { CargarTablaDetalle(); int idBoleta = int.Parse(dataRow["ID"].ToString()); VentasDAL ventas = new VentasDAL(); AnulacionVentasDAL anulacionVentasDAL = new AnulacionVentasDAL(); datosDocumentoPagoVIEW = ventas.CargarDatos(idBoleta); VENTAS datoVenta = ventas.ObtenerVentaId(idBoleta); SucursalNEG sucursalNEG = new SucursalNEG(); EmpleadosNEG empleadosNEG = new EmpleadosNEG(); txtCliente.Text = datosDocumentoPagoVIEW.NOMBRE_CLIENTE + " " + datosDocumentoPagoVIEW.APELLIDO_CLIENTE; txtSucursal.Text = sucursalNEG.CargarSucursal(datoVenta.SUCURSAL_ID).NOMBRE; txtEmpleado.Text = empleadosNEG.CargarEmpleado(datoVenta.EMPLEADO_ID).NOMBRE + " " + empleadosNEG.CargarEmpleado(datoVenta.EMPLEADO_ID).APELLIDO; dpkFechaCreacion.SelectedDate = datoVenta.FECHA_VENTA; string folio = idBoleta.ToString(); for (int i = 0; i < 9; i++) { if (folio.Length < 8) { folio = "0" + folio; } } txtFolio.Text = folio; txtTipoDocumento.Text = datosDocumentoPagoVIEW.TIPO_DOCUMENTO; txtestadoVenta.Text = anulacionVentasDAL.ValidaEstadoVenta(idBoleta); txtMoneda.Text = datosDocumentoPagoVIEW.TIPO_MONEDA; double neto = Convert.ToDouble(datosDocumentoPagoVIEW.TOTAL) / 1.19; txtNeto.Text = string.Format("{0:n2}", (neto)); double iva = neto * 0.19; txtIva.Text = string.Format("{0:n2}", iva); txtTotal.Text = string.Format("{0:n2}", (Convert.ToDouble(datosDocumentoPagoVIEW.TOTAL))); txtTotalMoneda.Text = string.Format("{0:n2}", (datosDocumentoPagoVIEW.TOTAL * datosDocumentoPagoVIEW.COSTO_MONEDA)); //ORDEN DE TRABAJO N°" List <DETALLE_VENTAS> listaDetalles = ventas.ListarDetalleVenta(idBoleta); foreach (var x in listaDetalles) { if (x.SERVICIO_ID == 1 && x.PRODUCTO_ID == 1) {//OT string idOrden = x.NOMBRE_PRODUCTO.Split('°')[1]; DataTable tabla = ((DataView)dgDetalleDocumento.ItemsSource).ToTable(); DataRow fila = tabla.NewRow(); fila["CANTIDAD"] = 1; fila["TIPO ITEM"] = "OT"; fila["ID ITEM"] = idOrden; fila["NOMBRE ITEM"] = x.NOMBRE_PRODUCTO; fila["P UNITARIO"] = x.PRECIO_VENTA; fila["TOTAL"] = x.PRECIO_VENTA; tabla.Rows.Add(fila); dgDetalleDocumento.ItemsSource = tabla.DefaultView; } else if (x.PRODUCTO_ID == 1 && x.SERVICIO_ID > 1) {//serv DataTable tabla = ((DataView)dgDetalleDocumento.ItemsSource).ToTable(); DataRow fila = tabla.NewRow(); fila["CANTIDAD"] = 1; fila["TIPO ITEM"] = "SER"; fila["ID ITEM"] = x.SERVICIO_ID; fila["NOMBRE ITEM"] = x.NOMBRE_PRODUCTO; fila["P UNITARIO"] = x.PRECIO_VENTA; fila["TOTAL"] = x.MONTO_TOTAL; tabla.Rows.Add(fila); dgDetalleDocumento.ItemsSource = tabla.DefaultView; } else if (x.PRODUCTO_ID > 1 && x.SERVICIO_ID == 1) {//prod DataTable tabla = ((DataView)dgDetalleDocumento.ItemsSource).ToTable(); DataRow fila = tabla.NewRow(); fila["CANTIDAD"] = x.CANTIDAD; fila["TIPO ITEM"] = "PRO"; fila["ID ITEM"] = x.PRODUCTO_ID; fila["NOMBRE ITEM"] = x.NOMBRE_PRODUCTO; fila["P UNITARIO"] = x.PRECIO_VENTA; fila["TOTAL"] = x.MONTO_TOTAL; tabla.Rows.Add(fila); dgDetalleDocumento.ItemsSource = tabla.DefaultView; } } }
private void btnIngresar_Click(object sender, RoutedEventArgs e) { try { if (cbxSucursal.SelectedValue != null) { if (int.Parse(cbxSucursal.SelectedValue.ToString()) > 0) { if (cbxCliente.SelectedValue != null) { if (int.Parse(cbxCliente.SelectedValue.ToString()) > 0) { if (cbxTipoDocumento.SelectedValue != null) { if (int.Parse(cbxTipoDocumento.SelectedValue.ToString()) > 0) { if (cbxMoneda.SelectedValue != null) { if (int.Parse(cbxTipoDocumento.SelectedValue.ToString()) > 0) { if (cbxEmpleado.SelectedValue != null) { if (int.Parse(cbxEmpleado.SelectedValue.ToString()) > 0) { DataTable tabla = ((DataView)dgDetalleDocumento.ItemsSource).ToTable(); if (tabla.Rows.Count > 0) { MessageBox.Show("Espere mientras el documento es generado. Presione 'Aceptar para comenzar'"); int _idCliente = int.Parse(cbxCliente.SelectedValue.ToString()); int _sucursal = int.Parse(cbxSucursal.SelectedValue.ToString()); int _tipoDocumento = int.Parse(cbxTipoDocumento.SelectedValue.ToString()); DateTime _fechaDocumento = DateTime.Parse(dpkFechaCreacion.SelectedDate.ToString()); double _neto = double.Parse(txtNeto.Text); int _idEmpleado = int.Parse(cbxEmpleado.SelectedValue.ToString()); double _iva = double.Parse(txtIva.Text); double _total = double.Parse(txtTotal.Text); double _totalMoneda = double.Parse(txtTotalMoneda.Text); int _idMoneda = int.Parse(cbxTipoDocumento.SelectedValue.ToString()); List <DETALLE_VENTAS> listaDetalle = new List <DETALLE_VENTAS>(); int cantidadTotal = 0; string reservas = ""; foreach (DataRow fila in tabla.Rows) { DETALLE_VENTAS detalle = new DETALLE_VENTAS(); detalle.FECHA_CREACION = DateTime.Now; detalle.FECHA_ULTIMO_UPDATE = DateTime.Now; detalle.CANTIDAD = int.Parse(fila.ItemArray[0].ToString()); detalle.MONTO_TOTAL = int.Parse(fila.ItemArray[5].ToString()); detalle.NOMBRE_PRODUCTO = fila.ItemArray[3].ToString(); detalle.PRECIO_VENTA = Convert.ToDecimal(fila.ItemArray[4].ToString()); detalle.MULTI_MONEDA_ID = _idMoneda; if (fila.ItemArray[1].ToString() == "PRO") { detalle.PRODUCTO_ID = int.Parse(fila.ItemArray[2].ToString()); detalle.SERVICIO_ID = 1; } if (fila.ItemArray[1].ToString() == "SER") { detalle.PRODUCTO_ID = 1; detalle.SERVICIO_ID = int.Parse(fila.ItemArray[2].ToString()); } if (fila.ItemArray[1].ToString() == "OT") { detalle.PRODUCTO_ID = 1; detalle.SERVICIO_ID = 1; reservas = reservas + fila.ItemArray[2].ToString() + ";"; } listaDetalle.Add(detalle); cantidadTotal = cantidadTotal + int.Parse(detalle.CANTIDAD.ToString()); } VENTAS ventas = new VENTAS(); ventas.FECHA_CREACION = DateTime.Now; ventas.FECHA_ULTIMO_UPDATE = DateTime.Now; ventas.CANTIDAD_TOTAL = cantidadTotal; ventas.FECHA_VENTA = DateTime.Now; ventas.MONTO_TOTAL = Convert.ToDecimal(_total); ventas.CLIENTE_ID = _idCliente; ventas.EMPLEADO_ID = _idEmpleado; ventas.MULTI_MONEDA_ID = _idMoneda; ventas.SUCURSAL_ID = _sucursal; ventas.TIPO_VENTA_ID = _tipoDocumento; VentasNEG ventasNEG = new VentasNEG(); string respuesta = ventasNEG.EmitirVenta(ventas, listaDetalle, reservas); if (respuesta == "creado") { int idVenta = ventasNEG.ObtenerUtlimoIdVenta(); VentasDAL ventasDAL = new VentasDAL(); DatosDocumentoPagoVIEW datos = ventasDAL.CargarDatos(idVenta); datos.DETALLE_BOLETA = ventasDAL.ListarDetalleBoleta(idVenta); ExportarArchivos PDF = new ExportarArchivos(); string folio = datos.FOLIO.ToString(); for (int i = 0; i < 9; i++) { if (folio.Length < 8) { folio = "0" + folio; } } string rutaDcoc = PDF.DocumentoPagoPDF(datos, folio); ServerCorreo abrir_server = new ServerCorreo(); Correo correoM = new Correo(); SmtpClient server = abrir_server.InstanciaServer(); //Instancia la libreria que permite armar correo electronico y llama el metodo que lo crea MailMessage email = correoM.CorreoEnvioFactura(rutaDcoc, datos.CORREO_CLIENTE, datos.NOMBRE_CLIENTE + " " + datos.APELLIDO_CLIENTE, folio); //envia el correo server.Send(email); Limpiar(); MessageBox.Show("El documento ha sido generado correctamente. Se ha enviado una copia por correo al cliente y puede tambien buscar una copia del archivo en 'Mis Documentos'"); } } else { MessageBox.Show("Deben ingresar productos o servicios al documento"); } } else { MessageBox.Show("Debe seleccionar un empleado"); } } else { MessageBox.Show("Debe seleccionar un empleado"); } } else { MessageBox.Show("Debe seleccionar un tipo de documento"); } } else { MessageBox.Show("Debe seleccionar una moneda"); } } else { MessageBox.Show("Debe seleccionar un tipo de documento"); } } else { MessageBox.Show("Debe seleccionar un tipo de documento"); } } else { MessageBox.Show("Debe seleccionar un cliente"); } } else { MessageBox.Show("Debe seleccionar un cliente"); } } else { MessageBox.Show("Debe seleccionar una sucursal"); } } else { MessageBox.Show("Debe seleccionar una sucursal"); } } catch (Exception ex) { MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString()); } }