예제 #1
0
        private void button9_Click(object sender, EventArgs e)
        {
            //1) listar empleados
            EmpleadoVM empleadoVM = null;

            RiakResult <IList <string> > listaKeysEmpleado = client.ListKeysFromIndex(empleadoBucketName);

            foreach (string key in listaKeysEmpleado.Value)
            {
                var result = client.Get(empleadoBucketName, key);
                CheckResult(result);

                empleadoVM = result.Value.GetObject <EmpleadoVM>();
                Console.WriteLine("Empleado :" + empleadoVM.ToJson());
            }


            // 5) Obtener el número de habitación, tipo y precio de las habitaciones que estén ocupadas en la actualidad (no tienen fecha de salida).

            var riakIndexId = new RiakIndexId(facturasBucketName, facturaFacturaSalidaDateIndexName);
            RiakResult <RiakIndexResult> indexRiakResult = client.GetSecondaryIndex(riakIndexId, DateTime.MinValue.ToString("yyyy-MM-dd"));

            CheckResult(indexRiakResult);
            var       indexResult        = indexRiakResult.Value;
            FacturaVM facturaVMRespuesta = null;

            foreach (var item in indexResult.IndexKeyTerms)
            {
                var result = client.Get(facturasBucketName, item.Key);
                CheckResult(result);

                facturaVMRespuesta = result.Value.GetObject <FacturaVM>();
                Console.WriteLine("FACTURA-- (key values): NumHabitacion: {0}, Tipo: {1}, Precio: {2}, CodigoFactura: {3}",
                                  facturaVMRespuesta.Numero.Numero, facturaVMRespuesta.Numero.Tipo.Tipo, facturaVMRespuesta.Numero.Tipo.precio,
                                  facturaVMRespuesta.CodigoF);
            }

            Console.WriteLine("--------------------------");

            //2) Obtener el nombre del jefe del servicio de "Restaurante".

            riakIndexId     = new RiakIndexId(empleadoBucketName, empleadoServicioDescripcionIndexName);
            indexRiakResult = client.GetSecondaryIndex(riakIndexId, "restaurante");
            CheckResult(indexRiakResult);
            indexResult = indexRiakResult.Value;
            EmpleadoVM empleadoVMRes = null;

            foreach (var item in indexResult.IndexKeyTerms)
            {
                var result = client.Get(empleadoBucketName, item.Key);
                CheckResult(result);

                empleadoVMRes = result.Value.GetObject <EmpleadoVM>();
                Console.WriteLine("Nobre Jefe Ser Restaurante; {0} ", empleadoVMRes.Servicio.NumReg.Nombre);
            }

            Console.WriteLine("--------------------------");
            //3) Obtener el nombre del jefe de "Jorge Alonso Alonso".

            riakIndexId     = new RiakIndexId(empleadoBucketName, empleadoNombreIndexName);
            indexRiakResult = client.GetSecondaryIndex(riakIndexId, "Jorge Alonso Alonso");
            CheckResult(indexRiakResult);
            indexResult = indexRiakResult.Value;

            EmpleadoVM empleadoVMRes1 = null;

            foreach (var item in indexResult.IndexKeyTerms)
            {
                var result = client.Get(empleadoBucketName, item.Key);
                CheckResult(result);
                empleadoVMRes1 = result.Value.GetObject <EmpleadoVM>();
                Console.WriteLine("Nobre Jefe a cargo jorge alonso; {0} ",
                                  empleadoVMRes1.Servicio.NumReg.Nombre);
            }


            Console.WriteLine("--------------------------");

            //4) Obtener un listado de los empleados y los servicios a los que están asignados,
            //exclusivamente para aquellos que tengan algún servicio asignado.

            riakIndexId     = new RiakIndexId(empleadoBucketName, empleadoCodSIndexName);
            indexRiakResult = client.GetSecondaryIndex(riakIndexId, 1, 1000);
            CheckResult(indexRiakResult);
            indexResult = indexRiakResult.Value;

            EmpleadoVM empleadoVMRes2 = null;

            foreach (var item in indexResult.IndexKeyTerms)
            {
                var result = client.Get(empleadoBucketName, item.Key);
                CheckResult(result);
                empleadoVMRes2 = result.Value.GetObject <EmpleadoVM>();
                Console.WriteLine("Nobre Empleado con Ser; {0} ", empleadoVMRes2.Nombre);
            }
        }
예제 #2
0
 public Task <RiakResult <IList <string> > > ListKeysFromIndex(string bucket)
 {
     return(Task.Factory.StartNew(() => _client.ListKeysFromIndex(bucket)));
 }