private static string GetInsertQuery <T>(T pedido) where T : Pedido { string query = string.Empty; if (pedido.GetType() == typeof(Pedido)) { query = "INSERT INTO Pedidos (NombrePedido, Estado, Precio, HorarioPedido, Delivery) values " + "(@nombrePedido, @estadoPedido, @precio, @horarioPedido, @tieneDelivery)"; } else { query = "INSERT INTO Pedidos values " + "(@nombrePedido, @estadoPedido, @precio, @horarioPedido, @tieneDelivery, @nombreCliente, @localidad, @direccion, @numeroDireccion)"; } command.CommandText = query; command.Parameters.AddWithValue("nombrePedido", pedido.NombrePedido); command.Parameters.AddWithValue("estadoPedido", pedido.Estado.ToString()); command.Parameters.AddWithValue("precio", pedido.Precio); command.Parameters.AddWithValue("horarioPedido", pedido.HorarioPedido); command.Parameters.AddWithValue("tieneDelivery", pedido.TieneDelivery); if (pedido is PedidoDelivery) { PedidoDelivery pedidoDelivery = pedido as PedidoDelivery; command.Parameters.AddWithValue("nombreCliente", pedidoDelivery.NombreCliente); command.Parameters.AddWithValue("localidad", pedidoDelivery.Localidad); command.Parameters.AddWithValue("direccion", pedidoDelivery.Direccion); command.Parameters.AddWithValue("numeroDireccion", pedidoDelivery.NumeroDireccion); } return(query); }
private void pedidoButton_Click(object sender, EventArgs e) { Pedido pedido; float auxPrecio; float.TryParse(precioTxtBox.Text, out auxPrecio); int auxDireccion; int.TryParse(numeroTxtBox.Text, out auxDireccion); if (SonDatosInvalidos(auxPrecio, auxDireccion)) { MessageBox.Show( "Fijate que todos los valores estén bien puestos", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning ); return; } if (deliveryCheckBox.Checked) { pedido = new PedidoDelivery( nombreTxtBox.Text, Pedido.EEstado.Preparacion, auxPrecio, true, clienteTxtBox.Text, localidadTxtBox.Text, direccionTxtBox.Text, auxDireccion ); GuardarTicketDelivery(pedido as PedidoDelivery); } else { pedido = new Pedido( nombreTxtBox.Text, Pedido.EEstado.Preparacion, auxPrecio, false ); } if (DataBaseHelper.InsertarPedido(pedido)) { DataBaseHelper.PedidosActuales.Enqueue(DataBaseHelper.GetPedidoPorHorario(pedido.HorarioPedido)); this.DialogResult = DialogResult.OK; } else { this.DialogResult = DialogResult.Cancel; } }
private bool GuardarTicketDelivery(PedidoDelivery delivery) { bool response = true; ArchivoTexto archivo = new ArchivoTexto(); try { archivo.Guardar(delivery.ToString()); } catch (ArchivosException e) { Console.WriteLine(e.Message); response = false; } return(response); }
public void DevolverTodosLosPedidosCompletados() { //arrange int cantidadPedidosEsperada = 2; int cantidadPedidos; PedidoDelivery p1 = new PedidoDelivery( "Grande de fugazzeta delivery (test)", Pedido.EEstado.Completado, 200f, true, "Nahuel", "Lanus", "CalleFalsa", 123 ); PedidoDelivery p2 = new PedidoDelivery( "Grande de calabresa delivery (test)", Pedido.EEstado.Preparacion, 200f, true, "Nahuel", "Lanus", "CalleFalsa", 123 ); Pedido p3 = new Pedido("Chica de muzza (test)", Pedido.EEstado.Completado, 200f, false); //act DataBaseHelper.InsertarPedido(p1); DataBaseHelper.InsertarPedido(p2); DataBaseHelper.InsertarPedido(p3); cantidadPedidos = DataBaseHelper.GetPedidosPorEstado(Pedido.EEstado.Completado).Count; DataBaseHelper.EliminarPedido(p1.NombrePedido); DataBaseHelper.EliminarPedido(p2.NombrePedido); DataBaseHelper.EliminarPedido(p3.NombrePedido); //assert Assert.IsTrue(cantidadPedidosEsperada == cantidadPedidos); }
public void InsertarNuevoPedidoConDeliveryExitosamente() { //arrange string horaActual = DateTime.Now.HoraActualFormateada(); PedidoDelivery pedido = new PedidoDelivery( "Grande de muzza delivery (test)", Pedido.EEstado.Preparacion, 200f, true, "Santiago", "Banfield", "CalleFalsa", 123 ); //act DataBaseHelper.InsertarPedido(pedido); string horarioPedidoInsertado = DataBaseHelper.GetPedidoPorHorario(horaActual).HorarioPedido; DataBaseHelper.EliminarPedido(pedido.NombrePedido); //assert Assert.AreEqual(horaActual, horarioPedidoInsertado); }
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); }