public Grupo_Novo_Criado_Corretamente() { string nome = "Grupo"; string email = "*****@*****.**"; grupoPai = MockRepository.GenerateStub<Grupo>(); grupo = new Grupo(nome, email, grupoPai); }
public Evento(string nome, string descricao, DateTime dataInicioEvento, DateTime dataFimEvento, Grupo grupo, TipoEventoEnum tipoDoEvento) { Preencher(nome, descricao, dataInicioEvento, dataFimEvento, grupo, tipoDoEvento); DataCadastro = SystemTime.Now(); Estado = EstadoEventoEnum.Agendado; Conflitos = new List<Conflito>(); Reservas = new List<Reserva>(); }
public static void CriarUsuario(this IDocumentSession session, Usuario usuario, Grupo grupo) { var usuarioExistente = session.Query<Usuario>().FirstOrDefault(u => u.Email == usuario.Email); if (usuarioExistente != null) throw new UsuarioExistenteException(usuarioExistente); grupo.PrecisaCriarUsuario = false; session.Store(usuario); }
public Grupo(string nome, string email, Grupo grupoPai) { PreencherNome(nome); PreencherGrupoPai(grupoPai); // TODO validar email this.Email = email; CriarSenhaPadrao(); }
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); }
private void PreencherGrupo(Grupo grupo) { #region pré-condição var grupoFoiInformado = Assertion.That(grupo != null).WhenNot("Necessário informar o grupo que promoverá o evento."); #endregion grupoFoiInformado.Validate(); Grupo = grupo; }
private void Preencher(string nome, string descricao, DateTime dataInicioEvento, DateTime dataFimEvento, Grupo grupo, TipoEventoEnum tipoDoEvento) { PreencherNome(nome); PreencherDescricao(descricao); PreencherDatas(dataInicioEvento, dataFimEvento); PreencherGrupo(grupo); PreencherTipo(tipoDoEvento); }
public void Alterar(string nome, string descricao, DateTime dataInicio, DateTime dataFim, Grupo grupo, TipoEventoEnum tipo) { bool dataInicioMudou = !this.DataInicio.Equals(dataInicio); bool dataFimMudou = !this.DataFim.Equals(dataFim); if (dataInicioMudou || dataFimMudou) { this.DataInicio = dataInicio; this.DataFim = dataFim; DomainEvents.Raise<HorarioDeEventoAlteradoEvent>(new HorarioDeEventoAlteradoEvent(this)); } this.Nome = nome; this.Descricao = descricao; this.Grupo = grupo; this.Tipo = tipo; // TODO: disparar DomainEvent de tipo alterado (se o tipo diminuiu a prioridade, o handler deverá remover os conflitos dos eventos menos prioritários até então) }
public void Alterar(string nome, string email, Grupo grupoPai) { PreencherNome(nome); PreencherGrupoPai(grupoPai); this.Email = email; }
private void PreencherGrupoPai(Grupo grupo) { this.GrupoPai = grupo; }
private void Cria_Grupo() { grupo = new Grupo(nome, email, grupoPai); }
public void Salvar(Grupo evento) { documentSession.Store(evento); }
private static void ImportarPara(IDocumentStore store) { Stopwatch sp = Stopwatch.StartNew(); using (var agenda = new AgendaContainer()) { Console.WriteLine("Começando..."); #region Locais Console.WriteLine("Importando Locais..."); IEnumerable<Local> locais = agenda.Local.ToList(); Console.WriteLine("Carregar Locais demorou: {0:#,#} ms", sp.ElapsedMilliseconds); var locaisRaven = new List<NovaVersaoParoquia.Local>(); using (IDocumentSession s = store.OpenSession()) { foreach (Local l in locais) { var local = new NovaVersaoParoquia.Local(l.Nome); s.Store(local); locaisRaven.Add(local); } s.SaveChanges(); } Console.WriteLine("Locais: " + locaisRaven.Count); #endregion #region Grupos Console.WriteLine("Importando Grupos..."); IEnumerable<Grupo> grupos = agenda.Grupo.ToList(); Console.WriteLine("Carregar Grupos demorou: {0:#,#} ms", sp.ElapsedMilliseconds); var gruposRaven = new List<NovaVersaoParoquia.Grupo>(); using (IDocumentSession s = store.OpenSession()) { #region grupos foreach (Grupo g in grupos) { var grupo = new NovaVersaoParoquia.Grupo(g.Nome, DeParaGrupoEmail(g.Id), null); s.Store(grupo); gruposRaven.Add(grupo); } #endregion s.SaveChanges(); } Console.WriteLine("Grupos: " + gruposRaven.Count); #endregion #region TiposEvento Console.WriteLine("Inserindo Tipos..."); using (IDocumentSession s = store.OpenSession()) { s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.Paroquial).ToString(), Nome = "Paroquial" }); s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.Sacramento).ToString(), Nome = "Sacramento" }); s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.GrandeMovimentoDePessoas).ToString(), Nome = "Grande movimento de pessoas" }); s.Store(new NovaVersaoAgenda.TipoEvento { Id = ((int)NovaVersaoAgenda.TipoEventoEnum.Comum).ToString(), Nome = "Comum" }); s.SaveChanges(); } #endregion #region Eventos Console.WriteLine("Importando Eventos..."); IEnumerable<Evento> eventos = agenda.Evento .Include("Grupo") .Include("ListaInternaConflitos") .Include("ListaInternaReservasDeLocais") .Where(e => e.DataInicio.Year >= 2012) .OrderBy(e => e.DataInicio).ToList(); Console.WriteLine("Para carregar eventos, demorou: {0:#,#} ms", sp.ElapsedMilliseconds); var eventosRaven = new List<NovaVersaoAgenda.Evento>(); using (IDocumentSession s = store.OpenSession()) { foreach (Evento ev in eventos) { var grupo = gruposRaven.Where(g => g.Nome == ev.Grupo.Nome).Single(); string descricao = ev.Descricao; if (descricao != null && descricao.Length > 150) descricao = descricao.Substring(0, 150); var evento = new NovaVersaoAgenda.Evento( ev.Nome, descricao, ev.DataInicio, ev.DataFim, grupo, DeParaTipoEvento(ev.Tipo)); s.Store(evento); eventosRaven.Add(evento); } s.SaveChanges(); } Console.WriteLine("Eventos: " + eventos.Count()); #endregion } }