//[Bind(Include = "RolId,RolNombre")] public async Task <ActionResult> Create(RolesViewModel model) { if (ModelState.IsValid) { try { db.Roles.Add(model.Rol); db.SaveChanges(); await db.SaveChangesAsync(); //Objetos foreach (var obj in model.Objetos) { if (obj.Seleccionado) { RolObjeto ao = new RolObjeto(); ao.RolId = model.Rol.RolId; ao.ObjetoId = obj.ObjetoId; ao.RolObjetoActivo = true; db.RolObjeto.Add(ao); } } //Apps foreach (var app in model.Apps) { if (app.Seleccionado) { RolAplicacion ao = new RolAplicacion(); ao.AplicacionId = app.AplicacionId; ao.RolId = model.Rol.RolId; db.RolAplicaciones.Add(ao); } } if (!ModelState.Values.Any(ms => ms.Errors.Count > 0)) { await db.SaveChangesAsync(); AddLog("", model.Rol.RolId, model); return(RedirectToAction("Index", GetReturnSearch())); } //Guarda Objetos al rol // guardaRolObjeto(RolObjetoList, rol.RolId); return(RedirectToAction("Index")); } catch (Exception e) { ViewBag.Error = e.ToString(); } } return(View(new RolesViewModel { Rol = model.Rol, Objetos = model.Objetos, Apps = model.Apps })); }
public async Task <ActionResult> Edit(RolesViewModel model) { if (ModelState.IsValid) { try { db.Entry(model.Rol).State = EntityState.Modified; await db.SaveChangesAsync(); //Objetos if (await DeleteRolObjetos(model.Rol.RolId)) { foreach (var obj in model.Objetos) { if (obj.Seleccionado) { RolObjeto ao = new RolObjeto(); ao.RolId = model.Rol.RolId; ao.ObjetoId = obj.ObjetoId; ao.RolObjetoActivo = true; db.RolObjeto.Add(ao); } } await db.SaveChangesAsync(); } else { ModelState.AddModelError("", "Error Deleting Detail (RolObjeto)"); } //Apps if (await DeleteRolAplicacion(model.Rol.RolId)) { foreach (var app in model.Apps) { if (app.Seleccionado) { RolAplicacion ao = new RolAplicacion(); ao.AplicacionId = app.AplicacionId; ao.RolId = model.Rol.RolId; db.RolAplicaciones.Add(ao); } } await db.SaveChangesAsync(); } else { ModelState.AddModelError("", "Error Deleting Detail (RolAplicacion)"); } AddLog("", model.Rol.RolId, model); return(RedirectToAction("Index", GetReturnSearch())); } catch (Exception e) { ViewBag.Error = e.ToString(); } } return(await GetView(model.Rol.RolId)); }