コード例 #1
0
ファイル: UsuarioController.cs プロジェクト: jmejia1/Taskool
        public ActionResult Create(Usuario usuario)
        {
            if (ModelState.IsValid)
            {
                db.Usuarios.Add(usuario);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.idInstitucion = new SelectList(db.Instituciones, "id", "nit", usuario.idInstitucion);
            return View(usuario);
        }
コード例 #2
0
ファイル: UsuarioController.cs プロジェクト: jmejia1/Taskool
 /// <summary>
 /// Permite la carga de grupos a ser asignados al usuario
 /// </summary>
 /// <param name="usuario"></param>
 private void CargarGruposAsignados(Usuario usuario)
 {
     var allGrupos = db.Grupos;
     var usuarioGrupos = new HashSet<int>(usuario.Grupo.Select(c => c.id));
     var viewModel = new List<GruposAsignadosViewModel>();
     foreach (var grupo in allGrupos)
     {
         viewModel.Add(new GruposAsignadosViewModel
         {
             idGrupo = grupo.id,
             Nombre = grupo.id.ToString(),
             Asignado = usuarioGrupos.Contains(grupo.id)
         });
     }
     ViewBag.Grupos = viewModel;
 }
コード例 #3
0
ファイル: UsuarioController.cs プロジェクト: jmejia1/Taskool
        private void UpdateGruposDeUsuario(string[] selectedGrupos, Usuario usuarioToUpdate)
        {
            if (selectedGrupos == null)
            {
                usuarioToUpdate.Grupo = new List<Grupo>();
                return;
            }

            var selectedGruposHS = new HashSet<string>(selectedGrupos);
            var usuarioGrupos = new HashSet<int>(usuarioToUpdate.Grupo.Select(c => c.id));
            foreach (var course in db.Grupos)
            {
                if (selectedGruposHS.Contains(course.id.ToString()))
                {
                    if (!usuarioGrupos.Contains(course.id))
                    {
                        usuarioToUpdate.Grupo.Add(course);
                    }
                }
                else
                {
                    if (usuarioGrupos.Contains(course.id))
                    {
                        usuarioToUpdate.Grupo.Remove(course);
                    }
                }
            }
        }
コード例 #4
0
ファイル: UsuarioController.cs プロジェクト: jmejia1/Taskool
        public ActionResult Edit(Usuario usuario, string[] selectedGrupos)
        {
            if (ModelState.IsValid)
            {

                UpdateGruposDeUsuario(selectedGrupos, usuario);

                db.Entry(usuario).State = EntityState.Modified;
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            CargarGruposAsignados(usuario);

            ViewBag.idInstitucion = new SelectList(db.Instituciones, "id", "nit", usuario.idInstitucion);
            return View(usuario);
        }