private void ButtonAceptar_Click(object sender, RoutedEventArgs e) { context = new InstanceContext(this); RegistrarRecetaClient registrarRecetaClient = new RegistrarRecetaClient(context); if (InfoIngredientesEstaCompleta()) { try { Servicio.Receta receta = new Servicio.Receta(); receta.nombreReceta = textBoxNombreReceta.Text; receta.porciones = FuncionesComunes.ParsearADouble(textBoxPorciones.Text); receta.procedimiento = textBoxProcedimiento.Text; receta.activado = true; var array = Ingredientes.ToArray(); registrarRecetaClient.RegistrarReceta(receta, array); DeshabilitarCamposYBotones(); } catch (CommunicationException) { FuncionesComunes.MostrarMensajeDeError("No hay conexion"); HabilitarCamposYBotones(); } } else { FuncionesComunes.MostrarMensajeDeError("Es necesario completar la información de los ingredientes para continnuar."); } }
private PedidoLocal ObtenerDatosPedidoLocal() { int numeroMesa = Convert.ToInt16(mesaSeleccionada); var mesero = Meseros.FirstOrDefault <EmpleadoPizzeria>(e => e.idGenerado == UC_NuevoPLocal.EditarSeleccionComboBoxNumEmpleado); textBoxDescuento.Text = "." + textBoxDescuento.Text; var descuento = FuncionesComunes.ParsearADouble(textBoxDescuento.Text); PedidoLocal pedidoLocalNuevo = new PedidoLocal { instruccionesEspeciales = textBoxInstruccionesEspeciales.Text, Mesa = new Mesa { numeroMesa = (short)numeroMesa }, Estado = new Estado { estadoPedido = "En Espera" }, Cuenta = new Cuenta { subTotal = (double)labelSubtotal.Content, iva = 0.16, descuento = descuento, precioTotal = (double)labelTotal.Content, } }; if (VentanaPedidos.idEmpleadoGeneradoCallCenter != null) { pedidoLocalNuevo.Empleado = new Empleado { IdEmpleado = VentanaPedidos.idEmpleadoCallCenter, idEmpleadoGenerado = VentanaPedidos.idEmpleadoGeneradoCallCenter }; } else { pedidoLocalNuevo.Empleado = new Empleado { IdEmpleado = mesero.id, idEmpleadoGenerado = mesero.idGenerado }; } pedidoLocalNuevo.Producto = new Producto[productosSeleccionados.Count]; List <Producto> listaProductosSeleccionados = productosSeleccionados.ToList(); listaProductosSeleccionados.CopyTo(pedidoLocalNuevo.Producto); pedidoLocalNuevo.ProvisionDirecta = new ProvisionDirecta[provisionesSeleccionadas.Count]; List <ProvisionDirecta> listaProvisionesSeleccionadas = provisionesSeleccionadas.ToList(); listaProvisionesSeleccionadas.CopyTo(pedidoLocalNuevo.ProvisionDirecta); return(pedidoLocalNuevo); }
// SELECCIÓN DE PRODUCTOS **************************************************+ private void ListViewBebidas_MouseDoubleClick(object sender, MouseButtonEventArgs e) { ProvisionVentaDirecta provisionSeleccionada = ListViewBebidas.SelectedItem as ProvisionVentaDirecta; Orden ordenExistente = listaOrdenes.FirstOrDefault <Orden>(i => i.nombreProducto == provisionSeleccionada.nombre); if (ordenExistente == null) { Orden orden = new Orden(); orden.cantidad = provisionSeleccionada.cantidad = 1; orden.nombreProducto = provisionSeleccionada.nombre; orden.precioUnitario = provisionSeleccionada.precioUnitario; orden.precioTotal = provisionSeleccionada.precioUnitario; listaOrdenes.Add(orden); ProvisionDirecta provision = ConvertidorDeObjetos.ProvisionVentaDirecta_A_ProvisionDirecta(provisionSeleccionada); provisionesSeleccionadas.Add(provision); labelSubtotal.Content = orden.precioUnitario + Convert.ToDouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; //double conDescuento = Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString())) - totalADescontar + IVA; } else { ProvisionDirecta provisionExistente = provisionesSeleccionadas.FirstOrDefault(p => p.Id == provisionSeleccionada.idProvisionVentaDirecta); provisionExistente.cantidad++; ordenExistente.cantidad++; ordenExistente.precioTotal = ordenExistente.precioUnitario * ordenExistente.cantidad; dataGridOrden.Items.Refresh(); labelSubtotal.Content = ordenExistente.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } }
/// <summary> /// Obtiene el producto seleccionado de los ListView que exponen PRODUCTOS y los agrega a la lista de ordenes del pedido /// </summary> /// <typeparam name="T"> T es un tipo de dato System.Windows.Controls.ListView </typeparam> /// <param name="t"> Es el ListView que expone los productos </param> private void ObtenerProductoSeleccionado <T>(System.Windows.Controls.ListView t) where T : System.Windows.Controls.ListView { ProductoDePedido productoSeleccionado = t.SelectedItem as ProductoDePedido; var ordenExistente = listaOrdenes.FirstOrDefault(i => i.nombreProducto == productoSeleccionado.nombre); if (ordenExistente == null) { Orden orden = new Orden { cantidad = productoSeleccionado.cantidad = 1, nombreProducto = productoSeleccionado.nombre, precioUnitario = productoSeleccionado.precioUnitario, precioTotal = productoSeleccionado.precioUnitario }; listaOrdenes.Add(orden); Producto producto = ConvertidorDeObjetos.ProductoDePedido_A_Producto(productoSeleccionado); productosSeleccionados.Add(producto); labelSubtotal.Content = orden.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } else { Producto producto = productosSeleccionados.FirstOrDefault(p => p.Id == productoSeleccionado.id); producto.cantidad++; ordenExistente.cantidad++; ordenExistente.precioTotal = ordenExistente.precioUnitario * ordenExistente.cantidad; dataGridOrden.Items.Refresh(); labelSubtotal.Content = ordenExistente.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString())) - totalADescontar + IVA; } }
private PedidoADomicilio ObtenerDatosPedidoADomicilio() { Cliente1 clienteEnLista = new Cliente1(); var nombreCompleto = UC_NuevoDomicilio.EditarComboBoxClienteNombre.ToString(); foreach (var cliente in UC_NuevoDomicilio.clientes) { if (nombreCompleto.Contains(cliente.nombre + " " + cliente.apellidoPaterno + " " + cliente.apellidoMaterno)) { clienteEnLista = cliente; break; } } PedidoADomicilio pedidoADomicilio = new PedidoADomicilio { Cliente = new Cliente { Id = clienteEnLista.id, nombre = clienteEnLista.nombre, apellidoPaterno = clienteEnLista.apellidoPaterno, apellidoMaterno = clienteEnLista.apellidoMaterno }, ClienteId = clienteEnLista.id, //fecha = DateTime.Now, //ESTO SE QUITA instruccionesEspeciales = textBoxInstruccionesEspeciales.Text, Empleado = new Empleado { IdEmpleado = VentanaPedidos.idEmpleadoCallCenter, idEmpleadoGenerado = VentanaPedidos.idEmpleadoGeneradoCallCenter }, Estado = new Estado { estadoPedido = "En Espera" }, Cuenta = new Cuenta { //Id = GenerarIdPedidoADomicilio(clienteEnLista.id), //ESTO SE QUITA subTotal = (double)labelSubtotal.Content, iva = 0.16, descuento = FuncionesComunes.ParsearADouble(textBoxDescuento.Text), precioTotal = (double)labelTotal.Content }, direccionDestino = UC_NuevoDomicilio.EditarComboBoxDireccion }; List <Telefono> telefonos = new List <Telefono>(); foreach (var telefonoCliente in clienteEnLista.telefonos) { var telefono = ConvertidorDeObjetos.TelefonoCliente_A_Telefono(telefonoCliente); telefonos.Add(telefono); } pedidoADomicilio.Cliente.Telefono = telefonos.ToArray(); pedidoADomicilio.Producto = new Producto[productosSeleccionados.Count]; List <Producto> listaProductosSeleccionados = productosSeleccionados.ToList(); listaProductosSeleccionados.CopyTo(pedidoADomicilio.Producto); pedidoADomicilio.ProvisionDirecta = new ProvisionDirecta[provisionesSeleccionadas.Count]; List <ProvisionDirecta> listaProvisionesSeleccionadas = provisionesSeleccionadas.ToList(); listaProvisionesSeleccionadas.CopyTo(pedidoADomicilio.ProvisionDirecta); return(pedidoADomicilio); }