Exemplo n.º 1
0
        private void btn_Tejer_Click(object sender, EventArgs e)
        {
            Hilado hilado        = dgv_Hilados.SelectedRows[0].DataBoundItem as Hilado;
            int    cantUtilizada = int.Parse(Interaction.InputBox("¿Cuánta cantidad del hilado seleccionado desea tejer?"));
            int    areaTela      = int.Parse(Interaction.InputBox("¿Cuál es el área (en centímetros cuadrados) resultante?")); // Se podría agregar un intérpreter para entender cuando se escribe m2, o mm2 y pasarlo a cm2 por ejemplo ?
            Tejido tejido        = new Tejido();
            string codigoTela    = Interaction.InputBox("¿Cuál será el código de la tela resultante?");

            controller.Tejer(cantUtilizada, areaTela, hilado, codigoTela);
            dgv_Hilados.DataSource = null;
            dgv_Hilados.DataSource = controller.GetListHilado();
            dgv_Telas.DataSource   = null;
            dgv_Telas.DataSource   = controller.GetListTela();
        }
Exemplo n.º 2
0
        public void TestTejido()
        {
            Controller   controller    = new Controller();
            TejidoGestor tejidoGestor  = new TejidoGestor();
            bool         condicion1    = false;
            bool         condicion2    = false;
            bool         condicion3    = false;
            int          cantUtilizada = 1200;
            int          areaTela      = 40;

            controller.AltaHilado("PRUEBA", "HILADO DE PRUEBA", "3000", "4");
            Hilado hilado     = controller.GetListHilado().Find(h => h.Codigo == "PRUEBA");
            string codigoTela = "TELA PRUEBA";

            controller.Tejer(cantUtilizada, areaTela, hilado, codigoTela);
            if (hilado.Cantidad == 3000 - cantUtilizada)
            {
                condicion1 = true;
            }
            List <Tejido> tejidos          = tejidoGestor.GetList();
            Tejido        tejidoResultante = tejidos.Find(t => t.CantidadUtilizada == cantUtilizada && t.AreaTela == areaTela && t.Hilado.Codigo == hilado.Codigo);

            if (tejidoResultante != null)
            {
                condicion2 = true;
            }
            Tela telaResultante = controller.GetListTela().Find(t => t.Codigo == codigoTela);

            if (telaResultante != null)
            {
                condicion3 = true;
            }
            Cleaner cleaner = new Cleaner();

            cleaner.Clean("Tejido", "Id = " + tejidoResultante.Id);
            cleaner.Clean("Hilado", "Id = " + hilado.Id);
            cleaner.Clean("Tela", "Id = " + telaResultante.Id);
            Assert.IsTrue(condicion1 && condicion2 && condicion3);
        }
Exemplo n.º 3
0
    public void Tejer(Tejido tejido, string codigoTela)
    {
        tejido.Codigo           = tejido.Hilado.Codigo + "_TJD";
        tejido.Hilado.Cantidad -= tejido.CantidadUtilizada;
        tejido.Tiempo           = tejido.CantidadUtilizada * decimal.ToInt32(decimal.Floor(tejido.Hilado.Peso)) / 160; // Uso 160 porque es la velocidad promedio de los telares que encontré. La fórmula sería Tiempo = (tamaño + peso) / velocidad de tejido.
        int          telasObtenidas = tejido.CantidadUtilizada / tejido.AreaTela;
        HiladoGestor hiladoGestor   = new HiladoGestor();

        hiladoGestor.Modificar(tejido.Hilado);
        TelaGestor  telaGestor      = new TelaGestor();
        List <Tela> telasExistentes = telaGestor.GetListTela();

        if (telasExistentes.Exists(t => t.Codigo == codigoTela))
        {
            Tela existente = telaGestor.GetTela(telasExistentes.Find(t => t.Codigo == codigoTela));
            existente.Cantidad += telasObtenidas;
            telaGestor.Modificar(existente);
        }
        else
        {
            telaGestor.Alta(new Tela(codigoTela, "Proviene de " + tejido.Hilado.Descripcion + ".", telasObtenidas, "", false));  // cada 20 metros de tela utilizadas se crea 1 tela.
        }
        bd.Alta(tejido);
    }
Exemplo n.º 4
0
 public Tejido GetTejido(Tejido tejido)
 {
     return(bd.Get(tejido));
 }
Exemplo n.º 5
0
 public void Baja(Tejido tejido)
 {
     bd.Baja(tejido);
 }