Ejemplo n.º 1
0
        public IActionResult AgregarEntreDate([FromBody] RegisterFacturaDto model)  ///Estamos pidiendo los datos de EmpleadoDto
        {
            Factura factura    = _mapper.Map <Factura>(model);
            var     valeResult = _facturaService.getBetweenDate(model.FechaInicial, model.FechaFinal);

            if (!valeResult.isSuccess)
            {
                return(BadRequest(valeResult.Errors));
            }
            factura.FechaExpedicion = DateTime.Now;         //Fecha de hoy
            factura.Vales           = valeResult.Results;
            factura.Monto           = factura.montoTotal();

            var facturaResult = _facturaService.Save(factura, null);

            if (facturaResult.isSuccess)
            {
                return(Ok(_mapper.Map <RegisterFacturaResponseDto>(facturaResult.Result)));
            }
            else
            {
                return(BadRequest(facturaResult.Errors));
            }
        }
Ejemplo n.º 2
0
        static void menu()
        {
            bool          ejecucion = true;
            Pizza         Pizza;
            Ingrediente   Ingrediente;
            Pedido        Pedido;
            DetallePedido DetallePedido;
            Factura       Factura;

            while (ejecucion)
            {
                Console.WriteLine("Elija una opcion:");
                Console.WriteLine("1- Guardar Nuevas Pizzas");
                Console.WriteLine("2- Guardar Nuevos Ingredientes");
                Console.WriteLine("3- Crear Pedido");
                Console.WriteLine("4- Crear Factura");
                Console.WriteLine("5- Modificar Pizza");
                Console.WriteLine("6- Mostrar todas las Pizzas");
                Console.WriteLine("7- Modificar Pedido");
                Console.WriteLine("8- Modificar Factura");
                Console.WriteLine("9- Eliminar Pizza");
                Console.WriteLine("10- Buscar Pedido por nombre del Cliente");
                Console.WriteLine("0- Salir");
                var opcion = Convert.ToInt32(Console.ReadLine());
                switch (opcion)
                {
                case 0:
                    ejecucion = false;
                    break;

                case 1:
                    Console.WriteLine("Escriba el Nombre de la Pizza");
                    var nombre = Console.ReadLine();
                    Console.WriteLine("Escriba el Precio");
                    var precio     = Convert.ToDouble(Console.ReadLine());
                    var NuevaPizza = new Pizza {
                        nombre = nombre, precio = precio
                    };
                    Console.WriteLine("Desea agregar Ingredientes 1-Si 2-No");
                    var opcion1 = Convert.ToInt16(Console.ReadLine());
                    List <Ingrediente> IngList = new List <Ingrediente>();
                    while (opcion1 == 1)
                    {
                        Console.WriteLine("Ingrese id de Ingrediente ");
                        Ingrediente = IngredienteService.Get(Int32.Parse(Console.ReadLine()));
                        if (Ingrediente != null)
                        {
                            IngList.Add(Ingrediente);
                        }

                        Console.WriteLine("Desea agregar otro Ingrediente? (1- SI 2- NO): ");
                        opcion1 = Convert.ToInt16(Console.ReadLine());
                    }

                    if (IngList.Count != 0)
                    {
                        NuevaPizza.Ingrediente = IngList;
                    }

                    PizzaService.Save(NuevaPizza);
                    break;

                case 2:
                    Console.WriteLine("Escriba el Nombre de la Ingrediente");
                    var nombreI          = Console.ReadLine();
                    var NuevoIngrediente = new Ingrediente {
                        nombre = nombreI
                    };
                    Console.WriteLine("Desea agregar Pizza 1-Si 2-No");
                    var          opcion2   = Convert.ToInt16(Console.ReadLine());
                    List <Pizza> PizzaList = new List <Pizza>();
                    while (opcion2 == 1)
                    {
                        Console.WriteLine("Ingrese id de Pizza ");
                        Pizza = PizzaService.Get(Int32.Parse(Console.ReadLine()));
                        if (Pizza != null)
                        {
                            PizzaList.Add(Pizza);
                        }

                        Console.WriteLine("Desea agregar otra Pizza? (1- SI  2- NO): ");
                        opcion2 = Convert.ToInt16(Console.ReadLine());
                    }

                    if (PizzaList.Count != 0)
                    {
                        NuevoIngrediente.Pizza = PizzaList;
                    }

                    IngredienteService.Save(NuevoIngrediente);
                    Console.WriteLine("Ver todos los ingrediente 1- Si 2-No");
                    var op2 = Convert.ToInt16(Console.ReadLine());
                    if (op2 == 1)
                    {
                        List <Ingrediente> ingrediente = IngredienteService.GetAll();
                        foreach (var i in ingrediente)
                        {
                            Console.WriteLine("- " + i.nombre);
                        }
                    }
                    break;

                case 3:
                    Console.WriteLine("Escriba el nombre del Cliente:");
                    var nombreCliente = Console.ReadLine();
                    Console.WriteLine("Escriba fecha:");
                    var fecha = Console.ReadLine();
                    Console.WriteLine("Escriba el estado");
                    var estado = Console.ReadLine();
                    Console.WriteLine("Escriba la demora");
                    var demora      = Console.ReadLine();
                    var pedidoNuevo = new Pedido {
                        nombreCliente = nombreCliente, fecha = Convert.ToDateTime(fecha), estado = estado, demora = demora
                    };
                    Console.WriteLine("Desea Continuar 1-Si 2-No");
                    var op3 = Convert.ToInt16(Console.ReadLine());
                    while (op3 == 1)
                    {
                        pedidoNuevo.DetallePedidos = new List <DetallePedido>();
                        double tipo = 0, tamaño = 0;
                        Console.WriteLine("Escriba id Pizza");
                        var idPizza = Convert.ToInt16(Console.ReadLine());
                        Pizza = PizzaService.Get(idPizza);
                        var pre = Pizza.precio;
                        Console.WriteLine("Escriba la cantidad");
                        var cantidad = Convert.ToInt16(Console.ReadLine());
                        Console.WriteLine("Seleccione tipo: 1- A la Piedra 2- A la Parrilla 3- Al Molde");
                        var seleccion = Convert.ToInt16(Console.ReadLine());
                        if (seleccion == 1)
                        {
                            tipo = 0.5;
                        }
                        else
                        {
                            if (seleccion == 2)
                            {
                                tipo = 0.4;
                            }
                            else
                            {
                                if (seleccion == 3)
                                {
                                    tipo = 0.3;
                                }
                                else
                                {
                                    Console.WriteLine("Opcion incorrecta");
                                }
                            }
                        }
                        Console.WriteLine("Seleccione tamaño: 1- 8 Porciones 2- 10 Porciones 3- 12 Porciones");
                        var seleccion1 = Convert.ToInt16(Console.ReadLine());
                        if (seleccion1 == 1)
                        {
                            tamaño = 0.2;
                        }
                        else
                        {
                            if (seleccion1 == 2)
                            {
                                tamaño = 0.3;
                            }
                            else
                            {
                                if (seleccion1 == 3)
                                {
                                    tamaño = 0.6;
                                }
                                else
                                {
                                    Console.WriteLine("Opcion incorrecta");
                                }
                            }
                        }
                        var subtotal           = pre + cantidad + tipo + tamaño;
                        var detallepedidonuevo = new DetallePedido {
                            PizzaId = idPizza, cantidad = cantidad, tipo = seleccion, tamaño = seleccion1
                        };
                        pedidoNuevo.DetallePedidos.Add(detallepedidonuevo);
                        Console.WriteLine("Desea agregar algo mas 1-Si 2-No");
                        op3 = Convert.ToInt16(Console.ReadLine());
                    }

                    PedidoService.Save(pedidoNuevo);
                    break;

                case 4:
                    Console.WriteLine("Escriba la forma de pago");
                    var formaPago = Console.ReadLine();
                    Console.WriteLine("Escriba id pedido");
                    var idPedido     = Convert.ToInt16(Console.ReadLine());
                    var facturaNueva = new Factura {
                        formaPago = formaPago, PedidoId = idPedido
                    };
                    FacturaService.Save(facturaNueva);
                    break;

                case 5:
                    Console.WriteLine("Ingrese ID de Pizza a modificar:");
                    var id = Int32.Parse(Console.ReadLine());
                    Pizza = PizzaService.Get(id);
                    if (Pizza != null)
                    {
                        Console.WriteLine("Precio anterior: " + Pizza.precio);

                        Console.WriteLine("Ingrese el nuevo Precio:");
                        var nuevoPrecio = Console.ReadLine();

                        if (nuevoPrecio != "")
                        {
                            Pizza.precio = Convert.ToDouble(nuevoPrecio);
                        }
                        PizzaService.Save(Pizza);
                    }
                    else
                    {
                        Console.WriteLine("No se encontró Pizza");
                    }
                    break;

                case 6:
                    List <Pizza> pizza = PizzaService.GetAll();
                    foreach (var p in pizza)
                    {
                        Console.WriteLine("- " + p.nombre + " $" + p.precio);
                    }
                    break;

                case 7:
                    Console.WriteLine("Ingrese ID de Pedido a modificar:");
                    var idPed = Int32.Parse(Console.ReadLine());
                    Pedido = PedidoService.Get(idPed);
                    if (Pedido != null)
                    {
                        Console.WriteLine("Estado anterior: " + Pedido.estado);
                        Console.WriteLine("Demora anterior: " + Pedido.demora);

                        Console.WriteLine("Ingrese el nuevo estado:");
                        var nuevoEstado = Console.ReadLine();
                        Console.WriteLine("Ingrese el nueva demora:");
                        var nuevaDemora = Console.ReadLine();

                        if (nuevoEstado != "" && nuevaDemora != "")
                        {
                            Pedido.estado = nuevoEstado;
                            Pedido.demora = nuevaDemora;
                        }
                        PedidoService.Save(Pedido);
                    }
                    else
                    {
                        Console.WriteLine("No se encontró Pedido");
                    }
                    break;

                case 8:
                    Console.WriteLine("Ingrese ID de Factura a modificar:");
                    var idfac = Int32.Parse(Console.ReadLine());
                    Factura = FacturaService.Get(idfac);
                    if (Factura != null)
                    {
                        Console.WriteLine("Forma de Pago anterior: " + Factura.formaPago);

                        Console.WriteLine("Ingrese la nueva forma de pago:");
                        var nuevaFormaPago = Console.ReadLine();

                        if (nuevaFormaPago != "")
                        {
                            Factura.formaPago = nuevaFormaPago;
                        }
                        FacturaService.Save(Factura);
                    }
                    else
                    {
                        Console.WriteLine("No se encontró Factura");
                    }
                    break;

                case 9:
                    Console.WriteLine("Indique id post a eliminar:");
                    var b = PizzaService.Delete(Int32.Parse(Console.ReadLine()));
                    if (b)
                    {
                        Console.WriteLine("Se eliminó la Pizza Seleccionada");
                    }
                    else
                    {
                        Console.WriteLine("No se encontró la Pizza seleccionada");
                    }
                    break;

                case 10:
                    Console.WriteLine("Ingresa nombre del cliente a buscar");
                    var           frase       = Console.ReadLine();
                    List <Pedido> listaPedido = PedidoService.BuscarPorContenido(frase);
                    if (listaPedido.Count != 0)
                    {
                        Console.WriteLine("Clientes encontrados:");
                        foreach (var p in listaPedido)
                        {
                            Console.WriteLine("- " + p.nombreCliente + " estado" + p.estado);
                        }
                    }
                    else
                    {
                        Console.WriteLine("No se encontro el cliente");
                    }
                    break;

                default:
                    Console.WriteLine("La opcion seleccionada no existe");
                    break;
                }
            }
        }
