Exemplo n.º 1
0
        public void InserirPlanilha_Grupo_Item()
        {
            var disciplina = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Disciplina> >()
                             .GetByProperty("NOME", "Engenharia Digital")
                             .ToList()
                             .First();

            var guid_configuracao = Guid.NewGuid().ToString();

            var configuracao = new Configuracao()
            {
                GUID       = guid_configuracao,
                NOME       = "nome_configuaracao",
                Disciplina = disciplina
            };

            DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Configuracao> >().Insert(configuracao);

            var c = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Configuracao> >().ReturnByGUID(guid_configuracao);

            var guid_arquivo = Guid.NewGuid().ToString();

            var livro = new ArquivoListas()
            {
                GUID         = guid_arquivo,
                NOME         = "nomea_rquivo",
                SIGLA        = "si",
                Configuracao = c
            };

            DIContainer.Instance.AppContainer.Resolve <AppServiceBase <ArquivoListas> >().Insert(livro);

            var l = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <ArquivoListas> >().ReturnByGUID(guid_arquivo);

            string guid_planilha = Guid.NewGuid().ToString();

            var planilha = new Planilha()
            {
                GUID = guid_planilha,
                NOME = "nomeplan",
                //GUID_TIPO = "guidtipo",
                Tipo              = l,
                FUNCAO            = "funcao",
                DESCRICAO         = "descricao",
                VERIFICADOR_UNICO = 0
            };

            DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Planilha> >().Insert(planilha);

            var p = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Planilha> >().ReturnByGUID(guid_planilha);

            Assert.IsTrue(p.NOME == "nomeplan");

            string guid_grupo = Guid.NewGuid().ToString();

            var grupo = new Grupo()
            {
                GUID      = guid_grupo,
                ORDENADOR = 1,
                //GUID_PLANILHA = "xxxxxx",
                Planilha = p,
                NOME     = "nomeGrupo"
            };

            DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Grupo> >().Insert(grupo);

            var g = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Grupo> >().ReturnByGUID(guid_grupo);

            string guid_item = Guid.NewGuid().ToString();

            var itemRev = new ItemRevisao()
            {
                GUID      = guid_item,
                ORDENADOR = 1,
                //GUID_GRUPO = "xxxxxx",
                Grupo     = g,
                DESCRICAO = "teste"
            };

            DIContainer.Instance.AppContainer.Resolve <AppServiceBase <ItemRevisao> >().Insert(itemRev);

            var plan = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Planilha> >().ReturnByGUID(guid_planilha);

            Assert.IsTrue(plan.ListaGrupos[0].NOME == "nomeGrupo");
            Assert.IsTrue(plan.ListaGrupos[0].ListaItens[0].DESCRICAO == "teste");
        }
