public ActionResult DeleteConfirmed(Guid id) { AutorPieza autorPieza = db.AutorPiezas.Find(id); db.AutorPiezas.Remove(autorPieza); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Editar(AutorPieza autorPieza, Guid AtributoID, Guid LlaveID) { //validar errores y devolverlos a la vista string renderID = "autor_" + autorPieza.PiezaID + "_" + LlaveID; string texto = ""; bool guardar = false; var autorPiezaAnterior = db.AutorPiezas.Find(autorPieza.PiezaID, LlaveID); if (autorPiezaAnterior == null) { guardar = false; //alerta no existe el atributo } else { string valor = Request.Form["id_" + AtributoID].ToString(); autorPieza.AutorID = new Guid(valor); guardar = true; //no existe el ListaValorID entonces actualizar el AtributoPiezaID con el ListaValorID if (db.AutorPiezas.Where(a => a.PiezaID == autorPieza.PiezaID && a.AutorID == autorPieza.AutorID).Count() == 0) { var autor = db.Autores.Find(autorPieza.AutorID); var textoNombreAutor = autor.Nombre + " " + autor.Apellido; var textoPrefijo = autorPieza.Prefijo == "" || autorPieza == null ? "" : autorPieza.Prefijo + ": "; texto = string.Format("<span><b>{0}</b></span>{1}", textoPrefijo, textoNombreAutor); AlertaSuccess(string.Format("Autor: <b>{0}</b> se actualizo a <b>{1}</b>.", autorPiezaAnterior.Autor.Nombre + "" + autorPiezaAnterior.Autor.Apellido, autor.Nombre + " " + autor.Apellido), true); autorPieza.AutorID = autor.AutorID; } else { //alerta ya existe AlertaSuccess(string.Format("Autor: <b>{0}</b> se actualizo.", autorPiezaAnterior.Autor.Nombre + "" + autorPiezaAnterior.Autor.Apellido), true); } } if (guardar) { db.AutorPiezas.Remove(autorPiezaAnterior); db.SaveChanges(); db.AutorPiezas.Add(autorPieza); db.SaveChanges(); } return(Json(new { success = true, renderID = renderID, texto = texto, guardar = guardar, tipo = "Autor" })); }
public ActionResult Edit([Bind(Include = "PiezaID,AutorID,Status")] AutorPieza autorPieza) { if (ModelState.IsValid) { db.Entry(autorPieza).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.AutorID = new SelectList(db.Autores, "AutorID", "Nombre", autorPieza.AutorID); ViewBag.PiezaID = new SelectList(db.Piezas, "PiezaID", "SubFolio", autorPieza.PiezaID); return(View(autorPieza)); }
// GET: AutorPieza/Delete/5 public ActionResult Delete(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AutorPieza autorPieza = db.AutorPiezas.Find(id); if (autorPieza == null) { return(HttpNotFound()); } return(View(autorPieza)); }
public ActionResult Create([Bind(Include = "PiezaID,AutorID,Status")] AutorPieza autorPieza) { if (ModelState.IsValid) { autorPieza.PiezaID = Guid.NewGuid(); db.AutorPiezas.Add(autorPieza); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.AutorID = new SelectList(db.Autores, "AutorID", "Nombre", autorPieza.AutorID); ViewBag.PiezaID = new SelectList(db.Piezas, "PiezaID", "SubFolio", autorPieza.PiezaID); return(View(autorPieza)); }
public ActionResult Eliminar(Guid?id, Guid?AutorID) { if (id == null && AutorID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AutorPieza autorPieza = db.AutorPiezas.Find(id, AutorID); if (autorPieza == null) { return(HttpNotFound()); } return(PartialView("_Eliminar", autorPieza)); }
// GET: AutorPieza/Edit/5 public ActionResult Edit(Guid?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } AutorPieza autorPieza = db.AutorPiezas.Find(id); if (autorPieza == null) { return(HttpNotFound()); } ViewBag.AutorID = new SelectList(db.Autores, "AutorID", "Nombre", autorPieza.AutorID); ViewBag.PiezaID = new SelectList(db.Piezas, "PiezaID", "SubFolio", autorPieza.PiezaID); return(View(autorPieza)); }
public ActionResult Crear([Bind(Include = "PiezaID,AutorID,Status")] AutorPieza autorPieza, Guid AtributoID) { string renderID = "autor_" + autorPieza.PiezaID + "_"; string texto = ""; bool guardar = false; string valor = Request.Form["id_" + AtributoID].ToString(); autorPieza.AutorID = new Guid(valor); //no existe el ListaValorID entonces actualizar el AtributoPiezaID con el ListaValorID if (db.AutorPiezas.Where(a => a.PiezaID == autorPieza.PiezaID && a.AutorID == autorPieza.AutorID).Count() == 0) { guardar = true; var autor = db.Autores.Find(autorPieza.AutorID); texto = autor.Nombre + " " + autor.Apellido; AlertaSuccess(string.Format("Autor: <b>{0}</b> se agregó.", autor.Nombre + "" + autor.Apellido), true); autorPieza.AutorID = autor.AutorID; } else { guardar = false; //alerta ya existe } if (guardar) { db.AutorPiezas.Add(autorPieza); db.SaveChanges(); renderID += autorPieza.AutorID; } return(Json(new { success = true, renderID = renderID, texto = texto, guardar = guardar })); }
public ActionResult EliminarConfirmado(Guid id, Guid AutorID) { string btnValue = Request.Form["accionx"]; AutorPieza autorPieza = db.AutorPiezas.Find(id, AutorID); var NombreTexto = autorPieza.Autor.Nombre + " " + autorPieza.Autor.Apellido; switch (btnValue) { case "eliminar": db.AutorPiezas.Remove(autorPieza); db.SaveChanges(); AlertaDanger(string.Format("Se elimino <b>{0}</b>", NombreTexto), true); break; default: AlertaDanger(string.Format("Ocurrio un error."), true); break; } return(Json(new { success = true, guardar = false })); }
public ActionResult Registrar(Guid?TipoObraID, int?LetraFolioID, Guid?TipoPiezaID) { var Formulario = Request.Form; int InicioFolio = 1; if (TipoObraID == null || LetraFolioID == null || TipoPiezaID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var letra = db.LetraFolios.Find(LetraFolioID); var tipoObra = db.TipoObras.Find(TipoObraID); var tipoPieza = tipoObra.TipoPiezas.FirstOrDefault(a => a.TipoPiezaID == TipoPiezaID); if (tipoObra == null || letra == null || tipoPieza == null) { return(HttpNotFound()); } //buscar el ultimo numero del folio subido InicioFolio = db.Obras.Where(a => a.LetraFolioID == letra.LetraFolioID).Select(a => a.NumeroFolio).OrderByDescending(a => a).FirstOrDefault(); var obra = new Obra() { FechaRegistro = DateTime.Now, TipoObraID = tipoObra.TipoObraID, LetraFolioID = letra.LetraFolioID, Status = false, NumeroFolio = InicioFolio }; obra.ObraID = Guid.NewGuid(); //Crear pieza Pieza pieza = new Pieza() { PiezaID = Guid.NewGuid(), FechaRegistro = obra.FechaRegistro, ObraID = obra.ObraID, Status = false, PiezaPadreID = null, // null = Principal o Maestra TipoPiezaID = tipoPieza.TipoPiezaID, SubFolio = tipoPieza.Prefijo }; //lista de atributos de registro var listaAttRegistro = tipoPieza.Atributos.Where(a => a.Status && a.MostrarAtributos.Any(b => b.TipoMostrar.Nombre == "Registro" && b.Status) && a.TipoAtributo.Status).OrderBy(a => a.Orden).ToList(); List <AtributoPieza> listaAdd_AttGen = new List <AtributoPieza>(); List <AutorPieza> listaAdd_AttAutor = new List <AutorPieza>(); List <ImagenPieza> listaAdd_AttImg = new List <ImagenPieza>(); List <TecnicaPieza> listaAdd_AttTec = new List <TecnicaPieza>(); List <MedidaPieza> listaAdd_AttMed = new List <MedidaPieza>(); Ubicacion ubicacionAdd = null; List <string> listaKey; /* * Extraer los registros del formulario dependiendo el tipo de Atributo * * IMAGEN * SIMPLE * id_####################_File (File) * id_####################_Titulo (Input) * id_####################_Descripcion (Input) * * * * */ foreach (var att in listaAttRegistro) { var tipoAtt = att.TipoAtributo; if (tipoAtt.EsGenerico) { /* * GENERICO * LISTA * SIMPLE * id_#################### (Select) * MULTI * id_####################_#################### (Input) */ if (tipoAtt.EsLista) { if (tipoAtt.EsMultipleValor) { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID + "_")).ToList(); } else { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); } //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string valor = Formulario[key]; addOk = String.IsNullOrWhiteSpace(valor) ? false : true; //validar el valorID, buscar el valor Guid valorID = addOk ? new Guid(valor) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttGen.Where(a => a.AtributoID == att.AtributoID && a.ListaValorID == valorID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.ListaValores.Where(a => a.TipoAtributoID == tipoAtt.TipoAtributoID && a.Status && a.ListaValorID == valorID).FirstOrDefault() == null ? false : true; if (addOk) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, ListaValorID = valorID }); } } } else { /* * GENERICO * CAMPO * SIMPLE * id_#################### (Input) * MULTI * id_####################_##### (Input) */ if (tipoAtt.EsMultipleValor) { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID + "_")).ToList(); } else { listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); } //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string valor = Formulario[key]; //validar el campo, quitar espacios en blanco, bla bla bla valor = valor.Trim(); // quitar espacios en inicio y fin valor = Regex.Replace(valor, @"\s+", " "); //quitar espacios de sobra addOk = String.IsNullOrWhiteSpace(valor) ? false : true; addOk = !addOk ? addOk : listaAdd_AttGen.Where(a => a.AtributoID == att.AtributoID && a.Valor == valor).FirstOrDefault() == null ? true : false; if (addOk) { listaAdd_AttGen.Add(new AtributoPieza() { AtributoPiezaID = Guid.NewGuid(), AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true, Valor = valor }); } } } } else { switch (tipoAtt.TablaSQL) { case "Autor": /* * AUTOR * MULTIPLE * id_####################_#################### (Input) * id_####################_####################_prefijo (Input) */ //filtrar id_####### listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID + "_")).ToList(); ///filtrar: ignorar los _prefijo listaKey = listaKey.Where(k => !k.EndsWith("_prefijo")).ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string text_autorID = Formulario[key]; string text_prefijo = Formulario[key + "_prefijo"]; addOk = String.IsNullOrWhiteSpace(text_autorID) ? false : true; //validar el valorID, buscar el valor Guid autorID = addOk ? new Guid(text_autorID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttAutor.Where(a => a.AutorID == autorID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.Autores.Where(a => a.Status && a.AutorID == autorID).FirstOrDefault() == null ? false : true; if (addOk) { var autorPieza = new AutorPieza() { AutorID = autorID, PiezaID = pieza.PiezaID, esPrincipal = false, Prefijo = text_prefijo, Status = true }; //validar si es principal if (autorPieza.Prefijo.ToLower() == "principal") { autorPieza.esPrincipal = listaAdd_AttAutor.Where(a => a.esPrincipal).Count() == 0 ? true : false; } listaAdd_AttAutor.Add(autorPieza); } } break; case "Ubicacion": /* * UBICACION * SIMPLE * id_#################### (select) */ listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string texto_ubicacionID = Formulario[key]; addOk = String.IsNullOrWhiteSpace(texto_ubicacionID) ? false : true; //validar el valorID, buscar el valor Guid ubicacionID = addOk ? new Guid(texto_ubicacionID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : ubicacionAdd == null ? true : false; addOk = !addOk ? addOk : db.Ubicaciones.Where(a => a.Status && a.UbicacionID == ubicacionID).FirstOrDefault() == null ? false : true; if (addOk) { pieza.UbicacionID = ubicacionID; } } break; case "TipoTecnica": /* * TECNICA * SIMPLE * id_#################### (Select) */ listaKey = Formulario.AllKeys.Where(k => k.StartsWith("id_" + att.AtributoID)).ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string texto_TecnicaID = Formulario[key]; addOk = String.IsNullOrWhiteSpace(texto_TecnicaID) ? false : true; //validar el valorID, buscar el valor Guid tecnicaID = addOk ? new Guid(texto_TecnicaID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttTec.Where(a => a.TecnicaID == tecnicaID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.Tecnicas.Where(a => a.TecnicaID == tecnicaID && a.Status).FirstOrDefault() == null ? false : true; if (addOk) { var tecnica = db.Tecnicas.Where(a => a.TecnicaID == tecnicaID && a.Status).FirstOrDefault(); listaAdd_AttTec.Add(new TecnicaPieza() { PiezaID = pieza.PiezaID, Status = true, TecnicaID = tecnica.TecnicaID, TipoTecnicaID = tecnica.TipoTecnicaID }); } } break; case "TipoMedida": /* * TIPO MEDIDA * SIMPLE * id_#################### (Select)(TipoMedida) * id_####################_UML (Select) * id_####################_Altura (input) * id_####################_Anchura (input) * id_####################_Profundidad (input) * id_####################_Diametro (input) * id_####################_Diametro2 (input) */ listaKey = Formulario.AllKeys.Where(k => k == "TipoMedidaID").ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { var addOk = true; string texto_TipoMedidaID = Formulario[key]; addOk = String.IsNullOrWhiteSpace(texto_TipoMedidaID) ? false : true; //validar el valorID, buscar el valor Guid tipoMedidaID = addOk ? new Guid(texto_TipoMedidaID) : new Guid(new Byte[16]); addOk = !addOk ? addOk : listaAdd_AttMed.Where(a => a.TipoMedidaID == tipoMedidaID).FirstOrDefault() == null ? true : false; addOk = !addOk ? addOk : db.TipoMedidas.Where(a => a.TipoMedidaID == tipoMedidaID && a.Status).FirstOrDefault() == null ? false : true; if (addOk) { var medidaPieza = new MedidaPieza() { PiezaID = pieza.PiezaID, Status = true, TipoMedidaID = tipoMedidaID }; string text_UML = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_UML"]) ? "cm" : Formulario["id_" + att.AtributoID + "_UML"]; string text_Altura = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Altura"]) ? "0" : Formulario["id_" + att.AtributoID + "_Altura"]; string text_Anchura = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Anchura"]) ? "0" : Formulario["id_" + att.AtributoID + "_Anchura"]; string text_Profundidad = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Profundidad"]) ? "0" : Formulario["id_" + att.AtributoID + "_Profundidad"]; string text_Diametro = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Diametro"]) ? "0" : Formulario["id_" + att.AtributoID + "_Diametro"]; string text_Diametro2 = String.IsNullOrWhiteSpace(Formulario["id_" + att.AtributoID + "_Diametro2"]) ? "0" : Formulario["id_" + att.AtributoID + "_Diametro2"]; if (text_Altura == "0") { medidaPieza.Altura = Convert.ToDouble("text_Altura"); } if (text_Anchura == "0") { medidaPieza.Anchura = Convert.ToDouble("text_Anchura"); } if (text_Altura == "0") { medidaPieza.Profundidad = Convert.ToDouble("text_Profundidad"); } if (text_Altura == "0") { medidaPieza.Diametro = Convert.ToDouble("text_Diametro"); } if (text_Altura == "0") { medidaPieza.Diametro2 = Convert.ToDouble("text_Diametro2"); } switch (text_UML) { case "pulgada": medidaPieza.UMLongitud = UMLongitud.pulgada; break; case "dc": medidaPieza.UMLongitud = UMLongitud.dc; break; case "m": medidaPieza.UMLongitud = UMLongitud.m; break; case "dam": medidaPieza.UMLongitud = UMLongitud.dam; break; case "mm": medidaPieza.UMLongitud = UMLongitud.mm; break; case "hm": medidaPieza.UMLongitud = UMLongitud.hm; break; case "km": medidaPieza.UMLongitud = UMLongitud.km; break; default: medidaPieza.UMLongitud = UMLongitud.cm; break; } listaAdd_AttMed.Add(medidaPieza); } } break; case "ImagenPieza": listaKey = Request.Files.AllKeys.Where(k => k == "id_" + att.AtributoID + "_File").ToList(); //buscar en form todas las llaves que correspondan al id_xxxxxxxxxxxxxx_xxxxxxxxxxxxxx foreach (string key in listaKey) { HttpPostedFileBase FileImageForm = Request.Files[key]; string texto_Titulo = Formulario["id_" + att.AtributoID + "_Titulo"]; string texto_Descripcion = Formulario["id_" + att.AtributoID + "_Descripcion"]; string extension = Path.GetExtension(FileImageForm.FileName); var imgGuid = Guid.NewGuid(); ImagenPieza imagenPieza = new ImagenPieza() { PiezaID = pieza.PiezaID, ImagenPiezaID = imgGuid, Titulo = texto_Titulo, Descripcion = texto_Descripcion, EsPrincipal = true, Orden = 1, Status = true, RutaParcial = "/Content/img/pieza/", NombreImagen = imgGuid.ToString() + extension, }; var rutaGuardar_Original = Server.MapPath(imagenPieza.Ruta); FileImageForm.SaveAs(rutaGuardar_Original); FileImageForm.InputStream.Dispose(); FileImageForm.InputStream.Close(); GC.Collect(); //Generar la mini Thumbnail mini = new Thumbnail() { OrigenSrc = rutaGuardar_Original, DestinoSrc = Server.MapPath(imagenPieza.RutaMini), LimiteAnchoAlto = 250 }; mini.GuardarThumbnail(); //add a la lista de imagenes listaAdd_AttImg.Add(imagenPieza); } break; default: AlertaDanger(String.Format("No se pudo guardar el campo, {0}.", att.NombreAlterno)); break; } } } if (ModelState.IsValid) { //validar el numero de folio obra.NumeroFolio = DarFolioValido(obra.LetraFolioID, obra.NumeroFolio); //Guardar la obra db.Obras.Add(obra); db.SaveChanges(); //Guardar la pieza db.Piezas.Add(pieza); db.SaveChanges(); //Guardar sus atributos db.AtributoPiezas.AddRange(listaAdd_AttGen); db.AutorPiezas.AddRange(listaAdd_AttAutor); db.ImagenPiezas.AddRange(listaAdd_AttImg); db.TecnicaPiezas.AddRange(listaAdd_AttTec); db.MedidaPiezas.AddRange(listaAdd_AttMed); db.SaveChanges(); return(RedirectToAction("Detalles", "Obra", new { id = obra.ObraID })); } return(Json(new { success = false })); }
public ActionResult Crear(Guid?id, Guid?AtributoID) { // AtributoPiezaID = id //id PiezaID //atributoID //AtributoPiezaID || TablaID PartialViewResult _vista = null; if (id == null || AtributoID == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Atributo att = db.Atributos.Find(AtributoID); if (att == null) { return(HttpNotFound()); } Pieza pieza = db.Piezas.Find(id); if (pieza == null) { return(HttpNotFound()); } if (att.TipoAtributo.EsGenerico) { AtributoPieza attPieza = new AtributoPieza() { AtributoID = att.AtributoID, PiezaID = pieza.PiezaID, Status = true }; if (att.TipoAtributo.EsLista) { List <ListaValor> lista = new List <ListaValor>(); lista.Add(attPieza.ListaValor); //agregar valor por si no viene en los primeros 500 lista.AddRange(att.TipoAtributo.ListaValores.Where(a => a.Status && !String.IsNullOrWhiteSpace(a.Valor)).OrderBy(a => a.Valor).Take(100).ToList()); ViewBag.ListaValorID = new SelectList(lista, "ListaValorID", "Valor", attPieza.ListaValorID); _vista = PartialView("_CrearGenericoLista", attPieza); } else { _vista = PartialView("_CrearGenericoCampo", attPieza); } } else { switch (att.TipoAtributo.TablaSQL) { case "Autor": List <Autor> listaAutores = new List <Autor>(); var piezaAutor = new AutorPieza() { Status = true, PiezaID = pieza.PiezaID }; listaAutores.AddRange(db.Autores.Where(a => a.Status).OrderBy(a => a.Nombre).Take(100).ToList()); ViewBag.AutorID = new SelectList(listaAutores.Select(a => new { Nombre = a.Nombre + " " + a.Apellido, a.AutorID }), "AutorID", "Nombre"); _vista = PartialView("~/Views/AutorPieza/_Crear.cshtml", piezaAutor); break; case "Ubicacion": var listaUbicaciones = db.Ubicaciones.Where(a => a.Status).OrderBy(a => a.Nombre).Select(a => new { Nombre = a.Nombre, a.UbicacionID }).Take(100).ToList(); ViewBag.UbicacionID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre"); _vista = PartialView("~/Views/Pieza/_CrearUbicacion.cshtml", pieza); break; case "TipoTecnica": var piezaTecnica = new TecnicaPieza() { Status = true, PiezaID = pieza.PiezaID }; var tipoTecnicasExistentes = pieza.TecnicaPiezas.Select(a => a.TipoTecnicaID); var listaTipoTecnicas = db.TipoTecnicas.Where(a => a.Status && !tipoTecnicasExistentes.Contains(a.TipoTecnicaID)).OrderBy(a => a.Nombre).Select(a => new { Nombre = a.Nombre, a.TipoTecnicaID }).ToList(); ViewBag.TipoTecnicaID = new SelectList(listaTipoTecnicas, "TipoTecnicaID", "Nombre"); _vista = PartialView("~/Views/TecnicaPieza/_Crear.cshtml", piezaTecnica); break; case "TipoMedida": var medidaPieza = new MedidaPieza() { Status = true, PiezaID = pieza.PiezaID }; var tipoMedidasExistentes = pieza.MedidaPiezas.Select(a => a.TipoMedidaID); var listaTipoMedidas = db.TipoMedidas.Where(a => a.Status && !tipoMedidasExistentes.Contains(a.TipoMedidaID)).OrderBy(a => a.Nombre).Select(a => new { a.Nombre, a.TipoMedidaID }).ToList(); ViewBag.TipoMedidaID = new SelectList(listaTipoMedidas, "TipoMedidaID", "Nombre"); _vista = PartialView("~/Views/MedidaPieza/_Crear.cshtml", medidaPieza); break; default: //_vista = PartialView("_ErrorCampo"); break; } } ViewBag.EsMultipleValor = att.TipoAtributo.EsMultipleValor; ViewBag.ParametrosHTML = att.TipoAtributo.HTMLParametros; ViewBag.TipoAtributoID = att.TipoAtributo.TipoAtributoID; ViewBag.NombreAtt = att.TipoAtributo.Nombre; ViewBag.id = id; ViewBag.AtributoID = AtributoID; switch (att.TipoAtributo.DatoCS) { case "double": case "Double": case "int": case "float": case "int32": case "int64": case "decimal": ViewBag.TipoInput = "number"; break; case "date": ViewBag.TipoInput = "date"; break; case "time": ViewBag.TipoInput = "time"; break; case "datetime": ViewBag.TipoInput = "datetime"; break; case "datetime-local": ViewBag.TipoInput = "datetime-local"; break; case "month": ViewBag.TipoInput = "month"; break; case "week": ViewBag.TipoInput = "week"; break; case "color": ViewBag.TipoInput = "color"; break; case "email": ViewBag.TipoInput = "email"; break; case "url": ViewBag.TipoInput = "url"; break; case "tel": ViewBag.TipoInput = "tel"; break; case "range": ViewBag.TipoInput = "range"; break; default: ViewBag.TipoInput = "text"; break; } return(_vista); }