Ejemplo n.º 3
0
        static void Menu()
        {
            bool ejecucion = true;

            while (ejecucion)
            {
                Console.WriteLine("-------------------------");
                Console.WriteLine("Elegir una opción:");
                Console.WriteLine("1- Cargar nueva pizza");
                Console.WriteLine("2- Cargar nuevo ingrediente");
                Console.WriteLine("3- Listar todas las pizzas");
                Console.WriteLine("4- Nuevo pedido");
                Console.WriteLine("5- Listar pedidos");
                Console.WriteLine("6- Finalizar Pedido");
                Console.WriteLine("7- Cancelar pedido");
                Console.WriteLine("8- Variedades mas pedidas");
                Console.WriteLine("9- Tipos mas pedidos");
                Console.WriteLine("10- Visualizar ingresos");
                Console.WriteLine("0- SALIR:");
                var opcion = Int32.Parse(Console.ReadLine());
                switch (opcion)
                {
                case 0:
                    ejecucion = false;
                    break;

                case 1:
                    Console.WriteLine("Escriba el nombre de la variedad de pizza a ingresar:");
                    var  variedad                   = Console.ReadLine();
                    bool continuarAgregando         = true;
                    List <Ingrediente> ingredientes = new List <Ingrediente>();

                    while (continuarAgregando)
                    {
                        Console.WriteLine("Seleccione un ingrediente a agregar:");
                        Console.WriteLine("Los ingredientes disponibles son:");
                        List <Ingrediente> listaI = IngredienteService.GetAll();
                        foreach (var I in listaI)
                        {
                            Console.WriteLine(I.id + " - " + I.nombre);
                        }
                        var         ing         = Int32.Parse(Console.ReadLine());
                        Ingrediente ingrediente = listaI.Where(i => i.id == ing).FirstOrDefault();
                        ingredientes.Add(ingrediente);
                        Console.WriteLine("Desea agregar mas ingredientes? Y/N:");
                        var seguir = Console.ReadLine().ToUpper();
                        switch (seguir)
                        {
                        case "Y":
                            break;

                        case "N":
                            continuarAgregando = false;
                            break;

                        default:
                            Console.WriteLine("Opcion invalida");
                            break;
                        }
                    }

                    Console.WriteLine("Escriba el precio de la variedad de pizza:");
                    var precio     = Int32.Parse(Console.ReadLine());
                    var nuevaPizza = new Pizza {
                        nombre = variedad, precio = precio, ingredientes = ingredientes
                    };
                    PizzaService.Save(nuevaPizza);
                    break;

                case 2:
                    Console.WriteLine("Escriba el nombre del ingrediente:");
                    var nombre   = Console.ReadLine();
                    var ingNuevo = new Ingrediente {
                        nombre = nombre
                    };

                    IngredienteService.Save(ingNuevo);
                    break;

                case 3:
                    listarPizzas();
                    break;

                case 4:
                    Console.WriteLine("Ingrese el nombre del cliente: ");

                    var cli = Console.ReadLine();

                    Console.WriteLine("Cuantas pizzas desea ordenar? ");
                    var    totalAPedir = Int32.Parse(Console.ReadLine());
                    var    demora      = totalAPedir * 15;
                    Pedido p           = new Pedido {
                        cliente = cli, fechaEmision = DateTime.Now, estado = "En Preparacion", demora = demora
                    };
                    PedidoService.Save(p);
                    while (totalAPedir != 0)
                    {
                        Console.WriteLine("Elija una pizza de entre las siguiente opciones: ");
                        listarPizzas();
                        var    pizzaId = Int32.Parse(Console.ReadLine());
                        Pizza  pizza   = PizzaService.Get(pizzaId);
                        double subtot  = pizza.precio;
                        Console.WriteLine("Ingrese el tamaño de la pizza (numero de porciones): 8 Porciones/ 10 porciones/ 12 porciones");
                        var tam = Int32.Parse(Console.ReadLine());
                        switch (tam)
                        {
                        case 8:
                            break;

                        case 10:
                            subtot = subtot * 1.10;
                            break;

                        case 12:
                            subtot = subtot * 1.20;
                            break;

                        default:
                            Console.WriteLine("tamaño no valido");
                            break;
                        }
                        Console.WriteLine("Ingrese el tipo de pizza: 1- A la piedra/ 2- A la parrilla/ 3- De molde");
                        var    op = Int32.Parse(Console.ReadLine());
                        string tipoPizza;
                        if (op == 1)
                        {
                            tipoPizza = "A la piedra";
                        }
                        else
                        {
                            if (op == 2)
                            {
                                tipoPizza = "A la parrilla";
                            }
                            else
                            {
                                tipoPizza = "De molde";
                            }
                        }

                        Console.WriteLine("Ingrese la cantidad de pizzas de la variedad " + pizza.nombre + " de " + tam.ToString() + " porciones, del tipo " + tipoPizza + " a ordenar: ");
                        var           cantidad = Int32.Parse(Console.ReadLine());
                        DetallePedido det      = new DetallePedido {
                            pedido = p, pizza = pizza, cantidad = cantidad, subtotal = subtot, tamaño = tam, tipo = tipoPizza
                        };
                        DetallePedidoService.Save(det);
                        totalAPedir = totalAPedir - cantidad;
                    }
                    break;

                case 5:
                    List <Pedido> pedidos = PedidoService.GetAll();
                    foreach (var ped in pedidos)
                    {
                        Console.WriteLine("ID- " + ped.id);
                        Console.WriteLine("Cliente- " + ped.cliente);
                        Console.WriteLine("Estado- " + ped.estado);
                        Console.WriteLine("Demora- " + ped.demora);
                        Console.WriteLine("Fecha Emision- " + ped.fechaEmision);
                    }
                    break;

                case 6:

                    var Listapedidos = listarPedidosEnPreparacion();
                    Console.WriteLine("Seleccione el id del pedido a Finalizar:");
                    var final = Int32.Parse(Console.ReadLine());
                    PedidoService.Update(final);
                    Console.WriteLine("Ingrese forma de pago:");
                    var     FP      = Console.ReadLine();
                    var     pedido  = Listapedidos.Where(p => p.id == final).FirstOrDefault();
                    Factura factura = new Factura {
                        pedido = pedido, formaPago = FP
                    };
                    FacturaService.Save(factura);
                    break;

                case 7:
                    var ListapedidosEnPrep = listarPedidosEnPreparacion();
                    Console.WriteLine("Seleccione el id del pedido a cancelar:");
                    var idCancelacion = Int32.Parse(Console.ReadLine());

                    var exito = PedidoService.Remove(idCancelacion);
                    if (exito)
                    {
                        Console.WriteLine("Pedido cancelado");
                    }
                    else
                    {
                        Console.WriteLine("Pedido Inexistente");
                    }
                    break;

                case 8:
                    Console.WriteLine("Variedades de pizza mas pedidas del ultimo mes");
                    List <DetallePedido>     detallepedidosParaVariedad = DetallePedidoService.GetAll();
                    Dictionary <string, int> PizzasMasPedidas           = new Dictionary <string, int>();
                    foreach (var detalle in detallepedidosParaVariedad)
                    {
                        if (PizzasMasPedidas.ContainsKey(detalle.pizza.nombre.ToString()))
                        {
                            PizzasMasPedidas[detalle.pizza.nombre.ToString()]++;
                        }
                        else
                        {
                            PizzasMasPedidas.Add(detalle.pizza.nombre.ToString(), 1);
                        }
                    }
                    var sortedDict = (from entry in PizzasMasPedidas
                                      orderby entry.Value descending
                                      select entry).Take(3).ToDictionary(pair => pair.Key, pair => pair.Value);
                    foreach (KeyValuePair <string, int> kvp in sortedDict)
                    {
                        Console.WriteLine("Variedad = {0}, Cantidad de veces pedida = {1}", kvp.Key, kvp.Value);
                    }
                    break;

                case 9:

                    Console.WriteLine("Tipos de pizza mas pedidas del ultimo mes");
                    List <DetallePedido>     detallepedidosParaTipo = DetallePedidoService.GetAllJoinPizza();
                    Dictionary <string, int> tiposMasPedidas        = new Dictionary <string, int>();
                    foreach (var detalle in detallepedidosParaTipo)
                    {
                        if (tiposMasPedidas.ContainsKey(detalle.tipo.ToString()))
                        {
                            tiposMasPedidas[detalle.tipo.ToString()]++;
                        }
                        else
                        {
                            tiposMasPedidas.Add(detalle.tipo.ToString(), 1);
                        }
                    }
                    var sortedDictionary = (from entry in tiposMasPedidas
                                            orderby entry.Value descending
                                            select entry).Take(3).ToDictionary(pair => pair.Key, pair => pair.Value);
                    foreach (KeyValuePair <string, int> kvp in sortedDictionary)
                    {
                        Console.WriteLine("Tipo = {0}, Cantidad de veces pedida = {1}", kvp.Key, kvp.Value);
                    }
                    break;

                case 10:
                    Console.WriteLine("Ingresos del ultimo mes");
                    List <DetallePedido> detalles = DetallePedidoService.GetAllJoinPedido();
                    foreach (var d in detalles)
                    {
                        Console.WriteLine("Fecha: " + d.pedido.fechaEmision.ToString());
                        Console.WriteLine("Monto: " + d.subtotal.ToString());
                    }
                    break;

                default:
                    Console.WriteLine("No existe la opcion ingresada.");
                    break;
                }
            }
        }