示例#1
0
        private static void gestionar(GestionAlmacenClient stub)
        {
            String nombre, direccion, fichero, codProducto, actualNombre = null;
            int    actual = -1;
            int    opt;

            do
            {
                opt = menu(actualNombre);
                switch (opt)
                {
                case 1:     //Crear almacen
                    if (actual != -1)
                    {
                        stub.GuardarAlmacen(actual);
                        stub.CerrarAlmacen(actual);
                        actual       = -1;
                        actualNombre = null;
                    }
                    nombre    = leer("Nombre");
                    direccion = leer("Direccion");
                    fichero   = leer("Fichero");
                    actual    = stub.CrearAlmacen(nombre, direccion, fichero);
                    if (actual == -1)
                    {
                        Console.WriteLine("Error en la operacion");
                    }
                    else
                    {
                        actualNombre = nombre;
                    }
                    break;

                case 2:     //Abrir fichero
                    if (actual != -1)
                    {
                        stub.GuardarAlmacen(actual);
                        stub.CerrarAlmacen(actual);
                        actual       = -1;
                        actualNombre = null;
                    }
                    fichero = leer("Fichero");
                    actual  = stub.AbrirAlmacen(fichero);
                    if (actual == -1)
                    {
                        Console.WriteLine("Error en la operacion");
                    }
                    else
                    {
                        TDatosAlmacen datos = stub.DatosAlmacen(actual);
                        if (datos == null)
                        {
                            Console.WriteLine("Error en la operacion");
                        }
                        else
                        {
                            actualNombre = datos.Nombre;
                        }
                    }
                    break;

                case 3:     //Cerrar almacen
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        if (!stub.CerrarAlmacen(actual))
                        {
                            Console.WriteLine("Error en la operacion");
                        }
                        actual       = -1;
                        actualNombre = null;
                    }
                    break;

                case 4:     //Guardar datos
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        if (!stub.GuardarAlmacen(actual))
                        {
                            Console.WriteLine("Error en la operacion");
                        }
                    }
                    break;

                case 5:     //Listar productos
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        int nProductos = stub.NProductos(actual);
                        if (nProductos == 0)
                        {
                            Console.WriteLine("No hay productos en este almacen");
                        }
                        else
                        {
                            Console.WriteLine(String.Format("{0,10} {1,25} {2,10} {3,10} {4,16}", "CODIGO", "NOMBRE", "PRECIO", "CANTIDAD", "FECHA CADUCIDAD"));
                            for (int i = 0; i < nProductos; i++)
                            {
                                TProducto producto = stub.ObtenerProducto(actual, i);
                                Console.WriteLine(String.Format("{0,10} {1,25} {2,10} {3,10} {4,16}", producto.CodProducto, producto.NombreProducto, producto.Precio, producto.Cantidad, String.Format("{0,2}/{1,2}/{2,4}", producto.Caducidad.Dia, producto.Caducidad.Mes, producto.Caducidad.Anyo)));
                            }
                        }
                    }
                    break;

                case 6:     //Añadir producto
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        TProducto nuevo     = new TProducto();
                        TFecha    caducidad = new TFecha();
                        nuevo.CodProducto    = leer("Codigo");
                        nuevo.NombreProducto = leer("Nombre");
                        nuevo.Descripcion    = leer("Descripcion");
                        nuevo.Precio         = leerFloat("Precio");
                        nuevo.Cantidad       = leerInt("Cantidad");
                        caducidad.Dia        = leerInt("Caducidad dia");
                        caducidad.Mes        = leerInt("Caducidad mes");
                        caducidad.Anyo       = leerInt("Caducidad anyo");
                        nuevo.Caducidad      = caducidad;
                        if (!stub.AnadirProducto(actual, nuevo))
                        {
                            Console.WriteLine("Error en la operacion");
                        }
                    }
                    break;

                case 7:     //Actualizar producto
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        codProducto = leer("Codigo");
                        TProducto producto = stub.ObtenerProducto(actual, stub.BuscaProducto(actual, codProducto));
                        if (producto == null)
                        {
                            Console.WriteLine("No se ha encontrado el producto");
                        }
                        else
                        {
                            TProducto nuevo     = new TProducto();
                            TFecha    caducidad = new TFecha();
                            nuevo.CodProducto    = codProducto;
                            nuevo.NombreProducto = leerDefecto("Nombre", producto.NombreProducto);
                            nuevo.Descripcion    = leerDefecto("Descripcion", producto.Descripcion);
                            nuevo.Precio         = leerDefectoFloat("Precio", producto.Precio);
                            nuevo.Cantidad       = leerDefectoInt("Cantidad", producto.Cantidad);
                            caducidad.Dia        = leerDefectoInt("Caducidad dia", producto.Caducidad.Dia);
                            caducidad.Mes        = leerDefectoInt("Caducidad mes", producto.Caducidad.Mes);
                            caducidad.Anyo       = leerDefectoInt("Caducidad anyo", producto.Caducidad.Anyo);
                            nuevo.Caducidad      = caducidad;
                            if (!stub.ActualizarProducto(actual, nuevo))
                            {
                                Console.WriteLine("Error en la operacion");
                            }
                        }
                    }
                    break;

                case 8:     //Consultar producto
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        codProducto = leer("Codigo");
                        TProducto producto = stub.ObtenerProducto(actual, stub.BuscaProducto(actual, codProducto));
                        if (producto == null)
                        {
                            Console.WriteLine("Error en la operacion");
                        }
                        else
                        {
                            Console.WriteLine("Nombre: {0}\nDescripcion: {1}\nPrecio: {2}\nCantidad: {3}\nCaducidad: {4}/{5}/{6}\n", producto.NombreProducto, producto.Descripcion, producto.Precio, producto.Cantidad, producto.Caducidad.Dia, producto.Caducidad.Mes, producto.Caducidad.Anyo);
                        }
                    }
                    break;

                case 9:     //Eliminar producto
                    if (actual == -1)
                    {
                        Console.WriteLine("No se ha habierto ningun almacen");
                    }
                    else
                    {
                        codProducto = leer("Codigo del producto a eliminar");
                        if (!stub.EliminarProducto(actual, codProducto))
                        {
                            Console.WriteLine("Error en la operacion");
                        }
                    }
                    break;
                }
                if (opt != 0)
                {
                    Console.WriteLine("\n\nPulsa enter para continuar.");
                    Console.ReadLine();
                }
            } while(opt != 0);

            if (actual != -1)
            {
                stub.GuardarAlmacen(actual);
                stub.CerrarAlmacen(actual);
            }
        }
示例#2
0
 private void detach_TProducto(TProducto entity)
 {
     this.SendPropertyChanging();
     entity.TCategoria = null;
 }
示例#3
0
 partial void UpdateTProducto(TProducto instance);
示例#4
0
 partial void DeleteTProducto(TProducto instance);
示例#5
0
 partial void InsertTProducto(TProducto instance);