Example #1
0
        /// <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());
        }