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"); }
//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(); } }