Beispiel #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());
            }
        }
Beispiel #2
0
        public string ActualizarOrdenPedido(OrdenPedidoVIEW ordenPedidCarga, int proveedor, int sucursal, string emailSucursal, int tipoMultimoneda, int empleado, string emailProveedor, DateTime fechaActualizacion, DataTable tabla)
        {
            try
            {
                if (emailProveedor.Trim().Length > 4)
                {
                    if (tabla.Rows.Count > 0)
                    {
                        if (tipoMultimoneda > -1)
                        {
                            if (empleado > -1)
                            {
                                if (emailSucursal.Trim().Length > 4)
                                {
                                    ORDEN_PEDIDO orden = new ORDEN_PEDIDO();
                                    List <DETALLE_ORDEN_PEDIDO> detalleOrden = new List <DETALLE_ORDEN_PEDIDO>();
                                    OrdenPedidoDAL ordenPedidoDAL            = new OrdenPedidoDAL();

                                    orden.FECHA_ULTIMO_UPDATE = fechaActualizacion;
                                    decimal montoTotal    = 0;
                                    int     cantidadTotal = 0;

                                    foreach (DataRow fila in tabla.Rows)
                                    {
                                        DETALLE_ORDEN_PEDIDO detalle = new DETALLE_ORDEN_PEDIDO();
                                        detalle.FECHA_CREACION      = DateTime.Now;
                                        detalle.FECHA_ULTIMO_UPDATE = DateTime.Now;
                                        detalle.CANTIDAD            = int.Parse(fila.ItemArray[2].ToString());
                                        detalle.MONTO_TOTAL         = Decimal.Parse(fila.ItemArray[4].ToString());
                                        detalle.NOMBRE_PRODUCTO     = fila.ItemArray[1].ToString();
                                        detalle.PRECIO_COMPRA       = Decimal.Parse(fila.ItemArray[3].ToString());
                                        detalle.MULTI_MONEDA_ID     = tipoMultimoneda;
                                        detalle.PRODUCTO_ID         = int.Parse(fila.ItemArray[0].ToString());
                                        detalleOrden.Add(detalle);

                                        montoTotal    = montoTotal + Decimal.Parse(fila.ItemArray[4].ToString());
                                        cantidadTotal = cantidadTotal + int.Parse(fila.ItemArray[2].ToString());
                                    }

                                    orden.ID                     = ordenPedidCarga.ID;
                                    orden.CANTIDAD_TOTAL         = cantidadTotal;
                                    orden.MONTO_TOTAL            = montoTotal;
                                    orden.EMPLEADO_ID            = empleado;
                                    orden.ESTADO_ORDEN_PEDIDO_ID = ordenPedidCarga.ESTADO_ORDEN_PEDIDO_ID;
                                    orden.MULTI_MONEDA_ID        = tipoMultimoneda;
                                    orden.EMAIL_PROVEEDOR        = emailProveedor;
                                    orden.EMAIL_SUCURSAL         = emailSucursal;
                                    return(ordenPedidoDAL.ActualizarOrdenPedido(orden, detalleOrden));
                                }
                                else
                                {
                                    return("Debe email de la sucursal para enviar una copia del pedido");
                                }
                            }
                            else
                            {
                                return("Debe indicar un empleado responsable");
                            }
                        }
                        else
                        {
                            return("Debe indicar un tipo de moneda");
                        }
                    }
                    else
                    {
                        return("Debe agregar productos para solicitarlos");
                    }
                }
                else
                {
                    return("Debe indicar email del proveedor para enviar el pedido");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #3
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());
            }
        }