Пример #1
0
        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);
        }
Пример #3
0
        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);
        }