Пример #1
0
        private void btnFinalizar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (ESTADORESERVA == "INICIADO")
                {
                    RequerimientoNEG requerimientoNEG   = new RequerimientoNEG();
                    DateTime         fechaActualizacion = DateTime.Now;
                    if (dpkFechaActualizacion.SelectedDate != null)
                    {
                        fechaActualizacion = Convert.ToDateTime(dpkFechaActualizacion.SelectedDate);
                    }
                    string observacion = txtObservacion.Text;

                    string respuesta = requerimientoNEG.FinalizarRequerimiento(IDRESERVA, observacion, fechaActualizacion);
                    if (respuesta == "actualizado")
                    {
                        int idReserva = IDRESERVA;
                        ExportarArchivos                 pdf         = new ExportarArchivos();
                        PDF_ModeloOrdenTrabajo           modelo      = new PDF_ModeloOrdenTrabajo();
                        ReservaNEG                       reservaNEG  = new ReservaNEG();
                        ReservaVIEW                      reserva     = reservaNEG.CargarReserva(idReserva);
                        DiagnosticoDAL                   diagnostico = new DiagnosticoDAL();
                        List <ServiciosXDiagnosticoVIEW> servicios   = diagnostico.ListarServiciosXDiagnostico(reserva.ID_DIAGNOTICO);
                        List <ProductosXDiagnostico>     productos   = diagnostico.ListarProductosXDiagnostico(reserva.ID_DIAGNOTICO);
                        int    idFolio = reserva.ID;
                        string folio   = idFolio.ToString();
                        for (int i = 0; i < 9; i++)
                        {
                            if (folio.Length < 8)
                            {
                                folio = "0" + folio;
                            }
                        }
                        modelo.Folio             = folio;
                        modelo.CorreoCliente     = reserva.CORREO_CLIENTE;
                        modelo.CorreroSucursal   = reserva.CORREO_SUCURSAL;
                        modelo.FechaIngreso      = reserva.FECHA_CREACION.ToString();
                        modelo.FechaReserva      = reserva.FECHA_RESERVA.ToString();
                        modelo.EstadoDiagnostico = reserva.ESTADO_DIAGNOSTICO;
                        modelo.NombreCliente     = reserva.NOMBRE_CLIENTE;
                        modelo.ApellidoCliente   = reserva.NOMBRE_APELLIDO;
                        modelo.NumCliente        = reserva.NUM_ID_CLIENTE.ToString();
                        modelo.DivCliente        = reserva.DIV_CLIENTE.ToString();
                        modelo.DireccionCliente  = reserva.DIRECCION_CLIENTE;
                        modelo.ComunaCliente     = reserva.COMUNA_CLIENTE;
                        modelo.TelCliente        = reserva.TELEFONO_CLIENTE.ToString();
                        modelo.Tel2Cliente       = reserva.TELEFONO_CLIENTE2.ToString();
                        modelo.NombreEmpleado    = reserva.NOMBRE_EMPLEADO + " " + reserva.APELLIDO_EMPLEADO;
                        modelo.NombreSucursal    = reserva.NOMBRE_SUCURSAL;
                        modelo.MarcaVehiculo     = reserva.MARCA_VEHICULO;
                        modelo.TipoVehiculo      = reserva.TIPO_VEHICULO;
                        modelo.DireccionSucursal = reserva.DIRECCION_SUCURSAL;
                        modelo.TelefonoSucursal  = reserva.TELEFONO_SUCURSAL.ToString();
                        modelo.Observacion       = reserva.ORSERVACION_FINAL;
                        modelo.TotalTrabajo      = int.Parse(reserva.TOTAL.ToString());
                        modelo.PatenteVehiculo   = reserva.PATENTE_VEHICULO;
                        modelo.ListaServicios    = servicios;
                        modelo.ListaProductos    = productos;
                        string       nombreRutaDoc = pdf.OrdenTrabajoPedidoPDF(modelo);
                        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.CorreoFinalizacionRequerimiento(nombreRutaDoc, modelo.CorreoCliente, modelo.NombreCliente + " " + modelo.ApellidoCliente, folio);
                        //envia el correo
                        server.Send(email);

                        CargarTablaRequerimientos();
                        MessageBox.Show("La orden de trabajo ha sido finalizada satisfactoriamente. Ahora se encuantra disponible para ser pagada");
                    }
                    else
                    {
                        MessageBox.Show(respuesta);
                    }
                }
                else
                {
                    MessageBox.Show("Sólo se pueden finalizar requerimientos que con estado 'INICIADO', y servicios 'COMPLETADO'");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString() + "\n" + ex.InnerException.Message.ToString());
            }
        }
        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());
            }
        }