Exemplo n.º 2
0
        //public static void Ler(IEnumerable<FileInfo> arquivos, Disciplina disciplina)
        //{
        //    var excelApp = new Application();
        //    excelApp.Visible = false;

        //    string guidConfiguracao = "";
        //    Configuracao cfg = null;
        //    var listaArquivos = new List<ArquivoListas>();

        //    using (var contextoConfiguracao = DIContainer.Instance.AppContainer.Resolve<AppServiceBase<Configuracao>>())
        //    {
        //        contextoConfiguracao.Start();

        //        if (disciplina != null)//listaDisciplinas.Count > 0)
        //        {


        //            var listaConfiguracoes = contextoConfiguracao.Query().ToList();


        //            if (!listaConfiguracoes.Exists(x => x.NOME.Equals(disciplina.NOME)))
        //            {

        //                guidConfiguracao = Guid.NewGuid().ToString();

        //                cfg = new Configuracao()
        //                {
        //                    NOME = disciplina.NOME,
        //                    Disciplina = disciplina,
        //                    GUID = guidConfiguracao
        //                };

        //            }
        //            else
        //            {
        //                guidConfiguracao = listaConfiguracoes.Find(x => x.NOME.Equals(disciplina.NOME)).GUID;
        //                cfg = contextoConfiguracao.ReturnByGUID(guidConfiguracao);

        //            }

        //        }



        //        foreach (FileInfo file in arquivos)
        //        {

        //            if (file.Extension == ".xls" || file.Extension == ".XLS" || file.Extension == ".xlsx" || file.Extension == ".XLSX")
        //            {

        //                Worksheet workSheet = null;
        //                Workbook workBook = null;

        //                string nomeArquivo = file.Name.Split('.')[0].Trim();

        //                if (!nomeArquivo.Contains('$'))
        //                {
        //                    if (!(cfg.ListaArquivos.Count > 0) || !cfg.ListaArquivos.Distinct().ToList().Exists(x => x.NOME == nomeArquivo))
        //                    {
        //                        var livro = new ArquivoListas()
        //                        {
        //                            GUID = Guid.NewGuid().ToString(),
        //                            NOME = nomeArquivo,
        //                            Configuracao = cfg,
        //                            SIGLA = ""
        //                        };

        //                        cfg.ListaArquivos.Add(livro);

        //                    }

        //                    workBook = excelApp.Workbooks.Open(file.FullName);

        //                    var wsPlanilhas = workBook.Worksheets;

        //                    if (!(cfg.ListaArquivos.Last().ListaPlanilhas.Count > 0) || (cfg.ListaArquivos.Last().ListaPlanilhas.Distinct().ToList().Count > 0 && wsPlanilhas.Count > 0))
        //                    {
        //                        for (int i = 1; i < wsPlanilhas.Count + 1; i++)
        //                        {


        //                            workSheet = (Worksheet)wsPlanilhas.get_Item(i);

        //                            string nomeAba = workSheet.Name;

        //                            if (cfg.ListaArquivos.Last().ListaPlanilhas.Distinct().ToList().FirstOrDefault(x => x.NOME.ToUpper() == nomeAba.ToUpper()) == null)
        //                            {

        //                                string cell = getColuna(3, 1);
        //                                var funcao = workSheet.get_Range(cell, cell).Text;

        //                                cell = getColuna(4, 1);
        //                                var descricaoPlanilha = workSheet.get_Range(cell, cell).Text;

        //                                Planilha planilha = new Planilha()
        //                                {
        //                                    GUID = Guid.NewGuid().ToString(),
        //                                    NOME = workSheet.Name,
        //                                    FUNCAO = funcao,
        //                                    DESCRICAO = descricaoPlanilha
        //                                };
        //                                cfg.ListaArquivos.Last().ListaPlanilhas.Add(planilha);

        //                                LeitoraPlanilha.Ler(workSheet, cfg, contextoConfiguracao);
        //                            }
        //                            else
        //                            {
        //                                LeitoraPlanilha.Ler(workSheet, cfg, contextoConfiguracao);
        //                            }



        //                        }
        //                    }
        //                    else if (wsPlanilhas.Count > 0)
        //                    {
        //                        for (int i = 1; i < wsPlanilhas.Count + 1; i++)
        //                        {
        //                            workSheet = (Worksheet)wsPlanilhas.get_Item(i);

        //                            string cell = getColuna(3, 1);
        //                            var funcao = workSheet.get_Range(cell, cell).Text;

        //                            cell = getColuna(4, 1);
        //                            var descricaoPlanilha = workSheet.get_Range(cell, cell).Text;

        //                            Planilha planilha = new Planilha()
        //                            {
        //                                GUID = Guid.NewGuid().ToString(),
        //                                NOME = workSheet.Name,
        //                                FUNCAO = funcao,
        //                                DESCRICAO = descricaoPlanilha
        //                            };

        //                            cfg.ListaArquivos.Last().ListaPlanilhas.Add(planilha);


        //                            LeitoraPlanilha.Ler(workSheet, cfg, contextoConfiguracao);
        //                        }
        //                    }

        //                    workBook.Close(false);

        //                }

        //                workSheet = null;

        //            }

        //        }

        //        contextoConfiguracao.Insert(cfg);
        //        contextoConfiguracao.Commit();

        //    }


        //}

        public static void LerUnico(FileInfo file, Disciplina disciplina)
        {
            var excelApp = new Application();

            excelApp.Visible = false;

            string       guidConfiguracao = "";
            Configuracao cfg           = null;
            var          listaArquivos = new List <ArquivoListas>();

            using (var contextoConfiguracao = DIContainer.Instance.AppContainer.Resolve <AppServiceBase <Configuracao> >())
            {
                contextoConfiguracao.Start();

                if (disciplina != null)//listaDisciplinas.Count > 0)
                {
                    var listaConfiguracoes = contextoConfiguracao.Query().ToList();


                    if (!listaConfiguracoes.Exists(x => x.NOME.Equals(disciplina.NOME)))
                    {
                        guidConfiguracao = Guid.NewGuid().ToString();

                        cfg = new Configuracao()
                        {
                            NOME       = disciplina.NOME,
                            Disciplina = disciplina,
                            GUID       = guidConfiguracao
                        };
                    }
                    else
                    {
                        guidConfiguracao = listaConfiguracoes.Find(x => x.NOME.Equals(disciplina.NOME)).GUID;
                        cfg = contextoConfiguracao.ReturnByGUID(guidConfiguracao);
                    }
                }



                //foreach (FileInfo file in arquivos)
                //{

                //if (file.Extension == ".xls" || file.Extension == ".XLS" || file.Extension == ".xlsx" || file.Extension == ".XLSX")
                //{

                Worksheet workSheet = null;
                Workbook  workBook  = null;

                string nomeArquivo = file.Name.Split('.')[0].Trim();

                //if (!nomeArquivo.Contains('$'))
                //{

                bool          existeArquivo = cfg.ListaArquivos.Distinct().ToList().Exists(x => x.NOME == nomeArquivo);
                ArquivoListas livro         = null;
                if (!(cfg.ListaArquivos.Count > 0) || !cfg.ListaArquivos.Distinct().ToList().Exists(x => x.NOME == nomeArquivo))
                {
                    livro = new ArquivoListas()
                    {
                        GUID         = Guid.NewGuid().ToString(),
                        NOME         = nomeArquivo,
                        Configuracao = cfg,
                        SIGLA        = ""
                    };

                    cfg.ListaArquivos.Add(livro);
                }
                else
                {
                    livro = cfg.ListaArquivos.Distinct().First(x => x.NOME == nomeArquivo);
                }

                workBook = excelApp.Workbooks.Open(file.FullName);

                var wsPlanilhas = workBook.Worksheets;

                if (wsPlanilhas.Count > 0)
                {
                    for (int i = 1; i < wsPlanilhas.Count + 1; i++)
                    {
                        workSheet = (Worksheet)wsPlanilhas.get_Item(i);

                        string nomeAba = workSheet.Name;

                        if (livro.ListaPlanilhas.Distinct().ToList().FirstOrDefault(x => x.NOME.ToUpper() == nomeAba.ToUpper()) == null)
                        {
                            string cell   = getColuna(3, 1);
                            string funcao = workSheet.get_Range(cell, cell).Text;

                            cell = getColuna(4, 1);
                            string descricaoPlanilha = workSheet.get_Range(cell, cell).Text;

                            Planilha planilha = new Planilha()
                            {
                                GUID              = Guid.NewGuid().ToString(),
                                NOME              = workSheet.Name,
                                FUNCAO            = funcao,
                                DESCRICAO         = descricaoPlanilha,
                                VERIFICADOR_UNICO = 1,
                                Tipo              = livro
                            };
                            livro.ListaPlanilhas.Add(planilha);

                            LeitoraPlanilha.Ler(workSheet, planilha, contextoConfiguracao);
                        }
                        //else
                        //{
                        //    LeitoraPlanilha.Ler(workSheet, cfg, contextoConfiguracao);
                        //}
                    }
                }
                //else if (wsPlanilhas.Count > 0)
                //{
                //    for (int i = 1; i < wsPlanilhas.Count + 1; i++)
                //    {
                //        workSheet = (Worksheet)wsPlanilhas.get_Item(i);

                //        string cell = getColuna(3, 1);
                //        var funcao = workSheet.get_Range(cell, cell).Text;

                //        cell = getColuna(4, 1);
                //        var descricaoPlanilha = workSheet.get_Range(cell, cell).Text;

                //        Planilha planilha = new Planilha()
                //        {
                //            GUID = Guid.NewGuid().ToString(),
                //            NOME = workSheet.Name,
                //            FUNCAO = funcao,
                //            DESCRICAO = descricaoPlanilha
                //        };

                //        cfg.ListaArquivos.Last().ListaPlanilhas.Add(planilha);


                //        LeitoraPlanilha.Ler(workSheet, cfg, contextoConfiguracao);
                //    }
                //}

                workBook.Close(false);

                //}

                workSheet = null;

                //}

                //}

                contextoConfiguracao.Update(cfg);
                contextoConfiguracao.Commit();
            }
        }