Beispiel #1
0
        static void Main(string[] args)
        {
            IContainer container = new Container();

            ContainerInitiazer.Initialize(container);

            string         map_file        = "/home/gvso/Desktop/WEMSimUnity/Unity/Assets/Scripts/Example/Config/example.map.yml";
            MapInitializer map_initializer =
                (MapInitializer)container.Get("map.initializer");

            map_initializer.Initialize(map_file);

            //Map map = (Map) container.Get("map");
            //Console.Write(map);

            List <string> agenda_files = new List <string> ();

            agenda_files.Add("/home/gvso/Desktop/WEMSimUnity/Unity/Assets/Scripts/Example/Config/Agendas/example.agenda.yml");
            agenda_files.Add("/home/gvso/Desktop/WEMSimUnity/Unity/Assets/Scripts/Example/Config/Agendas/example2.agenda.yml");

            AgendaInitializer agenda_initializer =
                (AgendaInitializer)container.Get("agenda.initializer");

            agenda_initializer.Initialize(agenda_files);

            AgendaContainer agenda_container = (AgendaContainer)container.Get("agenda.container");

            Console.WriteLine(agenda_container.Get("example.agenda"));
            /*Console.WriteLine(agenda_container.Get("example2.agenda"));*/
        }
Beispiel #2
0
 /**
  * MapInitializer constructor.
  *
  * @param Wem.Agenda.AgendaContainer agendas
  *   The container of agendas.
  * @param Wem.Yaml.MapDeserializer deserializer
  *   The map deserializer.
  */
 public MapInitializer(IMap map,
                       AgendaContainer agendas,
                       MapDeserializer deserializer)
 {
     this.map          = map;
     this.agendas      = agendas;
     this.deserializer = deserializer;
 }
Beispiel #3
0
        /**
         * Initializes all the essentials services.
         *
         * @param IContainer container
         *   The service container where to store the services.
         */
        public static void Initialize(IContainer container)
        {
            /*
             * These services do not depend on anything.
             */
            container.Set("map", Map.Map.create(container));
            container.Set("agenda.container", AgendaContainer.create(container));
            container.Set("agenda.generator", AgendaGenerator.create(container));
            container.Set("yaml.agenda.deserializer", AgendaDeserializer.create(container));
            container.Set("yaml.map.deserializer", MapDeserializer.create(container));

            /*
             * These services depends on other services.
             */
            container.Set("map.initializer", MapInitializer.create(container));

            // Agenda Initializer expects the map to be fully initialized.
            container.Set("agenda.initializer", AgendaInitializer.create(container));
        }
Beispiel #4
0
        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
            }
        }