public static HerramientaBase CrearHerramienta(Herramienta herramienta,EstacionView estacion)
 {
     switch (herramienta)
     {
         case Herramienta.Seleccion:
             return new HerramientaSeleccion(estacion);
         case Herramienta.CreacionEquipos:
             return new HerramientaCreacionEquipos(estacion);
        
         case Herramienta.Conectar:
             return new HerramientaConexion(estacion);
         case Herramienta.Marcadores:
             return new HerramientaMarcador(estacion);
         default:
             throw new NotImplementedException();
     }
 }
Exemplo n.º 2
0
        public bool ActualizarHerramienta(int UsuarioId)
        {
            bool        Resultado = false;
            Herramienta he        = new Herramienta();

            he.UsuarioId = UsuarioId;
            Resultado    = he.Actualizar(" Cantidad ={0} ", tbxPorcientoMora.Text, "0");

            Resultado = he.Actualizar(" Cantidad ={0} ", tbxMes.Text, "1");

            Resultado = he.Actualizar(" Cantidad ={0} ", tbxQuincena.Text, "2");

            Resultado = he.Actualizar(" Cantidad ={0} ", tbxDia.Text, "3");

            Resultado = he.Actualizar(" Descripcion ='{0}' ", tbxNombreEmpresa.Text, "5");


            return(Resultado);
        }
Exemplo n.º 3
0
 public override void ActualizarVisualizacion()
 {
     if (Grilla.Rows.Count == 0)
     {
         // Si la grilla esta vacia borra el texto
         lbl_visualizacion.Text = "";
     }
     else
     {
         //Busca la herramienta seleccionada en la bd por id
         Herramienta herramienta = new Herramienta();
         //Carga un objeto con los datos de la tabal seleccionada
         herramienta.Cargar_datos(TablaCompleta.Rows[this.Grilla.CurrentRow.Index]);
         //Rellena los campos con los datos
         lbl_visualizacion.Text  = "Id: " + herramienta.Id;
         lbl_visualizacion.Text += "\nNombre: " + herramienta.Nombre;
         lbl_visualizacion.Text += "\nDescripción: " + herramienta.Descripcion;
     }
 }
Exemplo n.º 4
0
        //Se crea una herramienta que será usada en otro formulario.
        protected virtual void btnAceptar_Click(object sender, EventArgs e)
        {
            float precio;

            try
            {
                precio = float.Parse(this.txtPrecio.Text);

                this.herramienta = new Herramienta((Herramienta.EDistribuidor) this.cmbOrigen.SelectedItem
                                                   , precio
                                                   , (Herramienta.EOrigen) this.cmbOrigen.SelectedItem);

                this.DialogResult = DialogResult.OK;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                this.DialogResult = DialogResult.Cancel;
            }
        }
        public void Setup()
        {
            //1
            h1           = new Herramienta("bati_navaja", 6, 2);
            h2           = new Herramienta("bati_lazo", 10, 7);
            batiCinturon = new List <Herramienta>()
            {
                h1, h2
            };
            batman = new Batman(batiCinturon);

            psico  = new Psicopata(10);
            marron = new Guante_Marron();
            blanco = new Guante_Blanco();
            robin  = new Robin_Hood();
            et     = new Extraterrestre(2);

            c1  = new Ciudadano(10000000);
            c7  = new Ciudadano(6000000);
            c4  = new Ciudadano(2000000);
            c2  = new Ciudadano(1000000);
            c9  = new Ciudadano(522000);
            c8  = new Ciudadano(500000);
            c10 = new Ciudadano(52000);
            c11 = new Ciudadano(51000);
            c3  = new Ciudadano(5000);
            c5  = new Ciudadano(5000);
            c6  = new Ciudadano(5000);

            pandilla = new List <Villano>()
            {
                blanco, marron, psico
            };

            ciudadanos = new List <Ciudadano>()
            {
                c1, c2, c3, c4, c5, c6
            };

            int cant = ciudadanos.Count();
        }
Exemplo n.º 6
0
        protected void btnActualizar_Click(object sender, EventArgs e)
        {
            objUBD = new UpdateBD();
            Herramienta objHerramienta = new Herramienta();

            objHerramienta.CodHerramienta = Convert.ToInt32(txtCodHerramienta.Text);
            objHerramienta.Nombre         = txtNombre.Text;
            objHerramienta.Cantidad       = Convert.ToInt32(txtCantidad.Text);
            objHerramienta.Disponible     = cmbDisponible.Text;

            bool resultado = objUBD.ActualizarHerramienta(objHerramienta);

            if (resultado == true)
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAlert", "alert('Se actualizó con exito')", true);
            }
            else
            {
                ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "scriptAlert", "alert('No se actualizó con exito')", true);
            }
        }
Exemplo n.º 7
0
        // PUT: api/Service/5
        public void Put(Herramienta h)
        {
            try
            {
                SqlCommand cmd = new SqlCommand("UPDATE tb_herramienta SET desHer = @des, idCar = @idCar, preUni = @precio, stock = @stock WHERE idHer = @id", cn);
                cn.Open();
                cmd.Parameters.AddWithValue("@id", h.idHer);
                cmd.Parameters.AddWithValue("@des", h.desHer);
                cmd.Parameters.AddWithValue("@idCar", h.idCar);
                cmd.Parameters.AddWithValue("@precio", h.preUni);
                cmd.Parameters.AddWithValue("@stock", h.stock);

                cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
            }
            finally
            {
                cn.Close();
            }
        }
Exemplo n.º 8
0
        // POST: api/Service
        public void Post(Herramienta h)
        {
            try
            {
                SqlCommand cmd = new SqlCommand("INSERT INTO tb_herramienta VALUES(@id, @des, @idCar, @precio, @stock)", cn);
                cn.Open();
                cmd.Parameters.AddWithValue("@id", h.idHer);
                cmd.Parameters.AddWithValue("@des", h.desHer);
                cmd.Parameters.AddWithValue("@idCar", h.idCar);
                cmd.Parameters.AddWithValue("@precio", h.preUni);
                cmd.Parameters.AddWithValue("@stock", h.stock);

                cmd.ExecuteNonQuery();
            }
            catch (Exception)
            {
            }
            finally
            {
                cn.Close();
            }
        }
Exemplo n.º 9
0
        public bool registrarHerramienta(Herramienta objHerramienta)
        {
            int  controlAfectado = -1;
            bool respuesta       = false;

            using (SqlConnection conxion = new SqlConnection(cadenaConexion))
            {
                comando             = new SqlCommand();
                comando.Connection  = conxion;
                comando.CommandType = System.Data.CommandType.Text;
                comando.CommandText = "Insert into Herramienta (CodHerramienta, Nombre, Disponible, Cantidad)" +
                                      "Values(@CodHerramienta, @Nombre, @Disponible, @Cantidad)";

                SqlParameter objParametro = new SqlParameter();
                objParametro.ParameterName = "@CodHerramienta";
                objParametro.SqlDbType     = System.Data.SqlDbType.Int;
                objParametro.Value         = objHerramienta.CodHerramienta;

                comando.Parameters.Add(objParametro);

                comando.Parameters.Add(new SqlParameter("@Nombre", objHerramienta.Nombre));

                comando.Parameters.Add(new SqlParameter("@Disponible", objHerramienta.Disponible));

                comando.Parameters.Add(new SqlParameter("@Cantidad", objHerramienta.Cantidad));

                conxion.Open();

                controlAfectado = comando.ExecuteNonQuery();
            }

            if (controlAfectado > 0)
            {
                respuesta = true;
            }

            return(respuesta);
        }
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            switch (cmbTipoDeProducto.Text)
            {
            case "Iluminacion":
                Iluminacion iluminacion = new Iluminacion((Iluminacion.TipoIluminaria)cmbEspecifico.SelectedItem, txtNombre.Text, int.Parse(txtCodigo.Text), double.Parse(txtPrecio.Text), int.Parse(txtStock.Text), txtColor.Text, (TipoDeAmbito)cmbTipoAmbito.SelectedItem, (TipoDeUsuario)cmbTipoUsuario.SelectedItem);
                producto.AgregarProductoAlStock(iluminacion);
                MessageBox.Show("Producto agregado a la lista de stock");
                break;

            case "Herramientas":
                Herramienta herramientas = new Herramienta((Herramienta.TipoHerramientas)cmbEspecifico.SelectedItem, txtNombre.Text, int.Parse(txtCodigo.Text), double.Parse(txtPrecio.Text), int.Parse(txtStock.Text), (TipoDeAmbito)cmbTipoAmbito.SelectedItem, (TipoDeUsuario)cmbTipoUsuario.SelectedItem);
                producto.AgregarProductoAlStock(herramientas);
                MessageBox.Show("Producto agregado a la lista de stock");
                break;

            case "Insumos":
                Insumos insumos = new Insumos((Insumos.TipoInsumos)cmbEspecifico.SelectedItem, txtNombre.Text, int.Parse(txtPrecio.Text), double.Parse(txtPrecio.Text), int.Parse(txtStock.Text), (TipoDeAmbito)cmbTipoAmbito.SelectedItem, (TipoDeUsuario)cmbTipoUsuario.SelectedItem);
                producto.AgregarProductoAlStock(insumos);
                MessageBox.Show("Producto agregado a la lista de stock");
                break;
            }
        }
