示例#1
0
    public void Tenir(Tenido teñido, string codigoTela)
    {
        teñido.Codigo          = teñido.Tela.Codigo + "_" + teñido.Tinte.Codigo + "_TÑD";
        teñido.Tinte.Cantidad -= teñido.CantidadTinteUtilizada;
        teñido.Tela.Cantidad  -= teñido.CantidadTelaUtilizada;
        Random r = new Random();

        teñido.Tiempo = r.Next(3600, 5400); //Puede durar entre 1 hora y 1 hora y media sin importar la cantidad de tela (limitado por el límite de la máquina).
        // El promedio de teñido suele durar entre 1 hora a 1 hora y media y puede extenderse un poco más dependiendo a que
        //otros procesos de control de teñido se exponga. En este caso suponemos que puede durar entre 1 a 1 hora y media únicamente.
        // Aunque estos datos son generalizados y con máquinas promedio, ya que el tiempo puede ser más o menos según bastantes factores
        // relacionados a la máquina, a la tela y otros factores que exeden el nivel de complejidad del proyecto.
        int         telasObtenidas = teñido.CantidadTelaUtilizada;
        TinteGestor tinteGestor    = new TinteGestor();

        tinteGestor.Modificar(teñido.Tinte);
        TelaGestor telaGestor = new TelaGestor();

        telaGestor.Modificar(teñido.Tela);
        List <Tela> telasExistentes = telaGestor.GetListTela();

        if (telasExistentes.Exists(t => t.Codigo == codigoTela) && telasExistentes.Exists(t => t.Color == teñido.Tinte.Color))
        {
            Tela existente = telaGestor.GetTela(telasExistentes.Find(t => t.Codigo == codigoTela));
            existente.Cantidad += telasObtenidas;
            existente.Color     = teñido.Tinte.Color;
            existente.Teñido    = true;
            telaGestor.Modificar(existente);
        }
        else
        {
            telaGestor.Alta(new Tela(codigoTela, teñido.Tela.Descripcion, telasObtenidas, teñido.Tinte.Color, true));
        }
        bd.Alta(teñido);
    }
示例#2
0
        private void btn_AltaTela_Click(object sender, EventArgs e)
        {
            controller.AltaTela(txt_Codigo.Text, txt_Descripcion.Text, int.Parse(txt_Cantidad.Text), txt_Color.Text, false);
            TelaGestor telaGestor = new TelaGestor();

            dgv_Telas.DataSource = null;
            dgv_Telas.DataSource = telaGestor.GetListTela();
        }
示例#3
0
        private void btn_BajaTela_Click(object sender, EventArgs e)
        {
            Tela tela = dgv_Telas.SelectedRows[0].DataBoundItem as Tela;

            controller.BajaTela(tela);
            TelaGestor telaGestor = new TelaGestor();

            dgv_Telas.DataSource = null;
            dgv_Telas.DataSource = telaGestor.GetListTela();
        }
示例#4
0
        private void AreaCortado_Load(object sender, EventArgs e)
        {
            IniciarControles();
            TelaGestor   telaGestor   = new TelaGestor();
            PrendaGestor prendaGestor = new PrendaGestor();

            dgv_Telas.DataSource   = null;
            dgv_Telas.DataSource   = telaGestor.GetListTela();
            dgv_Prendas.DataSource = null;
            dgv_Prendas.DataSource = prendaGestor.GetListPrenda();
        }
示例#5
0
        private void btn_ModificarTela_Click(object sender, EventArgs e)
        {
            Tela tela = dgv_Telas.SelectedRows[0].DataBoundItem as Tela;

            tela.Descripcion = txt_Descripcion.Text;
            tela.Cantidad    = int.Parse(txt_Cantidad.Text);
            tela.Color       = txt_Color.Text;
            controller.ModificarTela(tela);
            TelaGestor telaGestor = new TelaGestor();

            dgv_Telas.DataSource = null;
            dgv_Telas.DataSource = telaGestor.GetListTela();
        }
示例#6
0
        private void btn_Cortar_Click(object sender, EventArgs e)
        {
            Tela   tela         = dgv_Telas.SelectedRows[0].DataBoundItem as Tela;
            int    cantTela     = int.Parse(Interaction.InputBox("¿Cuánta cantidad de la tela seleccionada desea utilizar?"));
            int    dimensiones  = int.Parse(Interaction.InputBox("Ingrese el área de la tela en m2"));
            string talle        = Interaction.InputBox("Ingrese si el talle deseado es S, M o L");
            string codigoPrenda = Interaction.InputBox("Ingrese el código de las prendas resultantes");

            controller.Cortar(tela, cantTela, dimensiones, talle, codigoPrenda);
            TelaGestor   telaGestor   = new TelaGestor();
            PrendaGestor prendaGestor = new PrendaGestor();

            dgv_Telas.DataSource   = null;
            dgv_Telas.DataSource   = telaGestor.GetListTela();
            dgv_Prendas.DataSource = null;
            dgv_Prendas.DataSource = prendaGestor.GetListPrenda();
        }
示例#7
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);
    }