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(); } }
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); }
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; } }
//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(); }
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); } }
// 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(); } }
// 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(); } }
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; } }
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; } }
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); }
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(); }
//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; }
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")); } }
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(); } } } }
private void Vista_OnSeleccionarManoAlzada(object sender, System.EventArgs e) { this.HerramientaActual = new ManoAlzada(); }
//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); }
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); }
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")); } } } }
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)); }
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); }
//Recibe una herramineta creada en el FormHeeramineta. public FormMartillo(Herramienta herramienta) { InitializeComponent(); this.martilloForm = new Martillo(herramienta.Distribuidor, herramienta.Precio, herramienta.PaisOrigen); }
public void MakeRefresh() { animator.SetTrigger("Make"); miHerramienta = Herramienta.Semillas; }
private void Vista_OnSeleccionarBorrador(object sender, System.EventArgs e) { this.HerramientaActual = new Borrador(); }
private void btnLapiz_Click(object sender, EventArgs e) { herramienta = Herramienta.Lapiz; }
private void Vista_OnSeleccionarCirculo(object sender, System.EventArgs e) { this.HerramientaActual = new Elipse(); }
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; } }
private void btnCirculo_Click(object sender, EventArgs e) { herramienta = Herramienta.Circulo; }
public void SetHerramientaActual(Herramienta herramienta_) { herramientaActual = herramienta_; }
private void btnCuadrado_Click(object sender, EventArgs e) { herramienta = Herramienta.Cuadrado; }