public void VerificarSeSeExcluiu() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repo = new CaminhaoRepository(contexto, repoCaminhaoModelo); Caminhao caminhao = new Caminhao("Nome 1", 2020, 2021, new CaminhaoModelo("FH", true)); var dbSet = contexto.Set <Caminhao>(); dbSet.Add(caminhao); contexto.SaveChanges(); var id = caminhao.id; //act repo.Excluir(caminhao.id); //assert Assert.Equal(0, dbSet.Where(c => c.id == id).Count()); }
public void VerificarViewResultado() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repoCaminhao = new CaminhaoRepository(contexto, repoCaminhaoModelo); CaminhaoController caminhaoController = new CaminhaoController( repoCaminhaoModelo, repoCaminhao ); Caminhao caminhao = new Caminhao("Nome 1", 2020, 2021, new CaminhaoModelo("FH", true)); var dbSet = contexto.Set <Caminhao>(); dbSet.Add(caminhao); contexto.SaveChanges(); var id = caminhao.id; //act var resultado = caminhaoController.Excluir(caminhao.id) as RedirectToActionResult; //assert Assert.Equal("Visualizar", resultado.ActionName); }
public void VerificarSeListaTodos() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repo = new CaminhaoRepository(contexto, repoCaminhaoModelo); var dbSet = contexto.Set <Caminhao>(); dbSet.Add(new Caminhao("Nome 1", 2020, 2021, new CaminhaoModelo("FH", true))); dbSet.Add(new Caminhao("Nome 2", 2020, 2020, new CaminhaoModelo("FM", true))); dbSet.Add(new Caminhao("Nome 3", 2019, 2020, new CaminhaoModelo("TR", true))); dbSet.Add(new Caminhao("Nome 4", 2019, 2019, new CaminhaoModelo("GT", true))); contexto.SaveChanges(); //act var listaCaminhaoTodos = repo.ListarTodos(); //assert Assert.Equal(4, listaCaminhaoTodos.Count); }
public void VerificarSeInclui() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repo = new CaminhaoRepository(contexto, repoCaminhaoModelo); Caminhao caminhao = new Caminhao("Nome 1", 2020, 2021, new CaminhaoModelo("FH", true)); CadastroViewModel cadastroViewModel = new CadastroViewModel(); cadastroViewModel.idCaminhao = 0; cadastroViewModel.caminhao = caminhao; var dbSet = contexto.Set <Caminhao>(); CaminhaoController caminhaoController = new CaminhaoController( repoCaminhaoModelo, repo ); //act caminhaoController.Inserir(cadastroViewModel); //assert Assert.Equal(1, dbSet.Count()); }
//método para atualizar Caminhao.. public JsonResult AtualizarCaminhao(CaminhaoEdicaoViewModel model) { try { //criando um objeto da classe de entidade.. Caminhao c = new Caminhao(); c.IdCaminhao = model.IdCaminhao; c.Marca = model.Marca; c.Modelo = model.Modelo; c.Placa = model.Placa; c.KmInicial = model.KmInicial; c.Foto = model.Foto; c.IdMotorista = model.IdMotorista; c.IdProprietario = model.IdProprietario; CaminhaoRepository rep = new CaminhaoRepository(); rep.Update(c); return(Json($"Caminhão {c.Modelo}, atualizado com sucesso.")); } catch (Exception e) { return(Json(e.Message)); } }
//método para retornar 1 Caminhao pelo id.. public JsonResult ObterCaminhao(int idCaminhao) { try { //buscar 1 automovel no banco de dados pelo id.. CaminhaoRepository rep = new CaminhaoRepository(); Caminhao c = rep.FindById(idCaminhao); //retornando para a página.. CaminhaoConsultaViewModel model = new CaminhaoConsultaViewModel(); model.IdCaminhao = c.IdCaminhao; model.Marca = c.Marca; model.Modelo = c.Modelo; model.Placa = c.Placa; model.KmInicial = c.KmInicial; model.Foto = c.Foto; model.IdMotorista = c.IdMotorista; model.IdProprietario = c.IdProprietario; //enviando para a página.. return(Json(model, JsonRequestBehavior.AllowGet)); } catch (Exception e) { //retornar mensagem de erro.. return(Json(e.Message, JsonRequestBehavior.AllowGet)); } }
//JsonResult -> Receber chamadas AJAX (JavaScript).. public JsonResult CadastrarCaminhao(CaminhaoCadastroViewModel model) { //verificar se os dados da model passaram nas validações.. if (ModelState.IsValid) { try { Caminhao c = new Caminhao(); c.Marca = model.Marca; c.Modelo = model.Modelo; c.Placa = model.Placa; c.KmInicial = model.KmInicial; c.Foto = model.Foto; c.IdMotorista = model.IdMotorista; c.IdProprietario = model.IdProprietario; //gravar no banco.. CaminhaoRepository rep = new CaminhaoRepository(); rep.Insert(c); return(Json($"Caminhão {c.Modelo}, cadastrado com sucesso.")); } catch (Exception e) { //retornar mensagem de erro.. return(Json(e.Message)); } } else { //criar uma rotina para retornar as mensagens de erro de //valicação para cada campo da classe viewModel.. Hashtable erros = new Hashtable(); //varrer o objeto ModelState.. foreach (var state in ModelState) { //verificar se o elemento contem erro.. if (state.Value.Errors.Count > 0) { //adicionar o erro dentro do Hashtable.. erros[state.Key] = state.Value.Errors .Select(e => e.ErrorMessage).First(); } } //retornar erros de validações.. STATUS 400.. Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(erros)); } }
//método para excluir um Caminhao.. public JsonResult ExcluirCaminhao(int idCaminhao) { try { //buscar o Caminhao na base de dados pelo id.. CaminhaoRepository rep = new CaminhaoRepository(); Caminhao c = rep.FindById(idCaminhao); //excluindo o Caminhao rep.Delete(c); //retornando mensagem de sucesso.. return(Json($"Caminhão {c.Modelo},excluído com sucesso.", JsonRequestBehavior.AllowGet)); } catch (Exception e) { return(Json(e.Message, JsonRequestBehavior.AllowGet)); } }
public void VerificarViewResultado() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repo = new CaminhaoRepository(contexto, repoCaminhaoModelo); CaminhaoController caminhaoController = new CaminhaoController( repoCaminhaoModelo, repo ); //act var resultado = caminhaoController.Cadastro(0) as ViewResult; //assert Assert.Equal("Cadastro", resultado.ViewName); }
public void VerificarSeEstaInserindo() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repo = new CaminhaoRepository(contexto, repoCaminhaoModelo); var dbSet = contexto.Set <Caminhao>(); Caminhao caminhao = new Caminhao("Nome 2", 2020, 2020, new CaminhaoModelo("FM", true)); //act repo.Salvar(caminhao, 0); //assert Assert.Equal(1, dbSet.Count()); }
//método para retornar a consulta de aumomovel para o Angular.. public JsonResult ConsultarCaminhoes() { try { //declarar uma lista da classe automovelConsultaViewModel.. List <CaminhaoConsultaViewModel> lista = new List <CaminhaoConsultaViewModel>(); //varrer cada Caminhao obtido do banco de dados CaminhaoRepository rep = new CaminhaoRepository(); foreach (Caminhao c in rep.FindAll()) { CaminhaoConsultaViewModel model = new CaminhaoConsultaViewModel(); model.IdCaminhao = c.IdCaminhao; model.Marca = c.Marca; model.Modelo = c.Modelo; model.Placa = c.Placa; model.KmInicial = c.KmInicial; model.Foto = c.Foto; model.IdMotorista = c.IdMotorista; model.NomeMotorista = c.Motorista.Nome; model.IdProprietario = c.IdProprietario; model.NomeProprietario = c.Proprietario.Nome; lista.Add(model); //adicionando na lista.. } //retornando a lista.. return(Json(lista, JsonRequestBehavior.AllowGet)); } catch (Exception e) { //retornar erro.. return(Json(e.Message, JsonRequestBehavior.AllowGet)); } }
public void VerificarSeListaPorID() { //arrange var options = new DbContextOptionsBuilder <CaminhaoContext>() .UseInMemoryDatabase("CaminhaoContext_" + DateTime.Now.ToFileTimeUtc()) .Options; var contexto = new CaminhaoContext(options); var repoCaminhaoModelo = new CaminhaoModeloRepository(contexto); var repo = new CaminhaoRepository(contexto, repoCaminhaoModelo); var dbSet = contexto.Set <Caminhao>(); int id = 0; String nome = "Nome 1"; int anoFabricacao = 2020; int AnoModelo = 2021; Caminhao caminhao = new Caminhao(nome, anoFabricacao, AnoModelo, new CaminhaoModelo("FH", true)); dbSet.Add(caminhao); dbSet.Add(new Caminhao("Nome 2", 2020, 2020, new CaminhaoModelo("FM", true))); dbSet.Add(new Caminhao("Nome 3", 2019, 2020, new CaminhaoModelo("TR", true))); dbSet.Add(new Caminhao("Nome 4", 2019, 2019, new CaminhaoModelo("GT", true))); contexto.SaveChanges(); id = caminhao.id; //act var caminhaoInserido = repo.ListarPorID(id); //assert Assert.Equal(nome, caminhaoInserido.nome); Assert.Equal(anoFabricacao, caminhaoInserido.anoFabricacao); Assert.Equal(AnoModelo, caminhaoInserido.anoModelo); }
//método para retornar o relatorio de Caminhao.. public void Relatorio() { //criando o conteudo do relatorio.. StringBuilder conteudo = new StringBuilder(); conteudo.Append("<h1 class='titulo'>Relatório de Caminhões</h1>"); conteudo.Append("<h4 class='titulo'>VJC TECHNOLOGY</h4>"); conteudo.Append($"<p>Relatório gerado em: {DateTime.Now} </p>"); conteudo.Append("<br/>"); conteudo.Append("<table>"); conteudo.Append("<tr>"); conteudo.Append("<th>Foto</th>"); conteudo.Append("<th>Modelo</th>"); conteudo.Append("<th>Marca</th>"); conteudo.Append("<th>Placa</th>"); conteudo.Append("<th>Km</th>"); conteudo.Append("<th>Motorista</th>"); conteudo.Append("<th>Proprietário</th>"); conteudo.Append("</tr>"); CaminhaoRepository rep = new CaminhaoRepository(); foreach (Caminhao c in rep.FindAll()) { conteudo.Append("<tr>"); conteudo.Append($"<td><img src='{c.Foto}' height='60'/></td>"); conteudo.Append($"<td>{c.Marca}</td>"); conteudo.Append($"<td>{c.Modelo}</td>"); conteudo.Append($"<td>{c.Placa}</td>"); conteudo.Append($"<td>{c.KmInicial}</td>"); conteudo.Append($"<td>{c.Motorista.Nome}</td>"); conteudo.Append($"<td>{c.Proprietario.Nome}</td>"); conteudo.Append("</tr>"); } conteudo.Append("</table>"); //buscando o arquivo CSS.. var css = Server.MapPath("/css/relatorio.css"); //transformando o conteudo em arquivo PDF.. ReportsUtil util = new ReportsUtil(); byte[] pdf = util.GetPDF(conteudo.ToString(), css); //Download.. Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment; filename=relatorio.pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.BinaryWrite(pdf); Response.End(); }