public ActionResult Index() { IList<ItemViewModel> gruposView = new List<ItemViewModel>(); IEnumerable<Grupo> gruposExistentes = grupos.Todos(); foreach (var grupo in gruposExistentes) { gruposView.Add(Mapper.Map<ItemViewModel>(grupo)); } var grupoViewModel = new GrupoViewModel { Grupos = gruposView }; return View("Grupo", grupoViewModel); }
private void AdicionarGruposFilhos(Grupo grupoPai) { if (grupoPai.GruposFilhos != null) { nivelArvoreGrupos++; foreach (var grupoFilho in grupoPai.GruposFilhos.OrderBy(g => g.Nome)) { GrupoViewModel grupoDTO = new GrupoViewModel() { Id = grupoFilho.Id, Nome = grupoFilho.Nome }; if (!gruposOrganizados.Contains(grupoDTO)) { grupoDTO.Nome = grupoFilho.Nome; for (int i = nivelArvoreGrupos; i > 0; i--) { grupoDTO.Nome = grupoDTO.Nome.Insert(0, "---"); }; gruposOrganizados.Add(grupoDTO); } AdicionarGruposFilhos(gruposExistentes.Single(g => g.Id == grupoFilho.Id)); } nivelArvoreGrupos--; } }
public ActionResult Salvar(GrupoViewModel grupoForm) { if (ModelState.IsValid) { Grupo grupoPai = grupos.Com(g => g.Id == grupoForm.GrupoPai); if (String.IsNullOrEmpty(grupoForm.Id)) { Grupo grupo = new Grupo(grupoForm.Nome, grupoForm.Email, grupoPai); grupos.Salvar(grupo); // TODO enviar email //Email.AgendarEmail(grupo.Email, "{ Integer } Acesso ao calendário", grupo.ObterMensagemBoasVindas()); } else { Grupo grupo = grupos.Com(g => g.Id == grupoForm.Id); grupo.Alterar(grupoForm.Nome, grupoForm.Email, grupoPai); } } return PartialView("GrupoForm", grupoForm); }