private async Task <ActionResult> GetView(int id) { var regla = await db.Regla.FindAsync(id); if (regla == null) { return(HttpNotFound()); } var model = new ReglaViewModel { Regla = regla, Tipo = regla.ItemId != null ? ReglaViewModel.TipoRegla.Item : ReglaViewModel.TipoRegla.Brand }; ViewBag.Tipo = new SelectList(Fn.EnumToIEnumarable <ReglaViewModel.TipoRegla>().ToList(), "Value", "Name", model.Tipo); ViewData["Regla.ItemId"] = new SelectList(new List <string>(), "", ""); if (model.Tipo == ReglaViewModel.TipoRegla.Brand) { ViewData["Regla.MarcaId"] = new SelectList(await db.Marca.Select(m => new { m.Id, m.Nombre }).ToListAsync(), "Id", "Nombre", regla.MarcaId); } else { ViewData["Regla.MarcaId"] = new SelectList(await db.Marca.Select(m => new { m.Id, m.Nombre }).ToListAsync(), "Id", "Nombre"); } return(View(GetCrudMode().ToString(), model)); }
public async Task <ActionResult> Create(ReglaViewModel model) { if (ModelState.IsValid) { if (model.Tipo == ReglaViewModel.TipoRegla.Item) { model.Regla.MarcaId = null; } else { model.Regla.ItemId = null; } db.Regla.Add(model.Regla); await db.SaveChangesAsync(); AddLog("", model.Regla.Id, model.Regla); return(RedirectToAction("Index", GetReturnSearch())); } return(View(model)); }