public void CrudPedidoSimples() { RequisicaoEntidadeDto <PedidoDto> requisicaoDto = new RequisicaoEntidadeDto <PedidoDto>() { EntidadeDto = RetornarNovoPedidoSimples() }; Assert.IsTrue(Utilidades.RetornarAutenticacaoRequisicaoPreenchida(requisicaoDto)); PedidoBll pedidoBll = new PedidoBll(true); // Incluir pedido RetornoDto retornoDto = new RetornoDto(); pedidoBll.Incluir(requisicaoDto, ref retornoDto); Assert.AreEqual(true, retornoDto.Retorno); RetornoObterDto <PedidoDto> retornoObterDto = new RetornoObterDto <PedidoDto>(); RequisicaoObterDto requisicaoObterDto = new RequisicaoObterDto() { Id = requisicaoDto.EntidadeDto.Id, IdUsuario = requisicaoDto.IdUsuario, Identificacao = requisicaoDto.Identificacao }; // Obter pedido pedidoBll.Obter(requisicaoObterDto, ref retornoObterDto); Assert.AreEqual(true, retornoObterDto.Retorno); requisicaoDto.EntidadeDto = retornoObterDto.Entidade; requisicaoDto.EntidadeDto.ListaItens[0].PrecoProduto = 28; requisicaoDto.EntidadeDto.ListaItens.RemoveAt(1); requisicaoDto.EntidadeDto.Total = 28; requisicaoDto.EntidadeDto.RecebidoDebito = 28; requisicaoDto.EntidadeDto.RecebidoDinheiro = 0; // Editar pedido retornoDto = new RetornoDto(); pedidoBll.Editar(requisicaoDto, ref retornoDto); Assert.AreEqual(true, retornoDto.Retorno); // Excluir pedido retornoDto = new RetornoDto(); pedidoBll.Excluir(requisicaoObterDto, ref retornoDto); Assert.AreEqual(true, retornoDto.Retorno); }
public ActionResult Editar(PedidoModel model) { //Se não tiver login, encaminhar para a tela de login if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao)) { return(RedirectToAction("Login", "Usuario")); } ModelState.Where(p => p.Key.Contains("Entrega.ClienteEndereco.")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p)); ModelState.Where(p => p.Key.Contains("Cliente.")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p)); ModelState.Where(p => p.Key.Contains("ListaItens")).Select(p => p.Key).ToList().ForEach(p => ModelState.Remove(p)); //Valida a entidade recebida if (!ModelState.IsValid) { return(View(model)); } string mensagemErro = ""; if (!PrepararCadastros(ref model, ref mensagemErro)) { ModelState.AddModelError("", mensagemErro); return(View(model)); } //Converte para DTO PedidoDto pedidoDto = new PedidoDto(); if (!model.ConverterModelParaDto(ref pedidoDto, ref mensagemErro)) { ViewBag.MensagemErro = mensagemErro; return(View("Erro")); } //Preparar requisição e retorno RetornoDto retorno = new RetornoDto(); RequisicaoEntidadeDto <PedidoDto> requisicaoDto = new RequisicaoEntidadeDto <PedidoDto>() { EntidadeDto = pedidoDto, Identificacao = SessaoUsuario.SessaoLogin.Identificacao, IdUsuario = SessaoUsuario.SessaoLogin.IdUsuario }; //Consumir o serviço PedidoBll pedidoBll = new PedidoBll(true); pedidoBll.Editar(requisicaoDto, ref retorno); //Tratar o retorno if (retorno.Retorno == false) { ModelState.AddModelError("", retorno.Mensagem); return(View(model)); } TempData["Retorno"] = "ALTERADO"; //Voltar para o visualizar do pedido return(RedirectToAction("Index")); }