public ActionResult DeleteConfirmed(int id) { TipoCaso tipoCaso = db.TipoCasos.Find(id); db.TipoCasos.Remove(tipoCaso); db.SaveChanges(); return(RedirectToAction("Index")); }
private void InicializaComboTipos() { Classes.Views.AgergarElijaOpcion(this.ddlTipoCaso); List <TipoCaso> Tipos = TipoCaso.List(); foreach (TipoCaso t in Tipos) { this.ddlTipoCaso.Items.Add(new ListItem(t.Descripcion, t.Descripcion)); } }
public ActionResult Edit([Bind(Include = "IdTipoCaso,Descripcion")] TipoCaso tipoCaso) { if (ModelState.IsValid) { db.Entry(tipoCaso).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tipoCaso)); }
public ActionResult Create([Bind(Include = "IdTipoCaso,Descripcion")] TipoCaso tipoCaso) { if (ModelState.IsValid) { db.TipoCasos.Add(tipoCaso); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(tipoCaso)); }
// GET: TiposCasos/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TipoCaso tipoCaso = db.TipoCasos.Find(id); if (tipoCaso == null) { return(HttpNotFound()); } return(View(tipoCaso)); }
//Para cada caso, grafico punto sobre el plano y grafico respuesta en un panel. private void GraficarCaso(double xPlano, double yPlano, int xContenedor, int yContenedor, TipoCaso tipoCaso) { //Agrego punto a la lista de puntos del plano complejo. LineItem curvaPuntos = zgPlanoComplejo.GraphPane.CurveList[0] as LineItem; IPointListEdit listaPuntosPlanoComplejo = curvaPuntos.Points as IPointListEdit; PointPair puntoPlano = new PointPair(xPlano, yPlano); listaPuntosPlanoComplejo.Add(puntoPlano); this.zgPlanoComplejo.Invalidate(); //Defino panel, seteo sus propiedades, lo agrego al formulario y lo traigo al frente. PanelGraficaPunto panelGraficaPunto = new PanelGraficaPunto(); panelGraficaPunto.PuntoPlano = puntoPlano; panelGraficaPunto.Size = new Size(tamanioPanel, tamanioPanel); panelGraficaPunto.Location = new Point(xContenedor - tamanioPanel / 2, yContenedor - tamanioPanel - 10); panelGraficaPunto.BorderStyle = BorderStyle.FixedSingle; this.Controls.Add(panelGraficaPunto); panelGraficaPunto.BringToFront(); //Defino un ZedGraphControl, le agrego el evento Click, seteo sus propiedades y lo agrego al panel. ZedGraphControl zgGraficaPunto = new ZedGraphControl(); zgGraficaPunto.Click += new EventHandler(zgGraficaPunto_Click); zgGraficaPunto.Dock = DockStyle.Fill; zgGraficaPunto.IsEnableWheelZoom = false; zgGraficaPunto.IsEnableHZoom = false; zgGraficaPunto.IsEnableVZoom = false; zgGraficaPunto.GraphPane.Title.IsVisible = false; zgGraficaPunto.GraphPane.XAxis.Title.Text = ""; zgGraficaPunto.GraphPane.YAxis.Title.Text = ""; panelGraficaPunto.Controls.Add(zgGraficaPunto); //Creo lista de puntos para agregar puntos a la gráfica del panel según cada caso. PointPairList listaPuntosGraficaPunto = new PointPairList(); if (tipoCaso == TipoCaso.Caso1) { //Defino mínimo y máximo de la escala y el paso de la gráfica. zgGraficaPunto.GraphPane.XAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.XAxis.Scale.Max = 4; zgGraficaPunto.GraphPane.YAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.YAxis.Scale.Max = 1; zgGraficaPunto.GraphPane.XAxis.Scale.MinorStep = 0.4; zgGraficaPunto.GraphPane.XAxis.Scale.MajorStep = 0.4; zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = 0.1; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = 0.1; for (int i = 0; i < cantPuntosGraficaPunto; i++) { double t = (double)i * tamanioPaso; double y = yImpulso1Orden(xPlano, t); listaPuntosGraficaPunto.Add(t, y); } LineItem curvaRespuesta = zgGraficaPunto.GraphPane.AddCurve("", listaPuntosGraficaPunto, colorEstable, SymbolType.None); curvaRespuesta.Line.Width = grosorCurva; } else if (tipoCaso == TipoCaso.Caso2) { //Defino mínimo y máximo de la escala y el paso de la gráfica. zgGraficaPunto.GraphPane.XAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.XAxis.Scale.Max = 4; zgGraficaPunto.GraphPane.YAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.YAxis.Scale.Max = 100; zgGraficaPunto.GraphPane.XAxis.Scale.MinorStep = 0.4; zgGraficaPunto.GraphPane.XAxis.Scale.MajorStep = 0.4; zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = 10; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = 10; for (int i = 0; i < cantPuntosGraficaPunto; i++) { double t = (double)i * tamanioPaso; double y = yImpulso1Orden(xPlano, t); listaPuntosGraficaPunto.Add(t, y); } LineItem curvaRespuesta = zgGraficaPunto.GraphPane.AddCurve("", listaPuntosGraficaPunto, colorInestable, SymbolType.None); curvaRespuesta.Line.Width = grosorCurva; } else if (tipoCaso == TipoCaso.Caso6) { //Defino mínimo y máximo de la escala y el paso de la gráfica. zgGraficaPunto.GraphPane.XAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.XAxis.Scale.Max = 4; zgGraficaPunto.GraphPane.YAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.YAxis.Scale.Max = 2; zgGraficaPunto.GraphPane.XAxis.Scale.MinorStep = 0.4; zgGraficaPunto.GraphPane.XAxis.Scale.MajorStep = 0.4; zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = 0.2; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = 0.2; for (int i = 0; i < cantPuntosGraficaPunto; i++) { double t = (double)i * tamanioPaso; double y = yImpulso1Orden(xPlano, t); listaPuntosGraficaPunto.Add(t, y); } LineItem curvaRespuesta = zgGraficaPunto.GraphPane.AddCurve("", listaPuntosGraficaPunto, colorMarginalmenteEstable, SymbolType.None); curvaRespuesta.Line.Width = grosorCurva; } else if (tipoCaso == TipoCaso.Caso3) { //Defino mínimo y máximo de la escala y el paso de la gráfica. zgGraficaPunto.GraphPane.XAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.XAxis.Scale.Max = 4; zgGraficaPunto.GraphPane.YAxis.Scale.Min = -3; zgGraficaPunto.GraphPane.YAxis.Scale.Max = 5; zgGraficaPunto.GraphPane.XAxis.Scale.MinorStep = 0.4; zgGraficaPunto.GraphPane.XAxis.Scale.MajorStep = 0.4; zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = 0.8; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = 0.8; //Calculo omega (distancia del punto al origen de coordenadas) y psi. double omega = Math.Sqrt(xPlano * xPlano + yPlano * yPlano); double psi = Math.Abs(xPlano) / omega; for (int i = 0; i < cantPuntosGraficaPunto; i++) { double t = (double)i * tamanioPaso; double y = yImpulso2OrdenEstable(1 / omega, psi, t); listaPuntosGraficaPunto.Add(t, y); } LineItem curvaRespuesta = zgGraficaPunto.GraphPane.AddCurve("", listaPuntosGraficaPunto, colorEstable, SymbolType.None); curvaRespuesta.Line.Width = grosorCurva; } else if (tipoCaso == TipoCaso.Caso4) { //Divido la coordenada x del punto por el extremo derecho de la escala del plano. //Lo que estoy haciendo en realidad es graficar entre 0 y 1 del eje real, ya que //de esta forma se visualizan gráficas inestables más adecuadas a los fines educativos. xPlano = xPlano / this.zgPlanoComplejo.GraphPane.XAxis.Scale.Max; //Calculo omega (distancia del punto al origen de coordenadas) y psi. double omega = Math.Sqrt(xPlano * xPlano + yPlano * yPlano); double psi = Math.Abs(xPlano) / omega; //Grafico respuesta impulso entre -rangoEjeYMax y +rangoEjeYMax. int rangoEjeYMax = 10000; int i = -1; do { i++; double t = (double)i * 0.01; double y = yImpulso2OrdenInestable(1 / omega, psi, t); listaPuntosGraficaPunto.Add(t, y); } while (listaPuntosGraficaPunto[listaPuntosGraficaPunto.Count - 1].Y > -rangoEjeYMax && listaPuntosGraficaPunto[listaPuntosGraficaPunto.Count - 1].Y < rangoEjeYMax); //Defino mínimo y máximo de la escala. zgGraficaPunto.GraphPane.XAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.XAxis.Scale.Max = listaPuntosGraficaPunto[listaPuntosGraficaPunto.Count - 1].X; zgGraficaPunto.GraphPane.YAxis.Scale.Min = -rangoEjeYMax; zgGraficaPunto.GraphPane.YAxis.Scale.Max = rangoEjeYMax; //Defino el paso de la gráfica. double pasoX = Math.Round((zgGraficaPunto.GraphPane.XAxis.Scale.Max - zgGraficaPunto.GraphPane.XAxis.Scale.Min) / 10, 2); double pasoY = Math.Round((zgGraficaPunto.GraphPane.YAxis.Scale.Max - zgGraficaPunto.GraphPane.YAxis.Scale.Min) / 10, 2); zgGraficaPunto.GraphPane.XAxis.Scale.MinorStep = pasoX; zgGraficaPunto.GraphPane.XAxis.Scale.MajorStep = pasoX; zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = pasoY; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = pasoY; LineItem curvaRespuesta = zgGraficaPunto.GraphPane.AddCurve("", listaPuntosGraficaPunto, colorInestable, SymbolType.None); curvaRespuesta.Line.Width = grosorCurva; } else if (tipoCaso == TipoCaso.Caso5) { //Defino mínimo y máximo de la escala y el paso de la gráfica. zgGraficaPunto.GraphPane.XAxis.Scale.Min = 0; zgGraficaPunto.GraphPane.XAxis.Scale.Max = 4; zgGraficaPunto.GraphPane.YAxis.Scale.Min = -4; zgGraficaPunto.GraphPane.YAxis.Scale.Max = 4; zgGraficaPunto.GraphPane.XAxis.Scale.MinorStep = 0.4; zgGraficaPunto.GraphPane.XAxis.Scale.MajorStep = 0.4; zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = 0.8; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = 0.8; for (int i = 0; i < cantPuntosGraficaPunto; i++) { double t = (double)i * tamanioPaso; double y = yImpulso2OrdenMarginalmenteEstable(1 / Math.Abs(yPlano), t); listaPuntosGraficaPunto.Add(t, y); } LineItem curvaRespuesta = zgGraficaPunto.GraphPane.AddCurve("", listaPuntosGraficaPunto, colorMarginalmenteEstable, SymbolType.None); curvaRespuesta.Line.Width = grosorCurva; } //Para los casos 3 y 5, controlo que entre la gráfica y la ajusto. if (tipoCaso == TipoCaso.Caso3 || tipoCaso == TipoCaso.Caso5) { //Calculo máximo y mínimo. double yMaximo = listaPuntosGraficaPunto[0].Y; double yMinimo = listaPuntosGraficaPunto[0].Y; foreach (PointPair punto in listaPuntosGraficaPunto) { if (punto.Y > yMaximo) { yMaximo = punto.Y; } if (punto.Y < yMinimo) { yMinimo = punto.Y; } } //Ajusto los valores de la escala Y para que entre la gráfica. if (yMaximo > zgGraficaPunto.GraphPane.YAxis.Scale.Max) { zgGraficaPunto.GraphPane.YAxis.Scale.Max = yMaximo + 1; } if (yMinimo < zgGraficaPunto.GraphPane.YAxis.Scale.Min) { zgGraficaPunto.GraphPane.YAxis.Scale.Min = yMinimo - 1; } double paso = Math.Round((zgGraficaPunto.GraphPane.YAxis.Scale.Max - zgGraficaPunto.GraphPane.YAxis.Scale.Min) / 10, 2); zgGraficaPunto.GraphPane.YAxis.Scale.MinorStep = paso; zgGraficaPunto.GraphPane.YAxis.Scale.MajorStep = paso; } zgGraficaPunto.Invalidate(); }