Пример #3
0
        private void btnEnviar_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (cbxFolio.SelectedValue != null)
                {
                    string motivo   = txtMotivo.Text;
                    string emailPro = txtEmailProveedor.Text;
                    string emailSuc = txtEmailSucursal.Text;
                    if (motivo.Trim().Length >= 10)
                    {
                        if (emailPro.Trim().Length >= 5)
                        {
                            if (emailSuc.Trim().Length >= 5)
                            {
                                MessageBox.Show("Espere mientras el documento es generado. Presione 'Aceptar' para comenzar");
                                int    idFolio = int.Parse(cbxFolio.SelectedValue.ToString());
                                string folio   = idFolio.ToString();
                                for (int i = 0; i < 9; i++)
                                {
                                    if (folio.Length < 8)
                                    {
                                        folio = "0" + folio;
                                    }
                                }
                                ExportarArchivos      pdf                   = new ExportarArchivos();
                                PDF_ModeloDevolucion  modelo                = new PDF_ModeloDevolucion();
                                OrdenPedidoNEG        ordenPedidoNEG        = new OrdenPedidoNEG();
                                OrdenPedidoVIEW       orden                 = new OrdenPedidoVIEW();
                                DetalleOrdenPedidoNEG detalleOrdenPedidoNEG = new DetalleOrdenPedidoNEG();
                                orden                     = ordenPedidoNEG.CargarOrdenPedido(idFolio);
                                modelo.Sucursal           = orden.SUCURSAL;
                                modelo.Folio              = folio;
                                modelo.NombreProveedor    = orden.PROVEEDOR;
                                modelo.RolProveedor       = orden.NUMID_PROVEEDOR + "-" + orden.DIVID_PROVEEDOR;
                                modelo.Motivo             = motivo;
                                modelo.EmailProveedor     = emailPro;
                                modelo.EmailSucursal      = emailSuc;
                                modelo.DetalleOrdenPedido = detalleOrdenPedidoNEG.CargarlistaDetalleOrden(idFolio);

                                ServerCorreo abrir_server = new ServerCorreo();
                                Correo       correoM      = new Correo();
                                //parametriza el servidor STMP para enviar el correo
                                SmtpClient server = abrir_server.InstanciaServer();

                                string respuesta = pdf.DevolucionPedidoPDF(modelo);

                                //Instancia la libreria que permite armar correo electronico y llama el metodo que lo crea
                                MailMessage email = correoM.CorreoDevolucionPedido(respuesta, emailSuc, emailPro, modelo.NombreProveedor, folio, motivo);
                                //envia el correo
                                server.Send(email);


                                MessageBox.Show("El documento se genero correctamente. Ubíquelo en 'Mis Documentos'");
                            }
                            else
                            {
                                MessageBox.Show("Debe indicar un correo de la sucursal");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Debe indicar un correo del proveedor");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Debe indicar un motivo de la menos 10 caracteres");
                    }
                }
                else
                {
                    MessageBox.Show("Debe seleccionar solo una fila");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error:\n" + ex.TargetSite + "\n" + ex.Message.ToString());
            }
        }
Пример #4
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());
            }
        }