private void btn_Terminacion_Click(object sender, EventArgs e) { try { Pedidos auxPedido = lstMueblesProceso.SelectedItem as Pedidos; if (auxPedido != null) { lstMueblesProceso.Items.Remove(auxPedido); lstMueblesElaborados.Items.Add(auxPedido); fabrica2.TerminarTratamiento(auxPedido.DetallePedido); fabrica2.ListaMuebles.Add(auxPedido.DetallePedido); } } catch (NullReferenceException) { MessageBox.Show("No seleccionó ningun item de la lista.", "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (TratamientoException ex) { MessageBox.Show(ex.Message, "Atención!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
static void Main(string[] args) { FabricaDeMuebles <Muebles, Pedidos> fabricaKevin = new FabricaDeMuebles <Muebles, Pedidos>(); Mesa mesa = new Mesa(Terminacion.Laqueado, ColorMadera.Nogal); Silla silla = new Silla(Terminacion.Melamina, ColorMadera.Roble, Silla.ColorTapizado.Blanco); Biblioteca biblioteca = new Biblioteca(Terminacion.Barnizado, ColorMadera.Negro, 3); Pedidos pedido1 = new Pedidos(23, mesa); Pedidos pedido2 = new Pedidos(45, silla); Pedidos pedido3 = new Pedidos(67, biblioteca); /// TEST: AGREGAR PEDIDO / EXCEPCIONES / ELIMINAR PEDIDO DE FABRICA try { bool resultado1 = fabricaKevin + pedido1; bool resultado2 = fabricaKevin + pedido2; bool resultado3 = fabricaKevin - pedido1; fabricaKevin.Recortar(pedido1.DetallePedido); //fabricaKevin.Recortar(pedido3.DetallePedido); //Descomentar para que se produzca MaderaInsuficienteException. } catch (MaderaInsuficienteException ex) { Console.WriteLine(ex.Message); } catch (PedidoNoAgregadoException ex) { Console.WriteLine(ex.Message); } catch (PedidoNoEliminadoException ex) { Console.WriteLine(ex.Message); } /// TEST: SALIDA POR CONSOLA DE LOS DATOS DEL MUEBLE / POLIMORFISMO Console.Write(pedido1.DetallePedido.ToString()); Console.WriteLine("----------------------------------"); Console.Write(pedido2.DetallePedido.ToString()); Console.WriteLine("----------------------------------"); Console.Write(pedido3.DetallePedido.ToString()); /// TEST: PROCESO DE FABRICACION / EXCEPCIONES /// try { fabricaKevin.Recortar(pedido3.DetallePedido); fabricaKevin.Lijar(pedido3.DetallePedido); fabricaKevin.PintarYArmar(pedido3.DetallePedido); fabricaKevin.TerminarTratamiento(pedido3.DetallePedido); } catch (MaderaInsuficienteException ex) { Console.WriteLine(ex.Message); } catch (LijaInsuficienteException ex) { Console.WriteLine(ex.Message); } catch (PinturaYArmardoException ex) { Console.WriteLine(ex.Message); } catch (TratamientoException ex) { Console.WriteLine(ex.Message); } Console.WriteLine("----------------------------------"); Console.Write(pedido3.DetallePedido.ToString()); Console.ReadKey(); }