Exemplo n.º 11
0
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                Herramienta h = new Herramienta();


                if (tbxCodigo.Text == string.Empty)
                {
                    if (InsertarHerramienta())
                    {
                        Utilitario.ShowToastr(this, "Guardado", "Mensaje", "success");
                        Response.Redirect("~/Consulta/MenuAdm.aspx");
                    }
                    else
                    {
                        Utilitario.ShowToastr(this, "Error", "Mensaje", "error");
                    }
                }
                else
                {
                    if (ActualizarHerramienta(2))
                    {
                        Utilitario.ShowToastr(this, "Actualizado", "Mensaje", "success");
                        Response.Redirect("~/Consulta/MenuAdm.aspx");
                    }
                    else
                    {
                        Utilitario.ShowToastr(this, "Error no se guardo un dato", "Mensaje", "error");
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 12
0
        public void ListarHerramientas()
        {
            Herramienta LH = new Herramienta();

            dgvHerramienta.DataSource = LH.ListarHerramienta();
        }
        public void Alta(string nombre, string descripcion)
        {
            Herramienta herramienta_nueva = new Herramienta(nombre, descripcion);

            herramienta_nueva.Crear();
        }
 public void CambiarHerramienta(Herramienta herramienta)
 {
     _herramienta = FabricaHerramienta.CrearHerramienta(herramienta, this);
 }
 //Recibe una herramienta creada en el FormHerramienta.Se tomarán sus atributos para instanciar un taladro.
 public FormTaladro(Herramienta herramienta)
 {
     InitializeComponent();
     this.taladroForm = new Taladro(herramienta.Distribuidor, herramienta.Precio, herramienta.PaisOrigen);
 }
Exemplo n.º 16
0
        private static void rectangulo_deformado(Info_forma info, PictureBox pintura, int modo)
        {
            info.g = Graphics.FromImage((Bitmap)pintura.Image);

            Random random = new Random();

            /* Está función la desarrollé en la primera versión en el 2019,
             * parametros originales que recibia la función:
             * float x, float y, float ancho, float alto, int tipo, List<PointF> pi*/
            int   inicioy, iniciox, ultimay, cierrex;
            int   x = info.po.X;
            int   y = info.po.Y;
            int   ancho = info.ancho_forma;
            int   alto = info.alto_forma;
            int   contador = 1;
            int   distancia_des_ancho = (int)Math.Truncate(alto * 0.30) + 1, distancia_des_alto = (int)Math.Truncate(ancho * 0.30) + 1;
            int   hund_izq = 0, hund_der = info.ancho_lienzo;
            Point point1   = new Point();
            Point point2   = new Point();
            Pen   contorno = new Pen(Color.Black, info.grosor_pared);

            // Se usan 4 listas para cada lado
            List <Point> lado_arriba    = new List <Point>();
            List <Point> lado_derecho   = new List <Point>();
            List <Point> lado_izquierdo = new List <Point>();
            List <Point> lado_abajo     = new List <Point>();

            /*
             * Una variable llamada "desplazar hacia el centro" determina si 2 puntos se mueven.
             * si es cualquier número a excepción de 0 no moverá los vertices
             * si es cero los vertices serán atraidos al centro
             * __________
             |        __|
             |       |__   <--- "desplazar_al_centro = 0"
             |          |
             |__________|
             */

            int conteo = 0, desplazar_al_centro = 0;
            int random_profundidad = 0;

            //Ancho superior
            while (contador <= ancho)
            {
                /*Esta parte fue agregada para controlar la distancia de deformacion
                 * y la posibilidad*/
                if (conteo == 0)
                {
                    conteo              = 1;
                    random_profundidad  = random.Next(1, distancia_des_ancho);
                    desplazar_al_centro = random.Next(0, info.posibilidad.Value);
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                else
                {
                    conteo = conteo + 1;
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                //-------------------------------------------
                if (desplazar_al_centro != 0)
                {
                    if (contador == 1)
                    {
                        point1.X = x;
                        point1.Y = y;
                        point2.X = (100 * contador) + x;
                        point2.Y = point1.Y;
                    }
                    else
                    {
                        point1.X = point2.X;
                        point1.Y = y;
                        point2.X = (100 * contador) + x;
                        point2.Y = point1.Y;
                    }
                }
                else
                {
                    if (contador == 1)
                    {
                        point1.X = x;
                        point1.Y = y + (random_profundidad * 100);
                        point2.X = (100 * contador) + x;
                        point2.Y = point1.Y;
                    }
                    else
                    {
                        point1.X = point2.X;
                        point1.Y = y + (random_profundidad * 100);
                        point2.X = (100 * contador) + x;
                        point2.Y = point1.Y;
                    }
                }
                contador = contador + 1;
                lado_arriba.Add(point1);
                lado_arriba.Add(point2);
            }
            // Guarda la Y del primer segmento
            inicioy = lado_arriba[0].Y;
            // Guarda la Y del ultimo segmento


            ultimay  = lado_arriba[lado_arriba.Count - 1].Y;
            contador = distancia_des_ancho;
            conteo   = 0;
            //lado derecho
            while (contador <= alto)
            {
                int punto_inicial_x = (100 * ancho) + x;
                //Esta parte fue agragada para la distancia
                if (conteo == 0)
                {
                    conteo              = 1;
                    random_profundidad  = random.Next(1, distancia_des_alto);
                    desplazar_al_centro = random.Next(0, info.posibilidad.Value);
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                else
                {
                    conteo = conteo + 1;
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                //-------------------------------------------
                if (contador == distancia_des_ancho)
                {
                    point1.X = punto_inicial_x;
                    point1.Y = ultimay;
                    point2.X = point1.X;
                    point2.Y = (100 * contador) + y;
                }
                else
                {
                    if (desplazar_al_centro != 0)
                    {
                        point1.X = punto_inicial_x;
                        point1.Y = point2.Y;
                        point2.X = point1.X;
                        point2.Y = (100 * contador) + y;
                    }
                    else
                    {
                        point1.X = punto_inicial_x - (random_profundidad * 100);
                        point1.Y = point2.Y;
                        point2.X = point1.X;
                        point2.Y = (100 * contador) + y;
                    }
                }
                if (point2.X <= hund_der)
                {
                    hund_der = point2.X - 100;
                }

                contador = contador + 1;
                lado_derecho.Add(point1);
                lado_derecho.Add(point2);
            }

            iniciox = lado_derecho[lado_derecho.Count - 1].X;
            cierrex = iniciox;

            contador = distancia_des_ancho;

            //lado izquierdo

            while (contador <= alto)
            {
                if (conteo == 0)
                {
                    conteo              = 1;
                    random_profundidad  = random.Next(1, distancia_des_alto);
                    desplazar_al_centro = random.Next(0, info.posibilidad.Value);
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                else
                {
                    conteo = conteo + 1;
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                //-------------------------------------------
                if (contador == distancia_des_ancho)
                {
                    point1.X = x;
                    point1.Y = inicioy;
                    point2.X = point1.X;
                    point2.Y = (100 * contador) + y;
                }
                else
                {
                    if (desplazar_al_centro != 0)
                    {
                        point1.X = x;
                        point1.Y = point2.Y;
                        point2.X = point1.X;
                        point2.Y = (100 * contador) + y;
                    }
                    else
                    {
                        point1.X = x + (random_profundidad * 100);
                        point1.Y = point2.Y;
                        point2.X = point1.X;
                        point2.Y = (100 * contador) + y;
                    }
                }
                if (point2.X >= hund_izq)
                {
                    hund_izq = point2.X + 100;
                }

                contador = contador + 1;
                lado_izquierdo.Add(point1);
                lado_izquierdo.Add(point2);
            }

            iniciox = lado_izquierdo[lado_izquierdo.Count - 1].X;
            ultimay = lado_izquierdo[lado_izquierdo.Count - 1].Y;

            contador = distancia_des_alto;
            conteo   = 0;

            //Ancho inferior

            while (contador <= ancho + 1)
            {
                int punto_inicial_y = (100 * alto) + y;
                //Esta parte fue agragada para la distancia
                if (conteo == 0)
                {
                    conteo              = 1;
                    random_profundidad  = random.Next(1, distancia_des_ancho);
                    desplazar_al_centro = random.Next(0, info.posibilidad.Value);
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                else
                {
                    conteo = conteo + 1;
                    if (conteo == info.distancia.Value)
                    {
                        conteo = 0;
                    }
                }
                //-------------------------------------------
                if (point2.X >= hund_der - 100)
                {
                    point1.X = point2.X;
                    point1.Y = punto_inicial_y;
                    point2.X = cierrex;
                    point2.Y = point1.Y;
                    lado_abajo.Add(point1);
                    lado_abajo.Add(point2);
                    break;
                }
                if (contador == distancia_des_alto)
                {
                    point1.X = iniciox;
                    point1.Y = punto_inicial_y;
                    point2.X = hund_izq;
                    point2.Y = point1.Y;
                }
                else
                {
                    if (desplazar_al_centro != 0)
                    {
                        point1.X = point2.X;
                        point1.Y = punto_inicial_y;
                        point2.X = (100 * contador) + x;
                        point2.Y = point1.Y;
                    }
                    else
                    {
                        point1.X = point2.X;
                        point1.Y = punto_inicial_y - (random_profundidad * 100);
                        point2.X = (100 * contador) + x;
                        point2.Y = point1.Y;
                    }
                }
                contador = contador + 1;
                lado_abajo.Add(point1);
                lado_abajo.Add(point2);
            }

            // Tipo de deformacion 2
            if (modo == 2)
            {
                //deformacion b, tiene un problema de estetica: en ocasiones los vertices de las esquinas desaparecen, en las siguientes lineas lo soluciono
                deformar_lados(lado_arriba);
                deformar_lados(lado_abajo);
                deformar_lados(lado_derecho);
                deformar_lados(lado_izquierdo);
            }

            List <Point> irregular = new List <Point>();

            for (int c = 0; c < lado_arriba.Count; c++)
            {
                irregular.Add(lado_arriba[c]);
            }
            for (int c = 0; c < lado_derecho.Count; c++)
            {
                irregular.Add(lado_derecho[c]);
            }
            for (int c = lado_abajo.Count - 1; c >= 0; c--)
            {
                irregular.Add(lado_abajo[c]);
            }
            for (int c = lado_izquierdo.Count - 1; c >= 0; c--)
            {
                irregular.Add(lado_izquierdo[c]);
            }

            //Limpio de la lista los elementos duplicados
            irregular = irregular.Distinct().ToList();

            //Se rotan los puntos
            irregular = Herramienta.rotar_puntos_figuras(irregular, info.grados, info.punto_medio);

            //Guardo los puntos en el objeto
            info.contorno = irregular;
            info.g.FillPolygon(Brocha, irregular.ToArray());
            info.g.DrawPolygon(contorno, irregular.ToArray());

            pintura.Refresh();
        }
Exemplo n.º 17
0
        //Sistema de dibujo
        //Objetivo: Dibujar los planos en todos los lienzos.

        private void dibujar()
        {
            //Cronometro de progress bar
            Stopwatch cropro = new Stopwatch();

            cropro.Start();



            Random azar = new Random();
            //Variable para busqueda de origen
            int x_ori = Convert.ToInt32(ui_min_ancho_casa.Value) * 100, y_ori = Convert.ToInt32(ui_min_alto_casa.Value) * 100;

            List <Info_forma>        lista_casas = new List <Info_forma>();
            List <Composicion_calle> lista_comp_calles = new List <Composicion_calle>();
            List <Point>             lista_puntos_calles = new List <Point>();

            //Subsitema #1: calculo de area ciudad

            //Calculo del margen del area de dibujo, para que las formas no sobresalgan
            int margen_ancho = Convert.ToInt32(ui_max_ancho_casa.Value) * 100;
            int margen_alto  = Convert.ToInt32(ui_max_alto_casa.Value) * 100;

            //-------

            int ancho_lienzo = 0, alto_lienzo = 0, area = 0;

            List <int> anchos = new List <int>();
            List <int> altos  = new List <int>();

            for (int i = 0; i < ui_cantidad_casas.Value; i++)
            {
                anchos.Add(azar.Next(Convert.ToInt32(ui_min_ancho_casa.Value), Convert.ToInt32(ui_max_ancho_casa.Value) + 1));
                altos.Add(azar.Next(Convert.ToInt32(ui_min_alto_casa.Value), Convert.ToInt32(ui_max_alto_casa.Value) + 1));
            }
            for (int x = 0; x < ui_cantidad_casas.Value; x++)
            {
                int precalculo = (anchos[x] * altos[x]) * 100;
                area = area + precalculo;
            }

            ancho_lienzo = alto_lienzo = (int)Math.Sqrt(area) * 10;

            float por_ancho = (float)(ancho_lienzo * (Convert.ToInt32(ui_porcentaje_sin_casas.Value) * 0.01));

            ancho_lienzo = (int)(ancho_lienzo + por_ancho);
            ancho_lienzo = ancho_lienzo + margen_ancho;

            float por_alto = (float)(alto_lienzo * (Convert.ToInt32(ui_porcentaje_sin_casas.Value) * 0.01));

            alto_lienzo = (int)(alto_lienzo + por_alto);
            alto_lienzo = alto_lienzo + margen_alto;

            //Mostrar area de ciudad

            ui_label_m2.Text = Convert.ToString((ancho_lienzo / 100 * alto_lienzo / 100));

            //Llamada a la función que crea los lienzos

            crear_pages_area_casas(ancho_lienzo, alto_lienzo);

            //Pintado en el fondo del picture box

            PictureBox primer_nivel = (PictureBox)TabControl.TabPages[0].Controls.Find("Planta 0", true)[0];
            Graphics   fondo        = Graphics.FromImage(primer_nivel.Image);
            Brush      brocha_fondo = new SolidBrush(Color.DarkGreen);

            fondo.FillRectangle(brocha_fondo, new Rectangle(new Point(0, 0), new Size(ancho_lienzo, alto_lienzo)));


            //Subsistema # 2 creación de calles

            if (ui_calle_cuadricula.Checked == true)
            {
                //Se dibujan las veredas (Calle base)
                int dist_entre_cll = Convert.ToInt32(ui_espacio_calles.Value) * 100;

                for (int y = dist_entre_cll; y < alto_lienzo; y += dist_entre_cll)
                {
                    int ancho_calle  = azar.Next(Convert.ToInt32(ui_min_ancho_calle.Value), Convert.ToInt32(ui_max_ancho_calle.Value));
                    int ancho_vereda = azar.Next(Convert.ToInt32(ui_min_ancho_ver.Value), Convert.ToInt32(ui_max_ancho_ver.Value));
                    lista_comp_calles.Add(new Composicion_calle(new Pen(Color.White, (ancho_calle + ancho_vereda) * 100), new Pen(Color.FromArgb(88, 88, 88), ancho_calle * 100), new Point(0, y), new Point(ancho_lienzo, y)));
                }
                for (int x = dist_entre_cll; x < ancho_lienzo; x += dist_entre_cll)
                {
                    int ancho_calle  = azar.Next(Convert.ToInt32(ui_min_ancho_calle.Value), Convert.ToInt32(ui_max_ancho_calle.Value));
                    int ancho_vereda = azar.Next(Convert.ToInt32(ui_min_ancho_ver.Value), Convert.ToInt32(ui_max_ancho_ver.Value));
                    lista_comp_calles.Add(new Composicion_calle(new Pen(Color.White, (ancho_calle + ancho_vereda) * 100), new Pen(Color.FromArgb(88, 88, 88), ancho_calle * 100), new Point(x, 0), new Point(x, alto_lienzo)));
                }
                for (int i = 0; i < lista_comp_calles.Count; i++)
                {
                    fondo.DrawLine(lista_comp_calles[i].calle_base, lista_comp_calles[i].inicio, lista_comp_calles[i].fin);
                    primer_nivel.Refresh();
                }

                //Subsistema # 2.1 Deteccion de pixeles blancos "Pixeles de linea base"
                lista_puntos_calles = Herramienta.obtener_coor_pixel_blancos((Bitmap)primer_nivel.Image);

                //Se dibujan las calles
                for (int i = 0; i < lista_comp_calles.Count; i++)
                {
                    fondo.DrawLine(lista_comp_calles[i].calle, lista_comp_calles[i].inicio, lista_comp_calles[i].fin);
                    primer_nivel.Refresh();
                }
            }
            else if (ui_calle_incompleta.Checked == true)
            {
                //Se dibujan las veredas (Calle base)
                int dist_entre_cll = Convert.ToInt32(ui_espacio_calles.Value) * 100;
                int longitud_x     = ancho_lienzo / dist_entre_cll;
                int longitud_y     = alto_lienzo / dist_entre_cll;
                //Pen dash_street = new Pen(Color.Yellow,20);
                //dash_street.DashStyle = DashStyle.Dash;

                for (int y = dist_entre_cll; y < alto_lienzo; y += dist_entre_cll)
                {
                    int ancho_calle  = azar.Next(Convert.ToInt32(ui_min_ancho_calle.Value), Convert.ToInt32(ui_max_ancho_calle.Value));
                    int ancho_vereda = azar.Next(Convert.ToInt32(ui_min_ancho_ver.Value), Convert.ToInt32(ui_max_ancho_ver.Value));
                    lista_comp_calles.Add(new Composicion_calle(new Pen(Color.White, (ancho_calle + ancho_vereda) * 100), new Pen(Color.FromArgb(88, 88, 88), ancho_calle * 100), new Point(azar.Next(0, longitud_x - 1) * dist_entre_cll, y), new Point(azar.Next(3, longitud_x + 2) * dist_entre_cll, y)));
                }
                for (int x = dist_entre_cll; x < ancho_lienzo; x += dist_entre_cll)
                {
                    int ancho_calle  = azar.Next(Convert.ToInt32(ui_min_ancho_calle.Value), Convert.ToInt32(ui_max_ancho_calle.Value));
                    int ancho_vereda = azar.Next(Convert.ToInt32(ui_min_ancho_ver.Value), Convert.ToInt32(ui_max_ancho_ver.Value));
                    lista_comp_calles.Add(new Composicion_calle(new Pen(Color.White, (ancho_calle + ancho_vereda) * 100), new Pen(Color.FromArgb(88, 88, 88), ancho_calle * 100), new Point(x, azar.Next(0, longitud_y - 1)), new Point(x, azar.Next(3, longitud_y + 2) * dist_entre_cll)));
                }
                for (int i = 0; i < lista_comp_calles.Count; i++)
                {
                    fondo.DrawLine(lista_comp_calles[i].calle_base, lista_comp_calles[i].inicio, lista_comp_calles[i].fin);
                    primer_nivel.Refresh();
                }

                //Subsistema # 2.1 Deteccion de pixeles blancos "Pixeles de linea base"
                lista_puntos_calles = Herramienta.obtener_coor_pixel_blancos((Bitmap)primer_nivel.Image);

                //Se dibujan las calles
                for (int i = 0; i < lista_comp_calles.Count; i++)
                {
                    fondo.DrawLine(lista_comp_calles[i].calle, lista_comp_calles[i].inicio, lista_comp_calles[i].fin);
                    //fondo.DrawLine(dash_street, lista_comp_calles[i].inicio, lista_comp_calles[i].fin);
                    primer_nivel.Refresh();
                }
            }
            else if (ui_calle_curvilineal.Checked == true)
            {
            }
            else if (ui_calle_callejones.Checked == true)
            {
            }



            //MessageBox.Show(Convert.ToString(lista_puntos_calles.Count));


            //Subsistema # 3 de recoleccion de datos: casas

            Stopwatch cronometro = new Stopwatch();

            cronometro.Start();



            for (int ubicacion_datos = 0; ubicacion_datos < ui_cantidad_casas.Value; ubicacion_datos++)
            {
                //Actualización del progress bar #1

                barra.Value = (int)cropro.Elapsed.TotalSeconds;



                if (cronometro.ElapsedMilliseconds >= Convert.ToInt32(ui_tiempo_espera.Value) * 1000)
                {
                    MessageBox.Show("Superó el tiempo limite ", "Operación cancelada", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }


                //Guardo en una variable el valor para los grados
                int grados = 0;
                if (ui_checkbox_girar.Checked)
                {
                    grados = azar.Next(0, 361);
                }
                else
                {
                    int seleccionar = azar.Next(0, 4);
                    switch (seleccionar)
                    {
                    case 0: grados = 90;
                        break;

                    case 1: grados = 180;
                        break;

                    case 2: grados = 270;
                        break;

                    case 3: grados = 360;
                        break;
                    }
                }

                List <String> nombres_de_formas = new List <string>();
                nombres_de_formas.Add("ui_forma_casa_rectangular");
                //nombres_de_formas.Add("ui_forma_casa_hexagonal");
                nombres_de_formas.Add("ui_forma_casa_deformada");
                nombres_de_formas.Add("ui_forma_casa_deformada_chaflan");

                String vano_ventana_seleccionado = ui_group_box_vanos_ventanas.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked).Name;

                //En caso de que una de las casas no encaje y pasaron mas de 10 segundos cambiara su tamaño

                if (cronometro.ElapsedMilliseconds > Convert.ToInt32(ui_tiempo_espera.Value) * 1000 - (Convert.ToInt32(ui_tiempo_espera.Value) * 1000 * 0.1)) //Espera el 90% del tiempo de respuesta
                {
                    anchos[ubicacion_datos] = azar.Next(Convert.ToInt32(ui_min_ancho_casa.Value), Convert.ToInt32(ui_max_ancho_casa.Value) + 1);
                    altos[ubicacion_datos]  = azar.Next(Convert.ToInt32(ui_min_alto_casa.Value), Convert.ToInt32(ui_max_alto_casa.Value) + 1);
                }

                //Subsistema 3.1 seleccion de punto origen segun la distribución

                Point origen = new Point();

                String distribucion_seleccionado = ui_group_box_distribucion.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked).Name;

                switch (distribucion_seleccionado)
                {
                case "ui_distribucion_aleatoria":
                    origen = Herramienta.seleccionar_punto_cuadricula(ancho_lienzo - margen_ancho, alto_lienzo - margen_alto, 100, Convert.ToInt32(ui_min_ancho_casa.Value) * 100, Convert.ToInt32(ui_min_alto_casa.Value) * 100);
                    //100 es el multiplo
                    break;

                case "ui_distribucion_columnas":
                    if (y_ori >= (alto_lienzo - Convert.ToInt32(ui_max_alto_casa.Value) * 100) - 400)
                    {
                        x_ori = x_ori + 100;
                        y_ori = Convert.ToInt32(ui_min_alto_casa.Value) * 100;
                    }
                    origen = new Point(x_ori, y_ori);
                    y_ori  = y_ori + 100;
                    break;

                case "ui_distribucion_filas":
                    if (x_ori >= (ancho_lienzo - Convert.ToInt32(ui_max_ancho_casa.Value) * 100) - 400)
                    {
                        x_ori = Convert.ToInt32(ui_min_ancho_casa.Value) * 100;
                        y_ori = y_ori + 100;
                    }
                    origen = new Point(x_ori, y_ori);
                    x_ori  = x_ori + 100;
                    break;
                }

                //Aqui empieza la recollecion de la informacion para las casas

                Info_forma nueva_casa = new Info_forma
                                        (
                    ancho_lienzo,
                    alto_lienzo,
                    anchos[ubicacion_datos],
                    altos[ubicacion_datos],
                    azar.Next(Convert.ToInt32(ui_min_grosor_pared.Value), Convert.ToInt32(ui_max_grosor_pared.Value)),
                    origen, //origen de la forma (casa)
                    new Point(),
                    azar.Next(Convert.ToInt32(ui_pilar_cubico_med_min.Value), Convert.ToInt32(ui_pilar_cubico_med_max.Value)),
                    azar.Next(Convert.ToInt32(ui_pilar_round_med_min.Value), Convert.ToInt32(ui_pilar_round_med_max.Value)),
                    azar.Next(1, Convert.ToInt32(ui_cantidad_pisos.Value) + 1),
                    grados,
                    azar.Next(10, 20), // Este numero se multiplica por el valor de la columna Ej 3 espacio = 90 (30CM)
                    azar.Next(1, 5),
                    ui_checkbox_girar.Checked,
                    Posibilidad,
                    Distancia,
                    ui_pegar_casas.Checked,
                    vano_ventana_seleccionado,
                    nombres_de_formas[azar.Next(0, nombres_de_formas.Count)],
                    azar.Next(Convert.ToInt32(ui_pilar_prox_min.Value), Convert.ToInt32(ui_pilar_prox_max.Value)),
                    azar.Next(Convert.ToInt32(ui_vano_puerta_cant_min.Value), Convert.ToInt32(ui_vano_puerta_cant_max.Value))
                                        );

                nueva_casa.resp_alto_forma  = nueva_casa.alto_forma;
                nueva_casa.resp_ancho_forma = nueva_casa.ancho_forma;


                //Subsistema 3.2 #Filtros

                bool interruptor = false;

                //Verificar si existe interseccion entre casas
                //Esta verificación me deja una gran leccion 29/11/20 :)

                for (int x = 0; x < lista_casas.Count; x++)
                {
                    Parallel.For(0, nueva_casa.area_puntos.Count - 1, (i, state) =>
                    {
                        if (lista_casas[x].area_puntos.Contains(nueva_casa.area_puntos[i]))
                        {
                            //Existe interseccion
                            interruptor = true;
                            state.Break();
                        }
                    });
                }


                //Verifica si existe interseccion entre casas y calles

                if (nueva_casa != null)
                {
                    Parallel.For(0, nueva_casa.area_puntos.Count - 1, (i, state) =>
                    {
                        if (lista_puntos_calles.Contains(nueva_casa.area_puntos[i]))
                        {
                            //Existe interseccion
                            interruptor = true;
                            state.Break();
                        }
                    });
                }

                if (interruptor)
                {
                    ubicacion_datos--;
                    continue;
                }
                else
                {
                    // Si no se encontraron intersecciones agrega la info de forma
                    //nueva_casa.area_post();
                    lista_casas.Add(nueva_casa);

                    if (ui_objetos_elevador.Checked == true)
                    {
                        //Valida que el elevador este dentro del espacio de la forma
                        bool encontrado = false;
                        do
                        {
                            nueva_casa.origen_elevador  = Herramienta.seleccionar_punto_cuadricula(nueva_casa.po.X + nueva_casa.ancho_forma * 100, nueva_casa.po.Y + nueva_casa.alto_forma * 100, 100, nueva_casa.po.X, nueva_casa.po.Y);
                            nueva_casa.espacio_elevador = new Rectangle(nueva_casa.origen_elevador.X, nueva_casa.origen_elevador.Y, 2 * 100, 2 * 100);
                            Rectangle resultado = Rectangle.Intersect(nueva_casa.espacio_elevador, nueva_casa.espacio_forma);
                            if (resultado == nueva_casa.espacio_elevador)
                            {
                                encontrado = true;
                            }
                        } while (encontrado == false);
                    }
                }
            }

            //Subsistema #4 superposiciones
            //Encuentro el nombre del radiobutton de la forma que ha escogido el usuario

            String forma_seleccionada = ui_groupbox_forma_casas.Controls.OfType <RadioButton>().FirstOrDefault(r => r.Checked).Name;

            //Pintar lienzos con los datos almacenados, dependiedo de la superposicion

            if (ui_superposicion_esc_cons.Checked == true)
            {
                for (int i = 0; i < ui_cantidad_pisos.Value; i++)
                {
                    for (int recorrer = 0; recorrer < ui_cantidad_casas.Value; recorrer++)
                    {
                        string nombre_page = "Planta " + i;
                        Formas.forma(forma_seleccionada, lista_casas[recorrer], (PictureBox)TabControl.TabPages[i].Controls.Find(nombre_page, true)[0]);

                        //Primero se guardan los nombre de los checkbox activo es una lista

                        List <String> nombres_checkbox = new List <string>();
                        foreach (CheckBox c in ui_groupbox_objetos.Controls.OfType <CheckBox>())
                        {
                            if (c.Checked == true)
                            {
                                nombres_checkbox.Add(c.Name);
                            }
                        }

                        //Después de pintar las casas, se pintan los objetos
                        Objetos.objeto(nombres_checkbox, lista_casas[recorrer], (PictureBox)TabControl.TabPages[i].Controls.Find(nombre_page, true)[0]);

                        //Esta variable es modificada una vez que PB se haya dibujado
                        lista_casas[recorrer].ubicacion_pb = false;

                        //Actualización del progress bar #1

                        barra.Value = (int)cropro.Elapsed.TotalSeconds;
                    }
                }
            }
            else if (ui_superposicion_esc_cons_var.Checked == true)
            {
                for (int i = 0; i < ui_cantidad_pisos.Value; i++)
                {
                    for (int recorrer = 0; recorrer < ui_cantidad_casas.Value; recorrer++)
                    {
                        if (lista_casas[recorrer].pisos_reales > 0)
                        {
                            string nombre_page = "Planta " + i;
                            Formas.forma(forma_seleccionada, lista_casas[recorrer], (PictureBox)TabControl.TabPages[i].Controls.Find(nombre_page, true)[0]);

                            //Primero se guardan los nombre de los checkbox activo es una lista

                            List <String> nombres_checkbox = new List <string>();
                            foreach (CheckBox c in ui_groupbox_objetos.Controls.OfType <CheckBox>())
                            {
                                if (c.Checked == true)
                                {
                                    nombres_checkbox.Add(c.Name);
                                }
                            }

                            //Después de pintar las casas, se pintan los objetos
                            Objetos.objeto(nombres_checkbox, lista_casas[recorrer], (PictureBox)TabControl.TabPages[i].Controls.Find(nombre_page, true)[0]);

                            //Esta variable es modificada una vez que PB se haya dibujado
                            lista_casas[recorrer].ubicacion_pb = false;
                        }
                        lista_casas[recorrer].pisos_reales = lista_casas[recorrer].pisos_reales - 1;

                        //Actualización del progress bar #1

                        barra.Value = (int)cropro.Elapsed.TotalSeconds;
                    }
                }
            }
            else if (ui_superposicion_piramidal.Checked == true)
            {
                for (int i = 0; i < ui_cantidad_pisos.Value; i++)
                {
                    for (int recorrer = 0; recorrer < ui_cantidad_casas.Value; recorrer++)
                    {
                        if (i > 0)
                        {
                            int valor_reduccion = 0;
                            if (ui_superposicion_rad_valor_fijo.Checked == true)
                            {
                                valor_reduccion = Convert.ToInt32(ui_superposicion_valor_fijo.Value);
                            }
                            else if (ui_superposicion_rad_valor_por_rango.Checked == true)
                            {
                                int limite = Math.Min(lista_casas[recorrer].alto_forma, lista_casas[recorrer].ancho_forma);
                                //Esto es para manejar la excepcion probar un break
                                if (limite < 0)
                                {
                                    limite = 0;
                                }

                                int modo = 0;
                                valor_reduccion = azar.Next(modo, limite + 1);
                            }
                            lista_casas[recorrer].nuevo_origen = new Point(lista_casas[recorrer].po.X + ((valor_reduccion * 100) / 2), lista_casas[recorrer].po.Y + ((valor_reduccion * 100) / 2));
                            lista_casas[recorrer].po           = lista_casas[recorrer].nuevo_origen;
                            lista_casas[recorrer].ancho_forma  = lista_casas[recorrer].ancho_forma - valor_reduccion;
                            lista_casas[recorrer].alto_forma   = lista_casas[recorrer].alto_forma - valor_reduccion;
                        }

                        if (lista_casas[recorrer].ancho_forma > 2 && lista_casas[recorrer].alto_forma > 2)
                        {
                            string nombre_page = "Planta " + i;
                            Formas.forma(forma_seleccionada, lista_casas[recorrer], (PictureBox)TabControl.TabPages[i].Controls.Find(nombre_page, true)[0]);

                            //Después de pintar las casas, se pintan los objetos

                            //Primero se guardan los nombre de los checkbox activo es una lista

                            List <String> nombres_checkbox = new List <string>();
                            foreach (CheckBox c in ui_groupbox_objetos.Controls.OfType <CheckBox>())
                            {
                                if (c.Checked == true)
                                {
                                    nombres_checkbox.Add(c.Name);
                                }
                            }

                            Objetos.objeto(nombres_checkbox, lista_casas[recorrer], (PictureBox)TabControl.TabPages[i].Controls.Find(nombre_page, true)[0]);

                            //Esta variable es modificada una vez que PB se haya dibujado
                            lista_casas[recorrer].ubicacion_pb = false;
                        }


                        //Actualización del progress bar #1

                        barra.Value = (int)cropro.Elapsed.TotalSeconds;
                    }
                }
            }
            MessageBox.Show("Completado exitosamente", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
            barra.Value = 0;
        }
Exemplo n.º 18
0
        public ActionResult popUpHerramienta(int?id, string accion)
        {
            string res;

            using (ApplicationDbContext DbModel = new ApplicationDbContext())
            {
                if (accion == "1")
                {
                    ViewBag.Proveedores = DbModel.Proveedores.Include("Persona").ToList();
                    var Herramienta = new Herramienta();
                    ViewBag.Title  = "Nuevo";
                    ViewBag.Accion = "1";
                    ViewBag.img    = false;
                    return(View(Herramienta));
                }
                else if (accion == "2")
                {
                    ViewBag.Proveedores = DbModel.Proveedores.Include("Persona").ToList();
                    var herramienta = DbModel.Herramientas.Find(id);
                    ViewBag.Title  = "Editar";
                    ViewBag.Accion = "2";
                    ViewBag.img    = true;
                    return(View(herramienta));
                }
                else if (accion == "3")
                {
                    var herramienta = DbModel.Herramientas.Find(id);
                    ViewBag.Title  = "Eliminar";
                    ViewBag.Accion = "3";
                    ViewBag.img    = true;
                    return(View(herramienta));
                }
                else if (accion == "4" && id != null)
                {
                    var herramienta = DbModel.Herramientas.Find(id);
                    var usuario     = DbModel.Usuarios.Where(x => x.User == User.Identity.Name).FirstOrDefault();
                    var empleado    = DbModel.Empleados.Where(x => x.Usuarioss.idUsuario == usuario.idUsuario).FirstOrDefault();
                    var persona     = DbModel.Personas.Where(x => x.idPersona == empleado.Personass.idPersona).FirstOrDefault();

                    var Detalle = DbModel.DetalleHerramientas.Where(x => x.Herramienta.Id == herramienta.Id).ToList();

                    res = null;
                    bool Usando = false;

                    foreach (var item in Detalle)
                    {
                        if (item.Empleado == persona.Nombre)
                        {
                            res    = "El usuario actual ya tiene en uso esta herramienta";
                            Usando = true;
                            break;
                        }
                    }
                    if (!Usando)
                    {
                        res             = ServicioHerramienta(herramienta.Id, "4");
                        Session["tipo"] = "Exito";
                    }


                    Session["res"] = res;

                    return(RedirectToAction("ListaHerramienta"));
                }
                else if (accion == "5")
                {
                    var herramienta = DbModel.Herramientas.Find(id);

                    var usuario  = DbModel.Usuarios.Where(x => x.User == User.Identity.Name).FirstOrDefault();
                    var empleado = DbModel.Empleados.Where(x => x.Usuarioss.idUsuario == usuario.idUsuario).FirstOrDefault();
                    var persona  = DbModel.Personas.Where(x => x.idPersona == empleado.Personass.idPersona).FirstOrDefault();

                    var Detalle = DbModel.DetalleHerramientas.Where(x => x.Herramienta.Id == herramienta.Id).ToList();

                    res = null;

                    foreach (var item in Detalle)
                    {
                        if (item.Empleado == persona.Nombre)
                        {
                            res             = ServicioHerramienta(herramienta.Id, "5");
                            Session["tipo"] = "Exito";
                            Session["res"]  = res;
                            return(RedirectToAction("ListaHerramienta"));
                        }
                    }
                    Session["res"] = "El usuario actual no tiene esta herramienta en uso";
                    return(RedirectToAction("ListaHerramienta"));
                }
                return(RedirectToAction("ListaHerramienta"));
            }
        }
Exemplo n.º 19
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (dgvCategoria.RowCount > 0)
            {
                categoria   = dgvCategoria.CurrentRow.Cells["CATEGORÍA"].Value.ToString();
                idCategoria = dgvCategoria.CurrentRow.Cells["CÓDIGO CATEGORÍA"].Value.ToString();
                string usoS = null;
                string usoN = null;

                Herramienta LH = new Herramienta();

                dgvHerramientaUS.DataSource = LH.ListarHerramientaCUS(categoria);

                dgvHerramientaUN.DataSource = LH.ListarHerramientaCUN(categoria);

                if (dgvHerramientaUS.RowCount > 0)
                {
                    usoS = "SI";
                }
                else
                {
                    usoS = "";
                }

                if (dgvHerramientaUN.RowCount > 0)
                {
                    usoN = "NO";
                }
                else
                {
                    usoN = "";
                }



                if (usoS == "SI")
                {
                    MessageBox.Show("No puede eliminar la categoría '" + categoria + "', porque hay herramientas en uso que pertenecen a esa categoría, desocupen las herramientas que pertenecen a '" + categoria + "' para poder eliminarla", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

                if (usoN == "NO" && usoS == "")
                {
                    if (MessageBox.Show("Todas las herramientas que pertenecen a la categoría '" + categoria + "' serán eliminadas.\n¿Está seguro que desea eliminarla?", "Validación", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        C.EliminarCategoria(idCategoria);
                        Botones();
                        ListarCategorias();
                        MessageBox.Show("Registro eliminado correctamente", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LimpiarControles();
                    }
                }

                if (usoS == "" && usoN == "")
                {
                    if (MessageBox.Show("¿Está seguro que desea eliminar la categoría '" + categoria + "'?", "Validación", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        C.EliminarCategoria(idCategoria);
                        Botones();
                        ListarCategorias();
                        MessageBox.Show("Registro eliminado correctamente", "Validación", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LimpiarControles();
                    }
                }
            }
        }
Exemplo n.º 20
0
 private void Vista_OnSeleccionarManoAlzada(object sender, System.EventArgs e)
 {
     this.HerramientaActual = new ManoAlzada();
 }
Exemplo n.º 21
0
 //Constructor que recibe una herramienta de la cual se tomarán los valores para sus atributos.
 public FormCinta(Herramienta herramienta)
 {
     InitializeComponent();
     this.cintaForm = new CintaMetrica(herramienta.Distribuidor, herramienta.Precio, herramienta.PaisOrigen);
 }
Exemplo n.º 22
0
 private void Vista_OnSeleccionarRectangulo(object sender, System.EventArgs e)
 {
     this.HerramientaActual = new Rectangulo();
 }
 //Constructor que recibe una herramineta de la cual se obtendran sus atribtos para crear la escalera.
 public FormEscalera(Herramienta herramienta)
 {
     InitializeComponent();
     this.escalera = new Escalera(herramienta.Distribuidor, herramienta.Precio, herramienta.PaisOrigen);
 }
Exemplo n.º 24
0
        public async Task <ActionResult> popUpHerramientas(Herramienta herramientas, string accion, HttpPostedFileBase postedFile, int?id)
        {
            string resultado;

            using (var DbModel = new ApplicationDbContext())
            {
                if (id != null)
                {
                    if (id != 0)
                    {
                        var tool = DbModel.Herramientas.Find(id);
                        herramientas.Id = tool.Id;
                    }
                }
                if (herramientas.Id > 0 && accion == "2")
                {
                    // Edición
                    var herramienta = DbModel.Herramientas.Find(herramientas.Id);

                    if (postedFile != null)
                    {
                        string dir = Server.MapPath("~/Content/assets/img/Herramientas");
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }

                        var    originalFile = Path.GetFileName(postedFile.FileName);
                        string fileId       = Guid.NewGuid().ToString().Replace("-", "");
                        var    path         = Path.Combine(dir, fileId);
                        postedFile.SaveAs(path + postedFile.FileName);
                        herramientas.Imagen = fileId + postedFile.FileName;
                    }
                    else
                    {
                        herramientas.Imagen = herramienta.Imagen;
                    }

                    try
                    {
                        DbModel.Herramientas.AddOrUpdate(herramientas);
                        DbModel.SaveChanges();
                        resultado       = "Actualización realizada";
                        Session["res"]  = resultado;
                        Session["tipo"] = "Exito";
                        return(RedirectToAction("ListaHerramienta"));
                    }
                    catch (Exception ex)
                    {
                        resultado      = ex.Message;
                        Session["res"] = resultado;
                        return(RedirectToAction("ListaHerramienta"));
                    }
                }
                else if (herramientas.Id > 0 && accion == "3")
                {
                    // Eliminación
                    var herramienta = DbModel.Herramientas.Find(herramientas.Id);
                    var Detalle     = DbModel.DetalleHerramientas.Where(x => x.Herramienta.Id == herramienta.Id).Count();

                    if (herramienta != null && Detalle < 1)
                    {
                        try
                        {
                            DbModel.Herramientas.Remove(herramienta);
                            DbModel.SaveChanges();
                            resultado       = "Eliminación finalizada";
                            Session["res"]  = resultado;
                            Session["tipo"] = "Exito";
                            return(RedirectToAction("ListaHerramienta"));
                        }
                        catch (Exception ex)
                        {
                            resultado      = ex.Message;
                            Session["res"] = resultado;
                            return(RedirectToAction("ListaHerramienta"));
                        }
                    }
                    else
                    {
                        resultado      = "La herramienta no fue encontrada o está siendo usada por alguien. No se puede eliminar";
                        Session["res"] = resultado;
                        return(RedirectToAction("ListaHerramienta"));
                    }
                }
                else
                {
                    if (postedFile != null)
                    {
                        string dir = Server.MapPath("~/Content/assets/img/Herramienta");
                        if (!Directory.Exists(dir))
                        {
                            Directory.CreateDirectory(dir);
                        }

                        var    originalFile = Path.GetFileName(postedFile.FileName);
                        string fileId       = Guid.NewGuid().ToString().Replace("-", "");
                        var    path         = Path.Combine(dir, fileId);
                        postedFile.SaveAs(path + postedFile.FileName);
                        herramientas.Imagen = fileId + postedFile.FileName;
                    }
                    // Aquí código para crear
                    try
                    {
                        DbModel.Herramientas.Add(herramientas);
                        DbModel.SaveChanges();
                        resultado       = "Inserción realizada";
                        Session["res"]  = resultado;
                        Session["tipo"] = "Exito";
                        return(RedirectToAction("ListaHerramienta"));
                    }
                    catch (Exception ex)
                    {
                        resultado      = ex.Message;
                        Session["res"] = resultado;
                        return(RedirectToAction("ListaHerramienta"));
                    }
                }
            }
        }
Exemplo n.º 25
0
 public void area_post()
 {
     area_puntos.Clear();
     area_puntos.AddRange(Herramienta.rotar_area_puntos(Herramienta.obtener_puntos_internos(po, ancho_forma, alto_forma, 100), grados, punto_medio));
 }
Exemplo n.º 26
0
        public bool ValidarActualizacion()
        {
            bool     Resultado = false;
            DateTime FechaAux;
            string   Fecha1, Fecha2;

            Herramienta he = new Herramienta();
            int         Id = 0;

            Id = Convert.ToInt32(Session["UsuarioId"]);

            if (Id == 0 && Convert.ToInt32(Session["UsuarioCoId"]) > 0)
            {
                Id = Utilitario.ObtenerIdUsuarioAdm(Convert.ToInt32(Session["UsuarioCoId"]));
            }


            if (Id > 0)
            {
                btnCerrarSesion.Visible = true;
                UserName.InnerText      = Session["UserName"].ToString();
                UserName.Visible        = true;
            }
            else
            {
                btnCerrarSesion.Visible = false;
                UserName.InnerText      = "";
                UserName.Visible        = false;
            }

            try
            {
                //4 por el campo valor de la tabla herramienta
                if ((Utilitario.DatosHerramientas("Fecha", Id.ToString(), "4")) == "0")
                {
                    //SI EL USUARIO ES NUEVO QUE TIRE 0 PORQUE NO TIENE REGISTRO DE FECHA AUN
                }
                else
                {
                    FechaAux = Convert.ToDateTime(Utilitario.DatosHerramientas("Fecha", Id.ToString(), "4"));

                    Fecha1 = Utilitario.FormatoFecha(FechaAux.ToString());
                    Fecha2 = Utilitario.FormatoFecha(DateTime.Now.ToString());


                    if (Fecha2 != Fecha1)
                    {
                        //PONER DE ALGUNA MANERA QUE ESTA CONDICION SOLO ENTRE EL USUARIO ADMINISTRATIVO MEDIANTE OTRO LOGING SOLO PARA ADMINISTRATIVO O COMO SEA CUALQUIERA DE LOS DOS
                        he.UsuarioId = Id;
                        he.Fecha     = Utilitario.FormatoFecha(DateTime.Now.ToString());
                        he.ActualizarFecha();
                        Resultado = true;
                    }
                }
            }
            catch (Exception e)
            {
                throw e;
            }

            return(Resultado);
        }
Exemplo n.º 27
0
 //Recibe una herramineta creada en el FormHeeramineta.
 public FormMartillo(Herramienta herramienta)
 {
     InitializeComponent();
     this.martilloForm = new Martillo(herramienta.Distribuidor, herramienta.Precio, herramienta.PaisOrigen);
 }
Exemplo n.º 28
0
 public void MakeRefresh()
 {
     animator.SetTrigger("Make");
     miHerramienta = Herramienta.Semillas;
 }
Exemplo n.º 29
0
 private void Vista_OnSeleccionarBorrador(object sender, System.EventArgs e)
 {
     this.HerramientaActual = new Borrador();
 }
Exemplo n.º 30
0
 private void btnLapiz_Click(object sender, EventArgs e)
 {
     herramienta = Herramienta.Lapiz;
 }
Exemplo n.º 31
0
 private void Vista_OnSeleccionarCirculo(object sender, System.EventArgs e)
 {
     this.HerramientaActual = new Elipse();
 }
Exemplo n.º 32
0
 private void btnLinea_Click(object sender, EventArgs e)
 {
     herramienta = Herramienta.Linea;
 }
        public async Task <bool> ActualizarHerramienta(Herramienta herramienta, UsuarioDTO usuario)
        {
            try
            {
                var existeHerramienta = _context.Herramienta.Where(h => h.Nombre.ToLower() == herramienta.Nombre.ToLower());
                var validar           = existeHerramienta.Where(h => h.Guid != herramienta.Guid).Count();
                if (validar > 0)
                {
                    throw new ApplicationException("Ya existe una herramienta registrada con el mismo nombre.");
                }

                var herramientaBD = await _context.Herramienta.AsNoTracking()
                                    .Include(c => c.Materiales).ThenInclude(d => d.Material)
                                    .Include(c => c.TamanosHerramienta)
                                    .Include(c => c.TamanosMotor)
                                    .Include(c => c.HerramientaEstudioFactibilidad)
                                    .SingleOrDefaultAsync(c => c.Id == herramienta.Id);

                _context.Entry(herramientaBD).CurrentValues.SetValues(herramienta);


                #region Actualizar Materiales
                /*actualiza el estado los materiales de la base de datos*/
                foreach (var MaterialesDB in herramientaBD.Materiales)
                {
                    if (!herramienta.Materiales.Any(dNew => dNew.Id == MaterialesDB.Id && dNew.Estado.Equals(true)))
                    {
                        MaterialesDB.Estado        = false;
                        MaterialesDB.FechaModifica = DateTime.Now;
                        _context.HerramientaMaterial.Update(MaterialesDB);
                    }
                }

                /*Agrega Materiales*/
                foreach (var materiales in herramienta.Materiales)
                {
                    if (herramientaBD.Materiales.Where(m => m.MaterialId == materiales.MaterialId && m.Estado.Equals(false)).Any())
                    {
                        var actualizarMaterial = herramientaBD.Materiales.Where(m => m.MaterialId == materiales.MaterialId && m.Estado.Equals(false)).FirstOrDefault();
                        actualizarMaterial.FechaModifica = DateTime.Now;
                        actualizarMaterial.Estado        = true;
                        _context.HerramientaMaterial.Update(actualizarMaterial);
                    }
                    else if (!herramientaBD.Materiales.Any(ddb => ddb.Id == materiales.Id))
                    {
                        materiales.Herramienta   = null;
                        materiales.HerramientaId = herramientaBD.Id;
                        materiales.Guid          = Guid.NewGuid();
                        materiales.FechaRegistro = DateTime.Now;
                        materiales.Material      = null;
                        _context.HerramientaMaterial.Add(materiales);
                    }
                }

                #endregion

                if (herramienta.EsHerramientaMotor == false)
                {
                    //foreach (var tamanosHerrmienta in herramientaBD.TamanosHerramienta)
                    //{
                    //    tamanosHerrmienta.Estado = false;
                    //    tamanosHerrmienta.FechaModifica = DateTime.Now;
                    //    _context.HerramientaTamano.Update(tamanosHerrmienta);
                    //}
                    foreach (var tamanosMotor in herramientaBD.TamanosMotor)
                    {
                        tamanosMotor.Estado        = false;
                        tamanosMotor.FechaModifica = DateTime.Now;
                        _context.HerramientaTamanoMotor.Update(tamanosMotor);
                    }
                }
                else
                {
                    #region Actualizar TamanosMotor

                    /*Acualiza el estado a false los tamaños de motor de la base de datos*/
                    foreach (var tamanosMotor in herramientaBD.TamanosMotor)
                    {
                        if (!herramienta.TamanosMotor.Any(dNew => dNew.Id == tamanosMotor.Id))
                        {
                            tamanosMotor.Estado        = false;
                            tamanosMotor.FechaModifica = DateTime.Now;
                            _context.HerramientaTamanoMotor.Update(tamanosMotor);
                        }
                    }

                    /*Agrega tamaños de motor, si ya existe solo le cambia el estado a true y si no existe crea un nuevo tamaño de motor */
                    foreach (var tamanosMotorAdd in herramienta.TamanosMotor)
                    {
                        if (herramientaBD.TamanosMotor.Where(th => th.Tamano.ToLower() == tamanosMotorAdd.Tamano.ToLower() && th.Estado.Equals(false)).Any())
                        {
                            var actualizarTamanoMotor = herramientaBD.TamanosMotor.Where(th => th.Tamano.ToLower() == tamanosMotorAdd.Tamano.ToLower() && th.Estado.Equals(false)).FirstOrDefault();
                            actualizarTamanoMotor.FechaModifica = DateTime.Now;
                            actualizarTamanoMotor.Estado        = true;
                            _context.HerramientaTamanoMotor.Update(actualizarTamanoMotor);
                        }
                        else if (!herramientaBD.TamanosMotor.Any(ddb => ddb.Id == tamanosMotorAdd.Id))
                        {
                            tamanosMotorAdd.Herramienta   = null;
                            tamanosMotorAdd.HerramientaId = herramientaBD.Id;
                            tamanosMotorAdd.Guid          = Guid.NewGuid();
                            tamanosMotorAdd.FechaRegistro = DateTime.Now;
                            _context.HerramientaTamanoMotor.Add(tamanosMotorAdd);
                        }
                    }
                    #endregion
                }

                #region Actualizar TamanosHerramienta


                /*actaliza el estado los tamaños de herramienta de la base de datos*/
                foreach (var tamanosHerrmienta in herramientaBD.TamanosHerramienta)
                {
                    if (!herramienta.TamanosHerramienta.Any(dNew => dNew.Id == tamanosHerrmienta.Id))
                    {
                        tamanosHerrmienta.Estado        = false;
                        tamanosHerrmienta.FechaModifica = DateTime.Now;
                        _context.HerramientaTamano.Update(tamanosHerrmienta);
                    }
                }

                /*Agrega tamaños de herramienta*/
                foreach (var tamanosHerrmientaAdd in herramienta.TamanosHerramienta)
                {
                    if (herramientaBD.TamanosHerramienta.Where(th => th.Tamano.ToLower() == tamanosHerrmientaAdd.Tamano.ToLower() && th.Estado.Equals(false)).Any())
                    {
                        var actualizarTamanoHerramienta = herramientaBD.TamanosHerramienta.Where(th => th.Tamano.ToLower() == tamanosHerrmientaAdd.Tamano.ToLower() && th.Estado.Equals(false)).FirstOrDefault();
                        actualizarTamanoHerramienta.FechaModifica = DateTime.Now;
                        actualizarTamanoHerramienta.Estado        = true;
                        _context.HerramientaTamano.Update(actualizarTamanoHerramienta);
                    }
                    else if (!herramientaBD.TamanosHerramienta.Any(ddb => ddb.Id == tamanosHerrmientaAdd.Id))
                    {
                        tamanosHerrmientaAdd.Herramienta   = null;
                        tamanosHerrmientaAdd.HerramientaId = herramientaBD.Id;
                        tamanosHerrmientaAdd.Guid          = Guid.NewGuid();
                        tamanosHerrmientaAdd.FechaRegistro = DateTime.Now;
                        _context.HerramientaTamano.Add(tamanosHerrmientaAdd);
                    }
                }

                #endregion

                herramientaBD.HerramientaEstudioFactibilidad.Admin         = herramienta.HerramientaEstudioFactibilidad.Admin;
                herramientaBD.HerramientaEstudioFactibilidad.ManoObra      = herramienta.HerramientaEstudioFactibilidad.ManoObra;
                herramientaBD.HerramientaEstudioFactibilidad.Mantenimiento = herramienta.HerramientaEstudioFactibilidad.Mantenimiento;
                herramientaBD.HerramientaEstudioFactibilidad.Maquina       = herramienta.HerramientaEstudioFactibilidad.Maquina;
                herramientaBD.HerramientaEstudioFactibilidad.Material      = herramienta.HerramientaEstudioFactibilidad.Material;
                herramientaBD.HerramientaEstudioFactibilidad.Metodo        = herramienta.HerramientaEstudioFactibilidad.Metodo;
                herramientaBD.HerramientaEstudioFactibilidad.FechaModifica = DateTime.Now;;

                _context.HerramientaEstudioFactibilidad.Update(herramientaBD.HerramientaEstudioFactibilidad);
                herramientaBD.FechaModifica = DateTime.Now;
                _context.Entry(herramientaBD).Property("FechaRegistro").IsModified     = false;
                _context.Entry(herramientaBD).Property("NombreUsuarioCrea").IsModified = false;
                _context.Entry(herramientaBD).Property("GuidUsuarioCrea").IsModified   = false;

                _context.Entry(herramientaBD).State = EntityState.Modified;
                return(await _context.SaveChangesAsync() > 0);
            }
            catch (Exception e) { throw e; }
        }
Exemplo n.º 34
0
 private void btnCirculo_Click(object sender, EventArgs e)
 {
     herramienta = Herramienta.Circulo;
 }
Exemplo n.º 35
0
 public void SetHerramientaActual(Herramienta herramienta_)
 {
     herramientaActual = herramienta_;
 }
Exemplo n.º 36
0
 private void btnCuadrado_Click(object sender, EventArgs e)
 {
     herramienta = Herramienta.Cuadrado;
 }