public IActionResult AgregarPedido(Pedido2 nuevoPedido)
        {
            RPClientes rpCli = new RPClientes();

            rpCli.AgregarPedido(nuevoPedido);
            return(CreatedAtAction(nameof(AgregarCliente), nuevoPedido));
        }
Example #2
0
        public void AgregarPedido(Pedido2 pedido)
        {
            var pedidoNuevo = new Pedido()
            {
                num_pedido     = pedido.numpedido,
                monto          = pedido.monto,
                productos      = pedido.productos,
                cantproductos  = pedido.cantproductos,
                numcomprobante = pedido.numcomprobante,
                cedulacliente  = pedido.cedulacliente,
                entregado      = pedido.entregado
            };

            db.InsertRecord <Pedido>("Pedidos", pedidoNuevo);
        }
Example #3
0
        ///<summary>
        ///Maneja las solicitudes GET
        ///</summary>
        public override void handleGETRequest(HttpProcessor p)
        {
            MongoCRUD db = new MongoCRUD("Mercadito");  //Se obtiene la base que se va a estar usando

            //localhost:1050/api/instruccion/filtro/

            var a           = p.http_url; //URL que llega
            var instruccion = "";         //Lo que pide el cliente
            var api         = "";
            var filtro      = "";         //Filtro de algo específico que solicita
            var slash       = 0;          //Contador
            var tam         = a.Length;
            var i           = 0;

            //Guarda la instrucción recibida y el filtro según lo que desea el cliente
            while (i < tam || slash < 4)
            {
                if (a[i] == '/')
                {
                    slash += 1;
                }
                else if (slash == 1)
                {
                    api = api + a[i];
                }
                else if (slash == 2)
                {
                    instruccion = instruccion + a[i];
                }
                else if (slash == 3)
                {
                    filtro = filtro + a[i];
                }
                i += 1;
            }

            //Devuelve un cliente según el número de cédula
            //Ejemplo: localhost:1050/CedulaCliente/117480511/
            if (instruccion == "CedulaCliente")
            {
                var filtro1 = int.Parse(filtro);
                var recs    = db.LoadRecords <Cliente>("Clientes");
                var cliente = new Cliente();
                foreach (var rec in recs)
                {
                    if (rec.Cedula == filtro1)
                    {
                        cliente = rec;
                    }
                }


                var cliente2 = new Cliente2
                {
                    Cedula    = cliente.Cedula,
                    Usuario   = cliente.Usuario,
                    Nombre    = cliente.Nombre,
                    direccion = cliente.direccion,
                    dob       = cliente.dob,
                    telefono  = cliente.telefono,
                    SINPE     = cliente.SINPE,
                    pass      = cliente.pass,
                    pedidos   = cliente.pedidos
                };

                var json = cliente2.ToJson();
                p.writeSuccess();
                p.outputStream.WriteLine(json);
            }

            //Devuelve un productor según el número de cédula
            //Ejemplo: localhost:1050/CedulaProductor/117480511/
            if (instruccion == "CedulaProductor")
            {
                var filtro1   = int.Parse(filtro);
                var recs      = db.LoadRecords <Productor>("Productores");
                var productor = new Productor();
                foreach (var rec in recs)
                {
                    if (rec.Cedula == filtro1)
                    {
                        productor = rec;
                    }
                }

                var productor2 = new Productor2
                {
                    Cedula    = productor.Cedula,
                    Nombre    = productor.Nombre,
                    direccion = productor.direccion,
                    dob       = productor.dob,
                    telefono  = productor.telefono,
                    SINPE     = productor.SINPE,
                    productos = productor.productos,
                    pedidos   = productor.pedidos
                };

                var json = productor2.ToJson();
                p.writeSuccess();
                p.outputStream.WriteLine(json);
            }

            //Devuelve un cliente según el nombre de usuario
            //Ejemplo: localhost:1050/UsuarioCliente/v_villalobos/
            if (instruccion == "UsuarioCliente")
            {
                var recs    = db.LoadRecords <Cliente>("Clientes");
                var cliente = new Cliente();
                foreach (var rec in recs)
                {
                    if (rec.Usuario == filtro)
                    {
                        cliente = rec;
                    }
                }

                var cliente2 = new Cliente2
                {
                    Cedula    = cliente.Cedula,
                    Usuario   = cliente.Usuario,
                    Nombre    = cliente.Nombre,
                    direccion = cliente.direccion,
                    dob       = cliente.dob,
                    telefono  = cliente.telefono,
                    SINPE     = cliente.SINPE,
                    pass      = cliente.pass,
                    pedidos   = cliente.pedidos
                };

                var json = cliente2.ToJson();
                p.writeSuccess();
                p.outputStream.WriteLine(json);
            }

            //Devuelve una lista de todos los productores en el mismo distrito de un cliente según su número de cédula
            //Ejemplo: localhost:1050/Distritos/117480511/
            if (instruccion == "Distritos")
            {
                var filtro1 = int.Parse(filtro);
                var recs    = db.LoadRecords <Cliente>("Clientes");
                var cliente = new Cliente();
                foreach (var rec in recs)
                {
                    if (rec.Cedula == filtro1)
                    {
                        cliente = rec;
                    }
                }

                var recsa        = db.LoadRecords <Productor>("Productores");
                var productores  = new List <Productor> {
                };
                var productores2 = new List <Productor2> {
                };
                foreach (var rec in recsa)
                {
                    if (rec.direccion == cliente.direccion)
                    {
                        productores.Add(rec);
                    }
                }
                foreach (var productor in productores)
                {
                    var productor2 = new Productor2
                    {
                        Cedula    = productor.Cedula,
                        Nombre    = productor.Nombre,
                        direccion = productor.direccion,
                        dob       = productor.dob,
                        telefono  = productor.telefono,
                        SINPE     = productor.SINPE,
                        productos = productor.productos,
                        pedidos   = productor.pedidos
                    };
                    productores2.Add(productor2);
                }
                var json = productores2.ToJson();
                p.writeSuccess();
                p.outputStream.WriteLine(json);
            }

            //Devuelve una lista con los pedidos de un productor según su número de cédula
            //Ejemplo: localhost:1050/PedidosProductor/117480511/
            if (instruccion == "PedidosProductor")
            {
                var filtro1     = int.Parse(filtro);
                var recs        = db.LoadRecords <Productor>("Productores");
                var num_pedidos = new List <int> {
                };
                foreach (var rec in recs)
                {
                    if (rec.Cedula == filtro1)
                    {
                        num_pedidos = rec.pedidos;
                    }
                }

                var recsa    = db.LoadRecords <Pedido>("Pedidos");
                var pedidos  = new List <Pedido> {
                };
                var pedidos2 = new List <Pedido2> {
                };
                foreach (var rec in recsa)
                {
                    if (num_pedidos.Contains(rec.num_pedido))
                    {
                        pedidos.Add(rec);
                    }
                }

                foreach (var pedido in pedidos)
                {
                    var pedido2 = new Pedido2
                    {
                        num_pedido      = pedido.num_pedido,
                        productos       = pedido.productos,
                        num_comprobante = pedido.num_comprobante,
                        Cedula_cliente  = pedido.Cedula_cliente,
                        entregado       = pedido.entregado
                    };

                    pedidos2.Add(pedido2);
                }

                var json = pedidos2.ToJson();
                p.writeSuccess();
                p.outputStream.WriteLine(json);
            }

            //Devuelve una lista con los pedidos de un cliente según su número de cédula
            //Ejemplo: localhost:1050/PedidosCliente/117480511/
            if (instruccion == "PedidosCliente")
            {
                var filtro1     = int.Parse(filtro);
                var recs        = db.LoadRecords <Cliente>("Clientes");
                var num_pedidos = new List <int> {
                };
                foreach (var rec in recs)
                {
                    if (rec.Cedula == filtro1)
                    {
                        num_pedidos = rec.pedidos;
                    }
                }

                var recsa    = db.LoadRecords <Pedido>("Pedidos");
                var pedidos  = new List <Pedido> {
                };
                var pedidos2 = new List <Pedido2> {
                };
                foreach (var rec in recsa)
                {
                    if (num_pedidos.Contains(rec.num_pedido))
                    {
                        pedidos.Add(rec);
                    }
                }

                foreach (var pedido in pedidos)
                {
                    var pedido2 = new Pedido2
                    {
                        num_pedido      = pedido.num_pedido,
                        productos       = pedido.productos,
                        num_comprobante = pedido.num_comprobante,
                        Cedula_cliente  = pedido.Cedula_cliente,
                        entregado       = pedido.entregado
                    };

                    pedidos2.Add(pedido2);
                }

                var json = pedidos2.ToJson();
                p.writeSuccess();
                p.outputStream.WriteLine(json);
            }

            //Elimina un cliente según su número de cédula
            //Ejemplo: localhost:1050/DelCliente/117480511/
            if (instruccion == "DelCliente")
            {
                var            filtro1    = int.Parse(filtro);
                var            client     = new MongoClient();
                IMongoDatabase dba        = client.GetDatabase("Mercadito");
                var            collection = dba.GetCollection <Cliente>("Clientes");
                var            filter     = Builders <Cliente> .Filter.Eq(x => x.Cedula, filtro1);

                collection.DeleteOne(filter);
                p.writeSuccess();
            }

            //Elimina un productor según su número de cédula
            //Ejemplo: localhost:1050/DelProductor/117480511/
            if (instruccion == "DelProductor")
            {
                var            filtro1    = int.Parse(filtro);
                var            client     = new MongoClient();
                IMongoDatabase dba        = client.GetDatabase("Mercadito");
                var            collection = dba.GetCollection <Productor>("Productores");
                var            filter     = Builders <Productor> .Filter.Eq(x => x.Cedula, filtro1);

                collection.DeleteOne(filter);
                p.writeSuccess();
            }

            //Elimina un pedido según su número de pedido
            //Ejemplo: localhost:1050/DelPedido/00215/
            if (instruccion == "DelPedido")
            {
                var            filtro1    = int.Parse(filtro);
                var            client     = new MongoClient();
                IMongoDatabase dba        = client.GetDatabase("Mercadito");
                var            collection = dba.GetCollection <Pedido>("Pedidos");
                var            filter     = Builders <Pedido> .Filter.Eq(x => x.num_pedido, filtro1);

                collection.DeleteOne(filter);
                p.writeSuccess();
            }

            //Elimina una categoría según su número de categoría
            //Ejemplo: localhost:1050/DelCategoria/00215/
            if (instruccion == "DelCategoria")
            {
                var            filtro1    = int.Parse(filtro);
                var            client     = new MongoClient();
                IMongoDatabase dba        = client.GetDatabase("Mercadito");
                var            collection = dba.GetCollection <Categoria>("Categorias");
                var            filter     = Builders <Categoria> .Filter.Eq(x => x.IdCategoria, filtro1);

                collection.DeleteOne(filter);
                p.writeSuccess();
            }

            //Devuelve todos los datos de un tabla según la que se pida
            if (instruccion == "All")
            {
                //Ejemplo: localhost:1050/All/clientes/
                if (filtro == "clientes")
                {
                    var recs      = db.LoadRecords <Cliente>("Clientes");
                    var clientes2 = new List <Cliente2> {
                    };

                    foreach (var cliente in recs)
                    {
                        var cliente2 = new Cliente2
                        {
                            Cedula    = cliente.Cedula,
                            Usuario   = cliente.Usuario,
                            Nombre    = cliente.Nombre,
                            direccion = cliente.direccion,
                            dob       = cliente.dob,
                            telefono  = cliente.telefono,
                            SINPE     = cliente.SINPE,
                            pass      = cliente.pass,
                            pedidos   = cliente.pedidos
                        };

                        clientes2.Add(cliente2);
                    }
                    var json = clientes2.ToJson();
                    p.writeSuccess();
                    p.outputStream.WriteLine(json);
                }
                //Ejemplo: localhost:1050/All/productores/
                if (filtro == "productores")
                {
                    var recs         = db.LoadRecords <Productor>("Productores");
                    var productores2 = new List <Productor2> {
                    };

                    foreach (var productor in recs)
                    {
                        var productor2 = new Productor2
                        {
                            Cedula    = productor.Cedula,
                            Nombre    = productor.Nombre,
                            direccion = productor.direccion,
                            dob       = productor.dob,
                            telefono  = productor.telefono,
                            SINPE     = productor.SINPE,
                            productos = productor.productos,
                            pedidos   = productor.pedidos
                        };

                        productores2.Add(productor2);
                    }
                    var json = productores2.ToJson();
                    p.writeSuccess();
                    p.outputStream.WriteLine(json);
                }
                //Ejemplo: localhost:1050/All/productos/
                if (filtro == "productos")
                {
                    var recs       = db.LoadRecords <Producto>("Productos");
                    var productos2 = new List <Producto2> {
                    };

                    foreach (var producto in recs)
                    {
                        var producto2 = new Producto2
                        {
                            Num_Producto    = producto.Num_Producto,
                            Nombre          = producto.Nombre,
                            id_categoria    = producto.id_categoria,
                            Precio          = producto.Precio,
                            Cantidad        = producto.Cantidad,
                            Modo_venta      = producto.Modo_venta,
                            Disponibilidad  = producto.Disponibilidad,
                            CedulaProductor = producto.CedulaProductor
                        };

                        productos2.Add(producto2);
                    }
                    var json = productos2.ToJson();
                    p.writeSuccess();
                    p.outputStream.WriteLine(json);
                }
                //Ejemplo: localhost:1050/All/pedidos/
                if (filtro == "pedidos")
                {
                    var recs     = db.LoadRecords <Pedido>("Pedidos");
                    var pedidos2 = new List <Pedido2> {
                    };

                    foreach (var pedido in recs)
                    {
                        var pedido2 = new Pedido2
                        {
                            num_pedido      = pedido.num_pedido,
                            productos       = pedido.productos,
                            num_comprobante = pedido.num_comprobante,
                            Cedula_cliente  = pedido.Cedula_cliente,
                            entregado       = pedido.entregado
                        };

                        pedidos2.Add(pedido2);
                    }
                    var json = pedidos2.ToJson();
                    p.writeSuccess();
                    p.outputStream.WriteLine(json);
                }
                //Ejemplo: localhost:1050/All/categorias/
                if (filtro == "categorias")
                {
                    var recs        = db.LoadRecords <Categoria>("Categorias");
                    var categorias2 = new List <Categoria2> {
                    };

                    foreach (var categoria in recs)
                    {
                        var categoria2 = new Categoria2
                        {
                            IdCategoria = categoria.IdCategoria,
                            Nombre      = categoria.Nombre
                        };

                        categorias2.Add(categoria2);
                    }
                    var json = categorias2.ToJson();
                    p.writeSuccess();
                    p.outputStream.WriteLine(json);
                }
            }
        }