public ActionResult Create(TipoDatoAtributo tipodatoatributo) { if (tipodatoatributo.codigo != null) { tipodatoatributo.codigo = tipodatoatributo.codigo.Replace(" ", " ").Trim(); if (0 < db.TipoDatoAtributo.Where(c => c.codigo == tipodatoatributo.codigo).Count()) ModelState.AddModelError("codigo", "El código debe ser único"); } if (tipodatoatributo.descripcion != null) { tipodatoatributo.descripcion = tipodatoatributo.descripcion.Replace(" ", " ").Trim(); if (0 < db.TipoDatoAtributo.Where(c => c.descripcion == tipodatoatributo.descripcion).Count()) ModelState.AddModelError("descripcion", "La descripción debe ser única"); } if (tipodatoatributo.idoperador > 0 && tipodatoatributo.idoperador != TipoDatoOperador.DIFERENTE && (tipodatoatributo.idtipodato == TipoDato.TEXTO || tipodatoatributo.idtipodato == TipoDato.ALFANUMERICO) && (tipodatoatributo.valorcadena == null || tipodatoatributo.valorcadena.Trim() == "")) ModelState.AddModelError("valorcadena", "Ingrese un valor de referencia"); if (tipodatoatributo.idoperador > 0 && (tipodatoatributo.idtipodato == TipoDato.FECHA || tipodatoatributo.idtipodato == TipoDato.MONTO || tipodatoatributo.idtipodato == TipoDato.NUMERO) && (tipodatoatributo.idreferencia == null || tipodatoatributo.idreferencia == 0)) ModelState.AddModelError("idreferencia", "Seleccione un valor de referencia"); if (ModelState.IsValid) { if (tipodatoatributo.idreferencia == TipoDatoReferencia.CERO || tipodatoatributo.idreferencia == TipoDatoReferencia.UNO) tipodatoatributo.valorentero = db.TipoDatoReferencia.Find(tipodatoatributo.idtipodato, tipodatoatributo.idreferencia).valorentero; if (tipodatoatributo.idoperador > 0) tipodatoatributo.etiqueta = (db.TipoDatoOperador.Find(tipodatoatributo.idtipodato, tipodatoatributo.idoperador).descripcion + " " + ((tipodatoatributo.idtipodato == TipoDato.TEXTO || tipodatoatributo.idtipodato == TipoDato.ALFANUMERICO) ? ((tipodatoatributo.valorcadena == null || tipodatoatributo.valorcadena.Trim() == "") ? "[vacío]" : tipodatoatributo.valorcadena) : db.TipoDatoReferencia.Find(tipodatoatributo.idtipodato, tipodatoatributo.idreferencia).descripcion)); db.TipoDatoAtributo.Add(tipodatoatributo); db.SaveChanges(); TempData["alerta"] = "Atributo de tipo de dato registrado con éxito"; return RedirectToAction("Create"); } ViewBag.idtipodato = new SelectList(db.TipoDato, "idtipodato", "descripcion", tipodatoatributo.idtipodato); ViewBag.idoperador = new SelectList(db.TipoDatoOperador.Where(c => c.idtipodato == tipodatoatributo.idtipodato), "idoperador", "descripcion", tipodatoatributo.idoperador); ViewBag.idreferencia = new SelectList(db.TipoDatoReferencia.Where(c => c.idtipodato == tipodatoatributo.idtipodato), "idreferencia", "descripcion", tipodatoatributo.idreferencia); ViewBag.ltipodatoatributo = db.TipoDatoAtributo.OrderBy(c => c.idtipodato).ThenBy(c => c.codigo).ToList(); return View(tipodatoatributo); }
public ActionResult Create() { ViewBag.idtipodato = new SelectList(db.TipoDato, "idtipodato", "descripcion"); ViewBag.idoperador = new SelectList(db.TipoDatoOperador.Where(c => c.idtipodato == 0), "idoperador", "descripcion"); ViewBag.idreferencia = new SelectList(db.TipoDatoReferencia.Where(c => c.idtipodato == 0), "idreferencia", "descripcion"); ViewBag.ltipodatoatributo = db.TipoDatoAtributo.OrderBy(c => c.idtipodato).ThenBy(c => c.codigo).ToList(); TipoDatoAtributo tipodatoatributo = new TipoDatoAtributo() { idtipodato = 0 }; return View(tipodatoatributo); }