/// <summary> /// Se cargan los datos del nuevo pedido y se dispara el evento "Pedido nuevo" que genera el nro de ticket y pone en cola el pedido en el local. /// </summary> /// <returns></returns> public Pedido RealizarPedido() { Random rnd = new Random(DateTime.Now.Millisecond); Hamburguesa a = new Hamburguesa(); Postre b = new Postre(); this.pedidoRealizado.direccionDeEntrega = this.direccionDeEntrega; this.pedidoRealizado.delivery = rnd.Next(0, 2) == 1 ? true : false; this.pedidoRealizado.pedido.Add(a); this.pedidoRealizado.pedido.Add(b); pedidoNuevo.Invoke(this.pedidoRealizado); return(this.pedidoRealizado); }
/// <summary> /// Si el pedido es por delivery, genera un ticket con los datos necesarios para la entrega. /// </summary> /// <param name="nuevaVenta">Venta.</param> public static void GenerarTicketVenta(Pedido nuevaVenta) { StringBuilder sb = new StringBuilder(); string ruta = AppDomain.CurrentDomain.BaseDirectory + "PedidosDelivery\\"; string nombreTicket = nuevaVenta.codigoPedido + ".txt"; double total = 0; Texto auxTexto = new Texto(); sb.AppendFormat("Fecha: {0}\n", DateTime.Now); sb.AppendFormat("Direccion de entrega: {0} \n", nuevaVenta.direccionDeEntrega); sb.AppendLine(""); sb.AppendLine(""); sb.AppendLine("Lista de productos: "); sb.AppendLine("-----------------------------------"); foreach (Producto item in nuevaVenta.pedido) { if (item is Hamburguesa) { Hamburguesa a = (Hamburguesa)item; sb.AppendFormat("{0,-28} ${1,-20}\n", a.tipo, a.precio); total = total + a.precio; } else { Postre b = (Postre)item; sb.AppendFormat("{0,-28} ${1,-20}\n", b.tipo, b.precio); total = total + b.precio; } } sb.AppendLine("-----------------------------------"); sb.AppendFormat("Total: ${0,20} \n", total.ToString()); sb.AppendLine("-----------------------------------"); sb.AppendLine("-----------------------------------"); sb.AppendFormat("Nro de pedido: {0,20} \n", nuevaVenta.codigoPedido); sb.AppendLine("-----------------------------------"); auxTexto.Guardar(ruta + nombreTicket, sb.ToString()); }