public DataAccess.Pedido GetPedidoConProductoPorId(int id) { DataAccess.Pedido pedido = new DataAccess.Pedido(); using (var context = new PizzaEntities()) { try { pedido = context.Pedido.Where(b => b.idPedido == id).FirstOrDefault(); if (pedido == null) { throw new InstanceNotFoundException(); } pedido.PedidoProducto = pedido.PedidoProducto; pedido.Estatus1 = pedido.Estatus1; foreach (var pedidoProducto in pedido.PedidoProducto) { pedidoProducto.ProductoVenta = pedidoProducto.ProductoVenta; } } catch (EntityException) { throw new EntityException("Error al conectar a la bd"); }catch (InstanceNotFoundException) { throw new InstanceNotFoundException("No se encontro el pedido"); } } return(pedido); }
private void btEnPreparacion_Click(object sender, RoutedEventArgs e) { if (pedidoActual == null) { MessageBox.Show("No se ha seleccionado un pedido!!!"); } else if (pedidoActual.Estatus1.NombreEstatus == "En Preparación") { MessageBox.Show("No se puede seleccionar este pedido para ponerlo en preparacion por que ya se encuentra en preparacion"); } else { try { PedidoController.PonerEnPreparacion(pedidoActual.idPedido); MessageBox.Show("Se ha puesto el pedido en preparacion"); } catch (ArgumentException) { MessageBox.Show("No existen suficientes existencias en el inventario"); } ucPedidos.UpdateGrid(); pedidoActual = null; dgProductos.ItemsSource = null; lbidPedidoActual.Content = "Ninguno"; } }
public void GetPedidoPorIdTest() { PedidoDAO pedidoDAO = new PedidoDAO(); DataAccess.Pedido tempPedido = pedidoDAO.GetPedidoConProductoPorId(283); Assert.AreEqual(tempPedido.idPedido, 283); }
public ResultadoOperacionEnum.ResultadoOperacion crearPedidoMesero(DataAccess.Pedido pedido, List <DataAccess.PedidoProducto> productos) { ResultadoOperacionEnum.ResultadoOperacion resultado = new ResultadoOperacionEnum.ResultadoOperacion(); PedidoDAO pedidoDAO = new PedidoDAO(); resultado = pedidoDAO.CrearPedidoMesero(pedido, productos); return(resultado); }
public void FallaCrearPedidoDomicilioTest1() { List <PedidoProducto> pedidoProductos = new List <PedidoProducto>(); DataAccess.Cliente cliente = new DataAccess.Cliente(); DataAccess.Pedido pedido = new DataAccess.Pedido(); pedido.Cliente1 = cliente; pedido.Estatus = 2; pedido.FechaPedido = DateTime.Now; PedidoDAO pedidoDAO = new PedidoDAO(); Assert.AreEqual(pedidoDAO.CrearPedidoDomicilio(pedido, pedidoProductos), ResultadoOperacionEnum.ResultadoOperacion.FalloSQL); }
private void btTerminado_Click(object sender, RoutedEventArgs e) { if (pedidoActual == null) { MessageBox.Show("No se ha seleccionado un pedido!!!"); } else if (pedidoActual.Estatus1.NombreEstatus == "En Espera") { MessageBox.Show("Primero se debe preparar el pedido"); } else { PedidoController.CambiarEstadoPedido(pedidoActual.idPedido, "Preparado"); MessageBox.Show("Se ha terminado el pedido"); ucPedidos.UpdateGrid(); pedidoActual = null; dgProductos.ItemsSource = null; lbidPedidoActual.Content = "Ninguno"; } }
private void btn_NuevoPedido_Click(object sender, RoutedEventArgs e) { if (ValidarCampos()) { DataAccess.Pedido pedido = new DataAccess.Pedido(); pedido.FechaPedido = DateTime.UtcNow; pedido.Estatus = 2; BusinessLogic.Cliente cliente1 = clientes[cbb_NombreCliente.SelectedIndex]; //string cliente = cbb_NombreCliente.SelectedIndex; pedido.Cliente = cliente1.idPersona; foreach (BusinessLogic.ProductoVenta producto in productoVentas) { if (dgProductosDePedido.Items != null) { foreach (BusinessLogic.ProductoVenta pedido1 in dgProductosDePedido.Items) { DataAccess.PedidoProducto pedidoProducto = new PedidoProducto(); pedidoProducto.idProductoVenta = pedido1.idProducto; pedidoProducto.Precio = pedido1.PrecioPúblico; listaproductos.Add(pedidoProducto); } } } PedidoController pedidoController = new PedidoController(); if (pedidoController.crearPedidoDomicilio(pedido, listaproductos) == ResultadoOperacionEnum.ResultadoOperacion.Exito) { MessageBox.Show("El Pedido se registró correctamente"); listaproductos.Clear(); ActualizarDataGrid(); lbNuevoPrecio.Text = ""; } else { MessageBox.Show("No se puede registar el Pedido"); } } }
void ObtenerPedido() { try { PedidoAEditar = controller.ObtenerPedidoParaEditar(PedidoID); } catch (EntityException) { MessageBox.Show("No se pudo obtener el pedido para la edicion \nReintentar mas tarde"); this.Close(); } catch (InstanceNotFoundException) { MessageBox.Show("No se encontro el pedido, verificar la existencia"); this.Close(); } catch (FormatException) { MessageBox.Show("El pedido no esta en espera y ya no es posible modificarlo"); this.Close(); } }
private void btn_NuevoPedido_Click(object sender, RoutedEventArgs e) { if (valdiarCampos()) { DataAccess.Pedido pedido = new DataAccess.Pedido(); pedido.FechaPedido = DateTime.UtcNow; pedido.Estatus = 2; pedido.NumeroMesa = (int)cbb_mesas.SelectedItem; foreach (BusinessLogic.ProductoVenta producto in productoVentas) { if (dgProductosDePedido.Items != null) { foreach (BusinessLogic.ProductoVenta pedido1 in dgProductosDePedido.Items) { DataAccess.PedidoProducto pedidoProducto = new PedidoProducto(); pedidoProducto.idProductoVenta = pedido1.idProducto; pedidoProducto.Precio = pedido1.PrecioPúblico; listaproductos.Add(pedidoProducto); } } } PedidoController pedidoController = new PedidoController(); if (pedidoController.crearPedidoMesero(pedido, listaproductos) == ResultadoOperacionEnum.ResultadoOperacion.Exito) { MessageBox.Show("El Pedido se registró correctamente"); listaproductos.Clear(); ActualizarDataGrid(); lbNuevoPrecio.Text = ""; } else { MessageBox.Show("No se puede registar el Pedido"); } } }
private void PedidosUC_PedidoUserControlClicked(object sender, EventArgs e) { pedidoActual = ((DataAccess.Pedido)sender); lbidPedidoActual.Content = pedidoActual.idPedido; List <CustomPedidoProducto> custom = new List <CustomPedidoProducto>(); foreach (var item in PedidoController.ObtenerPedidoProducto(pedidoActual.idPedido)) { CustomPedidoProducto tempPedidoProducto = new CustomPedidoProducto { idPedido = item.idPedido, Cantidad = item.Cantidad, Precio = item.Precio, idProductoVenta = item.idProductoVenta }; ProductoController productoController = new ProductoController(); DataAccess.Producto producto = productoController.ObtenerProductoPorId(tempPedidoProducto.idProductoVenta); tempPedidoProducto.NombreProducto = producto.Nombre; tempPedidoProducto.CodigoProducto = producto.Codigo; custom.Add(tempPedidoProducto); } dgProductos.ItemsSource = custom; Console.WriteLine("hofbdjs"); }
public ResultadoOperacion CrearPedidoMesero(DataAccess.Pedido pedido, List <PedidoProducto> productos) { ResultadoOperacion resultado = ResultadoOperacion.FallaDesconocida; Random random = new Random(); pedido.idPedido = random.Next(1000); DbConnection dbConnection = new DbConnection(); using (SqlConnection connection = dbConnection.GetConnection()) { connection.Open(); SqlCommand command = connection.CreateCommand(); SqlTransaction transaction; transaction = connection.BeginTransaction("InsertarPedido"); command.Connection = connection; command.Transaction = transaction; try { command.CommandText = "INSERT INTO dbo.Pedido (idPedido, FechaPedido, Estatus, NumeroMesa) SELECT @idPedido, @FechaPedido, @Estatus, @NumeroMesa"; command.Parameters.Add(new SqlParameter("@idPedido", pedido.idPedido)); command.Parameters.Add(new SqlParameter("@FechaPedido", pedido.FechaPedido)); command.Parameters.Add(new SqlParameter("@Estatus", pedido.Estatus)); //command.Parameters.Add(new SqlParameter("@Cliente", pedido.Cliente)); command.Parameters.Add(new SqlParameter("@NumeroMesa", 1)); //command.Parameters.Add(new SqlParameter("@Empleado", 0)); //command.Parameters.Add(new SqlParameter("@DiaVenta", 0)); command.ExecuteNonQuery(); command.Parameters.Clear(); for (int posicion = 0; posicion < productos.Count; posicion++) { command.Parameters.Clear(); command.CommandText = "INSERT INTO dbo.PedidoProducto VALUES (@idPedido, @idProductoVenta, @Cantidad, @Precio)"; command.Parameters.Add(new SqlParameter("@idPedido", pedido.idPedido)); command.Parameters.Add(new SqlParameter("@idProductoVenta", productos[posicion].idProductoVenta)); command.Parameters.Add(new SqlParameter("@Cantidad", productos[posicion].Cantidad)); command.Parameters.Add(new SqlParameter("@Precio", productos[posicion].Precio)); command.ExecuteNonQuery(); } transaction.Commit(); resultado = ResultadoOperacion.Exito; } catch (SqlException e) { transaction.Rollback(); switch (e.Number) { default: resultado = ResultadoOperacion.FalloSQL; break; } } } return(resultado); }