static void Main(string[] args)
        {
            Tanque T1 = new Tanque(TipoCañon.KwK_43, 5, TipoMotor.Maybach_HL_230_P30, 10, TipoAmetralladoras.MG_34, 5);  // Tiger

            Tanque T2 = new Tanque(TipoCañon.M1_76_mm, 2, TipoMotor.R975_C4, 2, TipoAmetralladoras.Browning_M1919A4, 3); // Sherman

            Tanque T3 = new Tanque(TipoCañon.F34_de_76_2_mm, 3, TipoMotor.Diesel_V2_34, 3, TipoAmetralladoras.DT, 6);    // T-34

            Avion A1 = new Avion(Cañones.Hispano_M2, 2, MotorRadial.Pratt_and_Whitney_R, 5, Ametralladoras.Browning_M2, 10);

            Avion A2 = new Avion(Cañones.MG_151_20, 10, MotorRadial.Gnome_Rhône_14M_5, 11, Ametralladoras.MG_17, 9);

            Avion A3 = new Avion(Cañones.Nudelman_Suranov_NS_23, 1, MotorRadial.Daimler_Benz_DB_603, 3, Ametralladoras.Berezin_UB, 5);

            Fabrica <Tanque, Avion> fabricarTanquesyAviones = new Fabrica <Tanque, Avion>(100);

            DepositoFabrica <Tanque, Avion> depositofabrica = new DepositoFabrica <Tanque, Avion>();

            T1.IdentificarTanque();
            T2.IdentificarTanque();
            T3.IdentificarTanque();

            A1.IdentificarAvion();
            A2.IdentificarAvion();
            A3.IdentificarAvion();

            fabricarTanquesyAviones.AdministrarCapacidad();

            fabricarTanquesyAviones.ValidarIngresoTanques(T1);
            fabricarTanquesyAviones.ValidarIngresoTanques(T2);
            fabricarTanquesyAviones.ValidarIngresoTanques(T3);

            fabricarTanquesyAviones.ValidarIngresoAviones(A1);
            fabricarTanquesyAviones.ValidarIngresoAviones(A2);
            fabricarTanquesyAviones.ValidarIngresoAviones(A3);

            Console.WriteLine(fabricarTanquesyAviones.EmsambladoTanques(T1));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoTanques(T2));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoTanques(T3));

            Console.WriteLine(fabricarTanquesyAviones.EmsambladoAviones(A1));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoAviones(A2));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoAviones(A3));

            Console.WriteLine(fabricarTanquesyAviones.Mostrar());

            Console.ReadKey();
        }
        /// <summary>
        /// Evento al presionar el boton confirmar e iniciar el proceso de produccion.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            fabrica.AdministrarCapacidad();

            try
            {
                object cañonesAviones;
                object motoresAviones;
                object armasAviones;

                object cañonesTanques;
                object motoresTanques;
                object armasTanques;

                ConfirmarSeleccion();

                cañonesAviones = AuxiliarParametros(CañonAvion.SelectedItem);
                motoresAviones = AuxiliarParametros(MotorAvion.SelectedItem);
                armasAviones   = AuxiliarParametros(ArmaAvion.SelectedItem);

                cañonesTanques = AuxiliarParametros(CañonTanques.SelectedItem);
                motoresTanques = AuxiliarParametros(MotorTanques.SelectedItem);
                armasTanques   = AuxiliarParametros(ArmaTanques.SelectedItem);

                Enum.TryParse(cañonesAviones.ToString(), out Cañones cañonA);
                Enum.TryParse(motoresAviones.ToString(), out MotorRadial motorA);
                Enum.TryParse(armasAviones.ToString(), out Ametralladoras armaA);

                Enum.TryParse(cañonesTanques.ToString(), out TipoCañon cañonT);
                Enum.TryParse(motoresTanques.ToString(), out TipoMotor motorT);
                Enum.TryParse(armasTanques.ToString(), out TipoAmetralladoras armaT);

                avion = new Avion(cañonA, cantidadCañonesAviones, motorA, cantidadMotoresAviones, armaA, cantidadArmasAviones);

                tanque = new Tanque(cañonT, cantidadCañonesTanques, motorT, cantidadMotoresTanques, armaT, cantidadArmasTanques);

                tanque.IdentificarTanque();
                avion.IdentificarAvion();

                tanque.Evento += ManejadorEvento;
                tanque.PasarInformacion(tanque);

                MostrarProduccionTanques();
                btnConfirmar.Enabled = false;

                if (cantidadMotoresTanques != 0 || cantidadCañonesTanques != 0 || cantidadArmasTanques != 0)
                {
                    SQL InsertarTanqueSQL = new SQL();
                    InsertarTanqueSQL.InsertarTanque(tanque);
                }

                if (cantidadMotoresAviones != 0 || cantidadCañonesAviones != 0 || cantidadArmasAviones != 0)
                {
                    SQL InsertarAvionSQL = new SQL();
                    InsertarAvionSQL.InsertarAvion(avion);
                }
            }
            catch (ExcepcionConfirmar ex)
            {
                MessageBox.Show(ex.ConfirmarEmpleados(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (ExcepcionCompatibilidad ex)
            {
                MessageBox.Show(ex.MostrarCompatibilidad(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (ExcepcionSqlConexion ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Example #3
0
        /// <summary>
        /// Evento al presionar el boton confirmar e iniciar el proceso de produccion.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnConfirmar_Click(object sender, EventArgs e)
        {
            fabrica.AdministrarCapacidad();

            try
            {
                cantidadMotoresTanques = Convert.ToInt32(cantidadTanquesMotores.Text);
                cantidadCañonesTanques = Convert.ToInt32(cantidadTanquesCañones.Text);
                cantidadArmasTanques   = Convert.ToInt32(cantidadTanquesArmas.Text);

                cantidadMotoresAviones = Convert.ToInt32(cantidadAvionesMotores.Text);
                cantidadCañonesAviones = Convert.ToInt32(cantidadAvionesCañones.Text);
                cantidadArmasAviones   = Convert.ToInt32(cantidadAvionesArmas.Text);


                object cañonesAviones;
                object motoresAviones;
                object armasAviones;

                object cañonesTanques;
                object motoresTanques;
                object armasTanques;

                ConfirmarSeleccion();

                cañonesAviones = AuxiliarParametros(CañonAvion.SelectedItem);
                motoresAviones = AuxiliarParametros(MotorAvion.SelectedItem);
                armasAviones   = AuxiliarParametros(ArmaAvion.SelectedItem);

                cañonesTanques = AuxiliarParametros(CañonTanques.SelectedItem);
                motoresTanques = AuxiliarParametros(MotorTanques.SelectedItem);
                armasTanques   = AuxiliarParametros(ArmaTanques.SelectedItem);

                Enum.TryParse(cañonesAviones.ToString(), out Cañones cañonA);
                Enum.TryParse(motoresAviones.ToString(), out MotorRadial motorA);
                Enum.TryParse(armasAviones.ToString(), out Ametralladoras armaA);

                Enum.TryParse(cañonesTanques.ToString(), out TipoCañon cañonT);
                Enum.TryParse(motoresTanques.ToString(), out TipoMotor motorT);
                Enum.TryParse(armasTanques.ToString(), out TipoAmetralladoras armaT);

                avion = new Avion(cañonA, cantidadCañonesAviones, motorA, cantidadMotoresAviones, armaA, cantidadArmasAviones);

                tanque = new Tanque(cañonT, cantidadCañonesTanques, motorT, cantidadMotoresTanques, armaT, cantidadArmasTanques);

                tanque.IdentificarTanque();
                avion.IdentificarAvion();

                MostrarProduccionTanques();
                btnConfirmar.Enabled = false;
            }
            catch (ExcepcionConfirmar ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (ExcepcionCompatibilidad ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (Exception)
            {
                MessageBox.Show("Se ha intentando ingresar un parametro invalido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        static void Main(string[] args)
        {
            Tanque T1 = new Tanque(TipoCañon.KwK_43, 10, TipoMotor.Maybach_HL_230_P30, 10, TipoAmetralladoras.MG_34, 10); // Tiger

            Tanque T2 = new Tanque(TipoCañon.M1_76_mm, 2, TipoMotor.R975_C4, 2, TipoAmetralladoras.Browning_M1919A4, 3);  // Sherman

            Tanque T3 = new Tanque(TipoCañon.F34_de_76_2_mm, 3, TipoMotor.Diesel_V2_34, 3, TipoAmetralladoras.DT, 6);     // T-34

            Avion A1 = new Avion(Cañones.Hispano_M2, 2, MotorRadial.Pratt_and_Whitney_R, 5, Ametralladoras.Browning_M2, 10);

            Avion A2 = new Avion(Cañones.MG_151_20, 10, MotorRadial.Gnome_Rhône_14M_5, 11, Ametralladoras.MG_17, 9);

            Avion A3 = new Avion(Cañones.Nudelman_Suranov_NS_23, 1, MotorRadial.Daimler_Benz_DB_603, 3, Ametralladoras.Berezin_UB, 5);

            Fabrica <Tanque, Avion> fabricarTanquesyAviones = new Fabrica <Tanque, Avion>(100);

            T1.IdentificarTanque();
            T2.IdentificarTanque();
            T3.IdentificarTanque();

            A1.IdentificarAvion();
            A2.IdentificarAvion();
            A3.IdentificarAvion();

            fabricarTanquesyAviones.AdministrarCapacidad();

            fabricarTanquesyAviones.ValidarIngresoTanques(T1);
            fabricarTanquesyAviones.ValidarIngresoTanques(T2);
            fabricarTanquesyAviones.ValidarIngresoTanques(T3);

            fabricarTanquesyAviones.ValidarIngresoAviones(A1);
            fabricarTanquesyAviones.ValidarIngresoAviones(A2);
            fabricarTanquesyAviones.ValidarIngresoAviones(A3);

            Console.WriteLine(fabricarTanquesyAviones.EmsambladoTanques(T1));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoTanques(T2));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoTanques(T3));

            Console.WriteLine(fabricarTanquesyAviones.EmsambladoAviones(A1));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoAviones(A2));
            Console.WriteLine(fabricarTanquesyAviones.EmsambladoAviones(A3));

            Console.WriteLine(fabricarTanquesyAviones.Mostrar());

            Informes <Tanque> informeTanques = new Informes <Tanque>();
            Informes <Avion>  informeAviones = new Informes <Avion>();

            informeTanques.GenerarInformeXML(T1);
            informeAviones.GenerarInformeXML(A1);

            Console.WriteLine("Se genero informe XML de materiales de Tanque Tiger y Avion BlackWidow");

            Console.WriteLine("Pruebo excepcionCapacidad, presione una tecla para continuar...");

            Console.ReadKey();

            try
            {
                Fabrica <Tanque, Avion> fabricaPrueba = new Fabrica <Tanque, Avion>(-1);
                fabricaPrueba.AdministrarCapacidad();
            }
            catch (ExcepcionCapacidad ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("Pruebo excepcion, presione una tecla para continuar...");
            Console.ReadKey();

            try
            {
                Tanque T4 = new Tanque(TipoCañon.KwK_43, 10, TipoMotor.R975_C4, 10, TipoAmetralladoras.MG_34, 10); // Tiger
                T4.IdentificarTanque();
            }
            catch (ExcepcionCompatibilidad ex)
            {
                Console.WriteLine(ex.Message);
            }

            Console.ReadKey();
        }