public IActionResult AtualizaReleaseNatura(NaturaRelease naturaRelease, [FromServices] NaturaDAO naturaDAO) { _logger.LogInformation("Natura- Atualiza o status de execução da Release : {0} / User: {1}", naturaRelease.cod_release, User.Identity.Name); naturaDAO.AtualizaRelease_Natura(naturaRelease); return(RedirectToAction("ReleasesNatura", "Natura")); }
public IActionResult TestesNatura(string codRelease, [FromServices] NaturaDAO naturaDAO) { _logger.LogInformation("Natura- Lista de testes da Release cod: {0}/ User: {1}", codRelease, User.Identity.Name); NaturaRelease naturaRelease = naturaDAO.GetRelease(codRelease); List <NaturaTeste> naturaTestes = naturaDAO.ListaTestes_Natura(codRelease); ViewBag.Ambiente = naturaRelease.sistema; ViewBag.CodRelease = (from x in naturaTestes select x.cod_release).First(); return(View(naturaTestes)); }
internal void AddRelease_Natura(NaturaRelease naturaRelease) { try { _logger.LogInformation("Natura - Cadastrando release: {0} /n Ambiente: {1}, Status: {2}, Data Inicial: {3}, Data Final: {4}", naturaRelease.cod_release, naturaRelease.sistema, naturaRelease.status, naturaRelease.data_inicial, naturaRelease.data_final); string ConnectionString = _configuracoes.GetConnectionString("Sanity"); using (var mysqlCon = new MySqlConnection(ConnectionString)) { mysqlCon.Execute("INSERT INTO `Sanity`.`release_natura` (`cod_release`,`sistema`,`status`,`data_inicial`,`data_final`) VALUES (@cod_release,@sistema,@status,@data_inicial,@data_final);", new { naturaRelease.cod_release, naturaRelease.sistema, status = 0, naturaRelease.data_inicial, naturaRelease.data_final }); } } catch (Exception ex) { _logger.LogError("Erro: {0}", ex); } }
internal void AtualizaRelease_Natura(NaturaRelease naturaRelease) { try { string ConnectionString = _configuracoes.GetConnectionString("Sanity"); string query = @"UPDATE Sanity.release_natura SET status = @status, data_inicial = @data_inicial, data_final = @data_final, anotacoes = @anotacoes WHERE id_release = @id_release;"; using (var mysqlCon = new MySqlConnection(ConnectionString)) { mysqlCon.Execute(query, new { naturaRelease.status, naturaRelease.data_inicial, naturaRelease.data_final, naturaRelease.anotacoes, naturaRelease.id_release }); } } catch (Exception ex) { _logger.LogError("Erro: {0}", ex); } }
internal NaturaRelease GetRelease(string codRelease) { NaturaRelease release = new NaturaRelease(); try { string ConnectionString = _configuracoes.GetConnectionString("Sanity"); using (MySqlConnection mysqlCon = new MySqlConnection(ConnectionString)) { release = mysqlCon.Query <NaturaRelease>("SELECT * FROM Sanity.release_natura WHERE cod_release = @codRelease;", new { codRelease }).SingleOrDefault(); } } catch (Exception ex) { _logger.LogError("Erro: {0}", ex); } return(release); }
public IActionResult CadReleaseNatura(NaturaRelease naturaRelease, IFormFile file, [FromServices] NaturaDAO naturaDAO) { _logger.LogInformation("Natura- [HttPost] Cadastra nova release / User: {0}", User.Identity.Name); if (naturaRelease.sistema == "null") { ModelState.AddModelError("sistema", "Campo 'Ambiente' é obrigatorio"); return(View()); } if (!ModelState.IsValid) { return(View()); } else { int maxId = naturaDAO.GetMaxId_Release(); string webRootPath = _hostingEnvironment.WebRootPath; StringBuilder sb = new StringBuilder(); if (file is null) { ModelState.AddModelError("", "Planilha não encontrada!"); return(View()); } naturaRelease.cod_release = "Release_" + maxId.ToString(); List <NaturaTeste> listTestes = new List <NaturaTeste>(); if (file.Length > 0) { string sFileExtension = Path.GetExtension(file.FileName).ToLower(); ISheet sheet; string fullPath = Path.Combine(webRootPath, file.FileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); stream.Position = 0; if (sFileExtension == ".xls") { HSSFWorkbook hssfwb = new HSSFWorkbook(stream); //This will read the Excel 97-2000 formats sheet = hssfwb.GetSheetAt(0); //get first sheet from workbook } else { XSSFWorkbook hssfwb = new XSSFWorkbook(stream); //This will read 2007 Excel format sheet = hssfwb.GetSheetAt(0); //get first sheet from workbook } IRow headerRow = sheet.GetRow(0); //Get Header Row int cellCount = headerRow.LastCellNum; for (int i = (sheet.FirstRowNum + 1); i <= naturaRelease.qtdTestes; i++) //Read Excel File { IRow row = sheet.GetRow(i); var dataExec = row.GetCell(12)?.ToString(); DateTime?data = null; if (dataExec == "" || dataExec is null) { } else { data = Convert.ToDateTime(dataExec); } var prioridadeExcel = row.GetCell(13)?.ToString(); int prioridadeTeste = 0; if (prioridadeExcel == "" || prioridadeExcel is null) { } else { prioridadeTeste = Convert.ToInt16(row.GetCell(13)?.ToString()); } NaturaTeste naturaTeste = new NaturaTeste { cod_release = naturaRelease.cod_release, numero_teste = Convert.ToInt16(row.GetCell(0)?.ToString()), sistema = row.GetCell(1)?.ToString(), funcionalidade = row.GetCell(2)?.ToString(), cenario = row.GetCell(3)?.ToString(), pre_condicao = row.GetCell(4)?.ToString(), passos = row.GetCell(5)?.ToString(), result_esperado = row.GetCell(6)?.ToString(), pos_condicao = row.GetCell(7)?.ToString(), executor = row.GetCell(8)?.ToString(), massa = row.GetCell(9)?.ToString(), observacao = row.GetCell(10)?.ToString(), url_doc = row.GetCell(11)?.ToString(), data_execucao = data, prioridade = prioridadeTeste, cn_login = row.GetCell(14)?.ToString(), cn_senha = row.GetCell(15)?.ToString(), gr_login = row.GetCell(16)?.ToString(), gr_senha = row.GetCell(17)?.ToString(), lider_login = row.GetCell(18)?.ToString(), lider_senha = row.GetCell(19)?.ToString(), browser = row.GetCell(20)?.ToString(), execucao_status = 0, chamado_status = 0 }; listTestes.Add(naturaTeste); } } //Registra na tabela de releases da natura. naturaDAO.AddRelease_Natura(naturaRelease); //Add Testes foreach (NaturaTeste teste in listTestes) { naturaDAO.AddTest_Natura(teste); } //Deleta arquivo criado FileInfo fileInfo = new FileInfo(Path.Combine(webRootPath, file.FileName)); fileInfo.Delete(); } return(RedirectToAction("ReleasesNatura", "Natura")); } }