public static bool ActualizarEstadoPedido(Pedido.EEstado nuevoEstado, string horarioPedido) { bool response = true; try { string query = "UPDATE Pedidos SET Estado = @nuevoEstado WHERE HorarioPedido = @horarioPedido"; command.Parameters.Clear(); command.CommandText = query; command.Parameters.AddWithValue("nuevoEstado", nuevoEstado.ToString()); command.Parameters.AddWithValue("horarioPedido", horarioPedido); sqlConnection.Open(); command.ExecuteNonQuery(); } catch (SqlException e) { response = false; Console.WriteLine(e.Message); } finally { if (!(sqlConnection is null) && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } return(response); }
public void ActualizarEstadoDePedido() { //arrange Pedido.EEstado estadoActual; Pedido.EEstado estadoEsperado = Pedido.EEstado.Completado; Pedido p1 = new Pedido("Chica de jamon (test)", Pedido.EEstado.Preparacion, 200f, false); //act DataBaseHelper.InsertarPedido(p1); DataBaseHelper.ActualizarEstadoPedido(Pedido.EEstado.Completado, p1.HorarioPedido); estadoActual = DataBaseHelper.GetPedidoPorHorario(p1.HorarioPedido).Estado; DataBaseHelper.EliminarPedido(p1.NombrePedido); //assert Assert.AreEqual(estadoEsperado, estadoActual); }
public static Pedido GetPedidoPorHorario(string horario) { Pedido p = null; try { string query = "SELECT * FROM Pedidos WHERE HorarioPedido = @horarioPedido"; command.Parameters.Clear(); command.Parameters.AddWithValue("horarioPedido", horario); sqlConnection.Open(); command.CommandText = query; SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { int id = (int)reader["Id"]; string nombrePedido = (string)reader["NombrePedido"]; Pedido.EEstado estado = (Pedido.EEstado)Enum.Parse(typeof(Pedido.EEstado), (string)reader["Estado"]); float precio = (float)(double)reader["Precio"]; string horarioPedido = (string)reader["HorarioPedido"]; bool tieneDelivery = reader.GetBoolean(reader.GetOrdinal("Delivery")); if (tieneDelivery) { //agrego los campos extra que tiene un pedido con delivery string nombreCliente = (string)reader["NombreCliente"]; string localidad = (string)reader["Localidad"]; string direccion = (string)reader["Direccion"]; int numeroDireccion = (int)reader["NumeroDireccion"]; p = new PedidoDelivery( id, nombrePedido, estado, precio, tieneDelivery, horarioPedido, nombreCliente, localidad, direccion, numeroDireccion ); } else { p = new Pedido(id, nombrePedido, estado, precio, horarioPedido, tieneDelivery); } } } catch (Exception e) { Console.WriteLine(e.Message); } finally { if (!(sqlConnection is null) && sqlConnection.State == System.Data.ConnectionState.Open) { sqlConnection.Close(); } } return(p); }