public ActionResult Create(UsuGrupViewModel UsuGrupVM) { try { var usuario = new USUARIO(); usuario.UsuarioId = UsuGrupVM.UsuarioId; usuario.NombreUsuario = UsuGrupVM.NombreUsuario; usuario.Nombre = UsuGrupVM.Nombre; usuario.Mail = UsuGrupVM.Mail; usuario.Clave = UsuGrupVM.Clave; usuario.Estado = UsuGrupVM.Estado; var gruposSeleccionados = UsuGrupVM.Grupos.Where(x => x.IsChecked).Select(x => x.ItemId).ToList(); foreach (var grupo in oCatalogo.GRUPOSet.ToList()) { foreach (var ID in gruposSeleccionados) { if (grupo.GrupoId == ID) { usuario.GRUPO.Add(grupo); } else { // usuario.GRUPO.Remove(grupo); } } } oCatalogo.USUARIOSet.Add(usuario); oCatalogo.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }
// // GET: /Usuarios/Edit/5 public ActionResult Edit(int id) { if (this.Session["LogedUserFullname"] != null) { var usuario = oCatalogo.USUARIOSet.Find(id); var UsuGrupVM = new UsuGrupViewModel(); UsuGrupVM.UsuarioId = usuario.UsuarioId; UsuGrupVM.NombreUsuario = usuario.NombreUsuario; UsuGrupVM.Nombre = usuario.Nombre; UsuGrupVM.Estado = usuario.Estado; UsuGrupVM.Mail = usuario.Mail; UsuGrupVM.Clave = usuario.Clave; foreach (GRUPO grupo in oCatalogo.GRUPOSet) { var grupoCheck = new CheckBoxListItem(); grupoCheck.ItemId = grupo.GrupoId; grupoCheck.Descripcion = grupo.Descripcion; grupoCheck.IsChecked = false; UsuGrupVM.Grupos.Add(grupoCheck); foreach (GRUPO grupoUsu in usuario.GRUPO) { if (grupo.GrupoId == grupoUsu.GrupoId) { grupoCheck.IsChecked = true; } } } //aca arranco para ver permisos de edicion var LogedUserFullName = this.Session["LogedUserFullname"]; var UsuarioLogeado = oCatalogo.USUARIOSet.FirstOrDefault(a => a.NombreUsuario.Equals(LogedUserFullName.ToString())); List<PERFIL> perfiles = new List<PERFIL>(); foreach (GRUPO grup in UsuarioLogeado.GRUPO) { foreach (PERFIL perfil in oCatalogo.PERFILSet) { if (perfil.GRUPO == grup) { perfiles.Add(perfil); } } } string permiso = "no"; string modificar = "no"; foreach (PERFIL perfil in perfiles) { if (perfil.VISTA.Nombre == "usuarios") // && perfil.PERMISO.Descripcion == "alta") { permiso = "si"; if (perfil.PERMISO.Descripcion == "modificar") { modificar = "si"; } } } if (permiso == "si" && modificar == "si") { return View(UsuGrupVM); } else { return RedirectToAction("SinPermiso", "Home"); } //return View(UsuGrupVM); } else { return RedirectToAction("Login", "Home", "Home"); } }
public ActionResult Edit(UsuGrupViewModel UsuGrupVM) { try { Models.USUARIO usuario; usuario = oCatalogo.USUARIOSet.FirstOrDefault(x => x.UsuarioId == UsuGrupVM.UsuarioId);//new USUARIO(); usuario.UsuarioId = UsuGrupVM.UsuarioId; usuario.NombreUsuario = UsuGrupVM.NombreUsuario; usuario.Nombre = UsuGrupVM.Nombre; usuario.Mail = UsuGrupVM.Mail; usuario.Clave = UsuGrupVM.Clave; usuario.Estado = UsuGrupVM.Estado; var gruposSeleccionados = UsuGrupVM.Grupos.Where(x => x.IsChecked).Select(x => x.ItemId).ToList(); foreach(var grupo in oCatalogo.GRUPOSet.ToList()) { foreach(var ID in gruposSeleccionados) { if(grupo.GrupoId == ID) { usuario.GRUPO.Add(grupo); } else { usuario.GRUPO.Remove(grupo); } } } oCatalogo.Entry(usuario).State = System.Data.Entity.EntityState.Modified; oCatalogo.SaveChanges(); return RedirectToAction("Index"); } catch { return View(); } }
// // GET: /Usuarios/Create public ActionResult Create() { if (this.Session["LogedUserFullname"] != null) { var UsuGrupVM = new UsuGrupViewModel(); foreach (GRUPO grupo in oCatalogo.GRUPOSet) { var grupoCheck = new CheckBoxListItem(); grupoCheck.ItemId = grupo.GrupoId; grupoCheck.Descripcion = grupo.Descripcion; grupoCheck.IsChecked = false; UsuGrupVM.Grupos.Add(grupoCheck); } //aca arranco para ver permisos de alta var LogedUserFullName = this.Session["LogedUserFullname"]; var UsuarioLogeado = oCatalogo.USUARIOSet.FirstOrDefault(a => a.NombreUsuario.Equals(LogedUserFullName.ToString())); List<PERFIL> perfiles = new List<PERFIL>(); foreach (GRUPO grup in UsuarioLogeado.GRUPO) { foreach (PERFIL perfil in oCatalogo.PERFILSet) { if (perfil.GRUPO == grup) { perfiles.Add(perfil); } } } string permiso = "no"; string alta = "no"; foreach (PERFIL perfil in perfiles) { if (perfil.VISTA.Nombre == "usuarios") { permiso = "si"; if (perfil.PERMISO.Descripcion == "alta") { alta = "si"; } } } if (permiso == "si" && alta == "si") { return View(UsuGrupVM); } else { return RedirectToAction("SinPermiso", "Home"); } // return View(UsuGrupVM); } else { return RedirectToAction("Login"); } }