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()); } }
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()); } }
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()); } }