Exemplo n.º 1
0
        private void btnExportar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                MessageBox.Show("Espere mientras el documento es generado. Para comenzar presione 'Aceptar'");
                DataTable        tabla = ((DataView)dgProductos.ItemsSource).ToTable();
                ExportarArchivos pdf   = new ExportarArchivos();
                //cargar modelo solicitud
                PDF_ModeloOrdenPedido modelo = new PDF_ModeloOrdenPedido();
                modelo.Folio             = dataRow["FOLIO"].ToString();
                modelo.NombreProveedor   = ordenPedidoCarga.PROVEEDOR;
                modelo.RolProveedor      = ordenPedidoCarga.NUMID_PROVEEDOR + "-" + ordenPedidoCarga.DIVID_PROVEEDOR;
                modelo.FechaSolicitud    = ordenPedidoCarga.FECHA_CREACION.ToString();
                modelo.FechaModificacion = dpkFechaModificacion.SelectedDate.ToString();
                modelo.Sucursal          = ordenPedidoCarga.SUCURSAL;
                modelo.Direccion         = txtDireccion.Text;
                modelo.Telefono          = txtTelFijo.Text;
                modelo.EmailSucursal     = txtEmailSucursal.Text;
                foreach (DataRow fila in tabla.Rows)
                {
                    DETALLE_ORDEN_PEDIDO deta = new DETALLE_ORDEN_PEDIDO();
                    deta.PRODUCTO_ID     = int.Parse(fila.ItemArray[0].ToString());
                    deta.NOMBRE_PRODUCTO = fila.ItemArray[1].ToString();
                    deta.CANTIDAD        = int.Parse(fila.ItemArray[2].ToString());
                    deta.PRECIO_COMPRA   = decimal.Parse(fila.ItemArray[3].ToString());
                    deta.MONTO_TOTAL     = decimal.Parse(fila.ItemArray[4].ToString());
                    modelo.DetalleOrdenPedido.Add(deta);
                }
                modelo.Moneda         = cbxMoneda.Text;
                modelo.CostoTotal     = txtCostoTotal.Text;
                modelo.ConstoMoneda   = txtCostoMoneda.Text;
                modelo.CodigoEmpleado = cbxEmpleado.Text;
                modelo.NombreEMpleado = txtNombreEmpleado.Text;
                modelo.EmailProveedor = txtEmailProveedor.Text;

                pdf.OrdenPedidoPDF(modelo);
                MessageBox.Show("El documento se genero correctamente. Puede acceder a él en la carpeta de 'Mis Documentos'");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }
Exemplo n.º 2
0
        private void btnEnviar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (cbxMoneda.SelectedValue != null)
                {
                    if (cbxEmpleado.SelectedValue != null)
                    {
                        MessageBox.Show("Espere mientras se realiza en envío de la orden de pedido. Presione 'Aceptar' para comenzar con el envío");

                        OrdenPedidoNEG ordenPedidoNEG = new OrdenPedidoNEG();
                        int            proveedor      = ordenPedidoCarga.PROVEEDOR_ID;
                        int            sucursal       = ordenPedidoCarga.SUCURSAL_ID;
                        ordenPedidoCarga.ESTADO_ORDEN_PEDIDO_ID = 3;
                        string    emailSucursal      = txtEmailSucursal.Text.ToString();
                        int       tipoMultimoneda    = int.Parse(cbxMoneda.SelectedValue.ToString());
                        int       empleado           = int.Parse(cbxEmpleado.SelectedValue.ToString());
                        string    emailProveedor     = txtEmailProveedor.Text.ToString();
                        DateTime  fechaActualizacion = Convert.ToDateTime(dpkFechaModificacion.SelectedDate);
                        DataTable tabla     = ((DataView)dgProductos.ItemsSource).ToTable();
                        string    respuesta = ordenPedidoNEG.ActualizarOrdenPedido(ordenPedidoCarga, proveedor, sucursal, emailSucursal, tipoMultimoneda, empleado, emailProveedor, fechaActualizacion, tabla);
                        if (respuesta == "actualizado")
                        {
                            ServerCorreo     abrir_server = new ServerCorreo();
                            Correo           correoM      = new Correo();
                            ExportarArchivos pdf          = new ExportarArchivos();
                            //parametriza el servidor STMP para enviar el correo
                            SmtpClient server = abrir_server.InstanciaServer();

                            //cargar modelo solicitud
                            PDF_ModeloOrdenPedido modelo = new PDF_ModeloOrdenPedido();
                            modelo.Folio             = dataRow["FOLIO"].ToString();
                            modelo.NombreProveedor   = ordenPedidoCarga.PROVEEDOR;
                            modelo.RolProveedor      = ordenPedidoCarga.NUMID_PROVEEDOR + "-" + ordenPedidoCarga.DIVID_PROVEEDOR;
                            modelo.FechaSolicitud    = ordenPedidoCarga.FECHA_CREACION.ToString();
                            modelo.FechaModificacion = dpkFechaModificacion.SelectedDate.ToString();
                            modelo.Sucursal          = ordenPedidoCarga.SUCURSAL;
                            modelo.Direccion         = txtDireccion.Text;
                            modelo.Telefono          = txtTelFijo.Text;
                            modelo.EmailSucursal     = txtEmailSucursal.Text;
                            foreach (DataRow fila in tabla.Rows)
                            {
                                DETALLE_ORDEN_PEDIDO deta = new DETALLE_ORDEN_PEDIDO();
                                deta.PRODUCTO_ID     = int.Parse(fila.ItemArray[0].ToString());
                                deta.NOMBRE_PRODUCTO = fila.ItemArray[1].ToString();
                                deta.CANTIDAD        = int.Parse(fila.ItemArray[2].ToString());
                                deta.PRECIO_COMPRA   = decimal.Parse(fila.ItemArray[3].ToString());
                                deta.MONTO_TOTAL     = decimal.Parse(fila.ItemArray[4].ToString());
                                modelo.DetalleOrdenPedido.Add(deta);
                            }
                            modelo.Moneda         = cbxMoneda.Text;
                            modelo.CostoTotal     = txtCostoTotal.Text;
                            modelo.ConstoMoneda   = txtCostoMoneda.Text;
                            modelo.CodigoEmpleado = cbxEmpleado.Text;
                            modelo.NombreEMpleado = txtNombreEmpleado.Text;
                            modelo.EmailProveedor = txtEmailProveedor.Text;

                            string nombreRutaDoc = pdf.OrdenPedidoPDF(modelo);

                            //Instancia la libreria que permite armar correo electronico y llama el metodo que lo crea
                            MailMessage email = correoM.CorreoConfirmacionEnvioPedido(nombreRutaDoc, modelo.EmailSucursal, modelo.NombreEMpleado, modelo.EmailProveedor, modelo.NombreProveedor);
                            //envia el correo
                            server.Send(email);
                            ordenPedidoNEG.EnviarOrdenPedido(ordenPedidoCarga.ID);
                            modificarPedido.CargarTablaOrdenesPedido();
                            MessageBox.Show("La orden de pedido ha sido enviada satisfactoriamente");
                        }
                        else
                        {
                            MessageBox.Show(respuesta);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Debe seleccionar un empleado");
                    }
                }
                else
                {
                    MessageBox.Show("Debe seleccionar una moneda");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }