public async Task <int> GravarPedido(PedidoDto pedido) { if (await clienteService.ObterClientePorId(pedido.Cliente.Id) != null) { var listaDeItens = new List <ItemPedido>(); foreach (var item in pedido.ItensDoPedido) { listaDeItens.Add(new ItemPedido(item.Produto.Id, item.Quantidade, item.PedidoId)); } var pedidoModel = new Pedido(pedido.Id, pedido.DataDoPedido, pedido.ValorDoPedido, pedido.Cliente.Id, listaDeItens); pedidoModel.AdicionarNumeroDoPedido(); return(await pedidoRepository.GravarPedido(pedidoModel)); } else { var clienteId = await clienteService.AdicionarCliente(pedido.Cliente); var listaDeItens = new List <ItemPedido>(); foreach (var item in pedido.ItensDoPedido) { listaDeItens.Add(new ItemPedido(item.Produto.Id, item.Quantidade, item.PedidoId)); } var pedidoContrutor = new Pedido(pedido.Id, pedido.DataDoPedido, pedido.ValorDoPedido, clienteId, listaDeItens); pedidoContrutor.AdicionarNumeroDoPedido(); return(await pedidoRepository.GravarPedido(pedidoContrutor)); } }
private void btnModPedido_Click(object sender, EventArgs e) { bool n = dgvPedidos.CurrentRow.Selected; if (n) { Pedido p = new Pedido(); int id = int.Parse(dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[0].Value.ToString()); int facturado = int.Parse(p.getGestor().getUnString("select facturado from pedidos where id_pedido = " + id)); if (facturado == 0) { PedidoDto pedidoDto = new PedidoDto( dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[0].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[1].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[2].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[3].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[4].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[5].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[6].Value.ToString() ); ModificaPedido mod = new ModificaPedido(this, pedidoDto); this.Hide(); mod.ShowDialog(); } else { MessageBox.Show("Un pedido que ya se ha dado la cuenta no se puede modificar", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Error, Selecciona el pedido a modificar", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void PedidoSemUsuarioComDadosEntrega() { List <ItemPedidoDto> itens = new List <ItemPedidoDto>(); itens.Add(new ItemPedidoDto { IdProduto1 = 1, IdProduto2 = 2 }); var enderecoDto = new EnderecoDto { Logradouro = "Rua da Silva", Numero = "209", Complemento = "Casa 10" }; PedidoDto pedido = new PedidoDto { Itens = itens, enderecoDto = enderecoDto }; var jsonContent = JsonConvert.SerializeObject(pedido); var contentString = new StringContent(jsonContent, Encoding.UTF8, "application/json"); var response = TestHttpClient.PostAsync("api/pedido/enviar", contentString).Result; var resp = response.Content.ReadAsStringAsync().Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public IList <PedidoDto> ListarPedidos() { var listaPedidos = db.PEDIDOS.Include(a => a.PIZZAS); var listaPedidosDto = new List <PedidoDto>(); foreach (var pedido in listaPedidos) { var pizza = db.PIZZAS.Include(a => a.SABORES) .Include(b => b.TAMANHOS) .Include(c => c.PIZZA_ADICIONAIS) .First(r => r.ID == pedido.PIZZAID); var pedidoDto = new PedidoDto() { Identificador = pedido.ID, Tamanho = pizza.TAMANHOS.DESCRICAO, Sabor = pizza.SABORES.DESCRICAO, Personalizacoes = PreencherLista(pizza.PIZZA_ADICIONAIS), TempoPreparo = pedido.TEMPOPREPARO, ValorTotal = pedido.VALORTOTAL }; listaPedidosDto.Add(pedidoDto); } return(listaPedidosDto); }
public MensajeDto ObtenerMensajeEnvio(PedidoDto pedido, DateTime fechaEntrega, double costoEnvio) { TiempoTranscurridoDto tiempoTranscurridoDto = _tiempoTranscurrido.ObtenerTiempoTranscurrido(fechaEntrega); ITiempoTranscurridoHandler tiempoTranscurridoMes = new TiempoTranscurridoMes(); ITiempoTranscurridoHandler tiempoTranscurridoDia = new TiempoTranscurridoDia(); ITiempoTranscurridoHandler tiempoTranscurridoHora = new TiempoTranscurridoHora(); ITiempoTranscurridoHandler tiempoTranscurridoMinuto = new TiempoTranscurridoMinuto(); tiempoTranscurridoMes.Next = tiempoTranscurridoDia; tiempoTranscurridoDia.Next = tiempoTranscurridoHora; tiempoTranscurridoHora.Next = tiempoTranscurridoMinuto; string mensajeTiempoTranscurrido = tiempoTranscurridoMes.ObtenerMensajeTiempoTranscurrido(tiempoTranscurridoDto.TotalTiempoTranscurrido); string mensaje = _generadorMensaje.GenerarMensaje(pedido, tiempoTranscurridoDto.EsTiempoPasado, mensajeTiempoTranscurrido, costoEnvio); ConsoleColor color = ConsoleColor.Yellow; if (tiempoTranscurridoDto.EsTiempoPasado) { color = ConsoleColor.Green; } return(new MensajeDto() { Mensaje = mensaje, Color = color }); }
public void PedidoSemDadosEntrega() { List <ItemPedidoDto> itens = new List <ItemPedidoDto>(); itens.Add(new ItemPedidoDto { IdProduto1 = 1, IdProduto2 = 2 }); PedidoDto pedido = new PedidoDto { Itens = itens }; var jsonContent = JsonConvert.SerializeObject(pedido); var contentString = new StringContent(jsonContent, Encoding.UTF8, "application/json"); var response = TestHttpClient.PostAsync("api/pedido/enviar", contentString).Result; var resp = response.Content.ReadAsStringAsync().Result; var responseData = JsonConvert.DeserializeObject <ErrorMessage>(resp); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); Assert.AreEqual("Informar os dados da entrega.", responseData.message); }
public PedidoDto BuscarIDPedidos(long id) { using (var context = new KosakoDBEntities()) { var aux = context.Pedidos.FirstOrDefault(x => x.Id == id); var aux2 = new PedidoDto { Adelanto = aux.Adelanto, Apellido = aux.Apellido, Nombre = aux.Nombre, FechaEntrega = aux.FechaEntrega, FechaPedido = aux.FechaPedido, Total = aux.Total, Id = aux.Id, Proceso = aux.Proceso, ClienteId = aux.ClienteId, Descripcion = aux.Descripcion, FechaRetiro = aux.FechaRetirado, Horario = aux.Horario, DiasHastaRetiro = aux.DiasHastaRetiro, FechaIniciado = aux.FechaPedido, EstaEliminado = aux.EstaEliminado }; return(aux2); } }
private void btnDetalles_Click(object sender, EventArgs e) { bool n = dgvPedidos.CurrentRow.Selected; if (n) { int id = int.Parse(dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[0].Value.ToString()); PedidoDto pedidoDto = new PedidoDto( dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[0].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[1].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[2].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[3].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[4].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[5].Value.ToString(), dgvPedidos.Rows[dgvPedidos.CurrentRow.Index].Cells[6].Value.ToString() ); DetallesPedido mod = new DetallesPedido(this, pedidoDto); this.Hide(); mod.ShowDialog(); } else { MessageBox.Show("Error, Selecciona el pedido a mostrar", "", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public PedidoDto ValidarFormatoPedido(string pedido) { string[] arregloPedido = pedido.Split(",".ToCharArray()); if (arregloPedido.Length < 6) { throw new FormatException("El texto con los datos del pedido no tiene el formato correcto. (" + pedido + ")"); } string fecha = arregloPedido[5].Trim(); string distancia = arregloPedido[2].Trim(); DateTime fechaPedido = _convertidorFecha.ConvertirTextoAFecha(fecha); double distanciaPedido = _convertidorDouble.ConvertirTextoADouble(distancia); PedidoDto pedidoDto = new PedidoDto() { Origen = arregloPedido[0].Trim(), Destino = arregloPedido[1].Trim(), Distancia = distanciaPedido, Paqueteria = arregloPedido[3].Trim(), Transporte = arregloPedido[4].Trim(), Fecha = fechaPedido }; return(pedidoDto); }
public long NuevoPedido(PedidoDto pedidoDto) { using (var context = new KosakoDBEntities()) { var nuevo = new AccesoDatos.Pedido { Adelanto = pedidoDto.Adelanto, Apellido = pedidoDto.Apellido, Nombre = pedidoDto.Nombre, FechaEntrega = pedidoDto.FechaEntrega, FechaPedido = pedidoDto.FechaPedido, Total = pedidoDto.Total, Proceso = pedidoDto.Proceso, ClienteId = pedidoDto.ClienteId, ApyNom = $"{pedidoDto.Apellido} {pedidoDto.Nombre}", Descripcion = pedidoDto.Descripcion, Horario = pedidoDto.Horario, DiasHastaRetiro = pedidoDto.DiasHastaRetiro, }; context.Pedidos.Add(nuevo); context.SaveChanges(); return(nuevo.Id); } }
public void Setup() { _envioService = new Mock <IEnvioService>(); _administradorMensaje = new Mock <IAdministradorMensaje>(); _rastreoService = new RastreoService(_envioService.Object, _administradorMensaje.Object); _pedido = new PedidoDto() { Destino = "Destino", Origen = "Origen", Distancia = 80, Paqueteria = "Paqueteria", Transporte = "Transporte" }; _paqueteria = new Fedex() { Nombre = "Fedex", MargenUtilidad = 40 }; _transporte = new Barco() { CostoXKilometro = 1, Nombre = "Barco", VelocidadEntrega = 46 }; }
public async Task <ActionResult> Post([FromBody] PedidoDto dp) { try { var pedido = new Pedido { DataPedido = DateTime.Now, Usuario = null }; var newDp = new DetalhePedido { Pedido = pedido, Produto = db.Products.FirstOrDefault(c => c.ProductId == Convert.ToInt32(dp.ProdutoId)), Quantidade = dp.Quantidade }; db.Add(newDp); await db.SaveChangesAsync();//INSERT INTO return(Ok()); } catch (Exception e) { return(View(e)); } }
public void Deve_mapear_pedido() { var produto = _faker.Random.Word(); var quantidade = _faker.Random.Int(0); var valor = _faker.Random.Decimal(); var cartaoDeCreditoDto = new CartaoDeCreditoDto { Numero = _faker.Random.Int(0).ToString(), Nome = _faker.Person.FirstName, CVV = _faker.Random.Int(100, 999).ToString(), Expiracao = "03/27" }; var cartaoDeCredito = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDto); var pedidoDto = new PedidoDto { Produto = produto, Quantidade = quantidade, Valor = valor, CartaoDeCreditoDto = cartaoDeCreditoDto }; var pedidoEsperado = PedidoBuilder.Novo().ComProduto(produto).ComQuantidade(quantidade).ComValor(valor) .ComCartaoDeCredito(cartaoDeCredito).Criar(); var pedidoObtido = MapeadorDePedido.Mapear(pedidoDto); pedidoEsperado.ToExpectedObject(ctx => ctx.Ignore(p => p.Id)).ShouldMatch(pedidoObtido); }
public IHttpActionResult SelecionarPedido(int id) { if (!db.PEDIDOS.Any(r => r.ID == id)) { return(BadRequest("Pedido informado inválido.")); } var pedido = db.PEDIDOS.Include(a => a.PIZZAS).First(r => r.ID == id); var pizza = db.PIZZAS.Include(a => a.SABORES) .Include(b => b.TAMANHOS) .Include(c => c.PIZZA_ADICIONAIS) .First(r => r.ID == pedido.PIZZAID); var pedidoDto = new PedidoDto() { Identificador = pedido.ID, Tamanho = pizza.TAMANHOS.DESCRICAO, Sabor = pizza.SABORES.DESCRICAO, Personalizacoes = PreencherLista(pizza.PIZZA_ADICIONAIS), TempoPreparo = pedido.TEMPOPREPARO, ValorTotal = pedido.VALORTOTAL }; return(Ok(pedidoDto)); }
public void PedidoComUsuarioSemDadosDeEntrega() { int IdUsuario = CadastrarUsuario(); List <ItemPedidoDto> itens = new List <ItemPedidoDto> { new ItemPedidoDto { IdProduto1 = 1, IdProduto2 = 2 } }; PedidoDto pedido = new PedidoDto { IdUsuario = IdUsuario, Itens = itens }; var jsonContent = JsonConvert.SerializeObject(pedido); var contentString = new StringContent(jsonContent, Encoding.UTF8, "application/json"); var response = TestHttpClient.PostAsync("api/pedido/enviar", contentString).Result; Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); }
public DetallesPedido(MostrarPedidos mos, PedidoDto pedidoDto) { this.mos = mos; this.pedidoDto = pedidoDto; InitializeComponent(); iniTable("and ref_pedido = " + pedidoDto.getId()); }
public async Task <Pedido> AdicionarPedido(PedidoDto pedidoDto) { try { var cliente = await BuscarClientePorId(pedidoDto.IdCliente); var fornecedor = await BuscarFornecedorPorId(pedidoDto.IdFornecedor); Pedido pedido = new Pedido(); pedido.Cliente = cliente; pedido.Fornecedor = fornecedor; foreach (int p in pedidoDto.ListItens) { var item = await BuscarItenPorId(p); pedido.Itens.Add(item); } _contexto.Pedido.Add(pedido); await _contexto.SaveChangesAsync(); return(BuscarTodosPedidos().Result.Where(x => x.Cliente.IdCliente == pedidoDto.IdCliente && x.Fornecedor.IdFornecedor == pedidoDto.IdFornecedor).FirstOrDefault()); } catch (Exception) { throw; } }
public ActionResult <Pedido> Cadastrar([FromBody] PedidoDto pedidoDto) { Retorno retornoPedido; Pedido pedido = _mapper.Map <Pedido>(pedidoDto); retornoPedido = _pedidoServico.PedidoValido(pedido); if (!retornoPedido._sucesso) { return(BadRequest(retornoPedido)); } bool produtoCadastrado = _pedidoServico.CadastraPedido(pedido); if (produtoCadastrado) { retornoPedido = new Retorno(true); retornoPedido.AdicionarMensagemSucesso("Pedido cadastrado com sucesso"); return(Ok(retornoPedido)); } retornoPedido = new Retorno(false); retornoPedido.AdicionarMensagemFalha("Falha ao cadastrar o pedido do cliente"); return(BadRequest(retornoPedido)); }
public async Task <PedidoDto> Post(PedidoDto pedidoDto) { var pedido = _mapper.Map <PedidoDto, Pedido>(pedidoDto); var cliente = await _unitOfWork.ClienteRepository.Get(pedido.Cliente.Nome, pedido.Cliente.SobreNome); if (cliente != null) { pedido.ClienteId = cliente.ClienteId; cliente.Email = pedidoDto.Cliente.Email; cliente.Telefone = pedidoDto.Cliente.Telefone; _unitOfWork.ClienteRepository.Update(cliente); pedido.Cliente = null; } var pedidoInserido = await _unitOfWork.PedidoRepository.InsertAsync(pedido); _unitOfWork.Save(); var pedidoDb = await _unitOfWork.PedidoRepository.Get(pedidoInserido.PedidoId); var pedidoInseridoDto = _mapper.Map <Pedido, PedidoDto>(pedidoDb); return(pedidoInseridoDto); }
public AgregarProductos(long pedidoId, bool semaforo) { InitializeComponent(); productoServicio = new ProductoServicio(); producto_vent = new Producto_Venta_Servicio(); ventaServicio = new VentaServicio(); detalleCajaServicio = new DetalleCajaServicio(); cajaServicio = new CajaServicio(); clienteServicio = new ClienteServicio(); talleServicio = new TalleServicio(); pedidoServicio = new PedidoServicio(); producto_Dato_Servicio = new Producto_Dato_Servicio(); producto_Pedido_Servicio = new Producto_Pedido_Servicio(); ctaCteServicio = new CtaCteServicio(); producto = new ProductoDto(); ListaVenta = new List <VentaDto2>(); ventaDto = new VentaDto(); _Semaforo = semaforo; _PedidoId = pedidoId; _Pedido = pedidoServicio.BuscarIDPedidos(pedidoId); _clienteId = _Pedido.ClienteId; Bandera = false; CargarTalle(); CargarDatos(); CargarGrilla(ListaVenta); CargarImageEnGeneral(); }
public void ValidarFormatoPedido_PedidoFormatoCorrecto_RegresaPedidoDto() { //Arrange string pedido = "Ticul,Motul,80,Estafeta,Tren,23-01-2020 12:00:00"; string origen = "Ticul"; string destino = "Motul"; double distancia = 80; string paqueteria = "Estafeta"; string transporte = "Tren"; DateTime fechaPedido = new DateTime(2020, 1, 23, 12, 0, 0); _convertidorFecha.Setup(s => s.ConvertirTextoAFecha(It.IsAny <string>())).Returns(fechaPedido);; _convertidorDouble.Setup(s => s.ConvertirTextoADouble(It.IsAny <string>())).Returns(distancia); //Act PedidoDto pedidoDto = _validadorFormatoPedido.ValidarFormatoPedido(pedido); //Assert Assert.AreEqual(origen, pedidoDto.Origen); Assert.AreEqual(destino, pedidoDto.Destino); Assert.AreEqual(distancia, pedidoDto.Distancia); Assert.AreEqual(paqueteria, pedidoDto.Paqueteria); Assert.AreEqual(transporte, pedidoDto.Transporte); Assert.AreEqual(fechaPedido, pedidoDto.Fecha); }
public PedidoDto RecuperaPedidoPeloId(int Id) { List <PedidoDto> pedidos = RecuperaPedidosDaSessao(); PedidoDto pedido = pedidos.Where(p => p.Id == Id).ToList().FirstOrDefault(); return(pedido); }
public IHttpActionResult EditarPedido(int contratoId, int pedidoId, [FromBody] PedidoDto pedido) { try { if (pedido.ContratoId != contratoId) { return(Conflict()); } else if (pedido.PedidoId != pedidoId) { return(Conflict()); } var pedidoEditado = _pedidoProcesso.EditarPedido(pedido); if (pedidoEditado) { return(NoContent()); } else { return(NotFound()); } } catch (RegraNegocioException e) { return(Content(HttpStatusCode.PreconditionFailed, e.Serializar())); } catch (Exception e) { return(InternalServerError(e)); } }
public async Task Deve_salvar_um_evento_de_pedido_criado_ao_criar_pedido() { var produto = _faker.Random.Word(); var quantidade = _faker.Random.Int(0); var valor = _faker.Random.Decimal(); var cartaoDeCreditoDto = new CartaoDeCreditoDto { Numero = _faker.Random.Int(0).ToString(), Nome = _faker.Person.FirstName, CVV = _faker.Random.Int(100, 999).ToString(), Expiracao = "03/27" }; var cartaoDeCredito = MapeadorDeCartaoDeCredito.Mapear(cartaoDeCreditoDto); var pedidoDto = new PedidoDto { Produto = produto, Quantidade = quantidade, Valor = valor, CartaoDeCreditoDto = cartaoDeCreditoDto }; var pedidoCriado = PedidoBuilder.Novo().ComProduto(produto).ComQuantidade(quantidade).ComValor(valor) .ComCartaoDeCredito(cartaoDeCredito).Criar(); var eventoEsperado = new PedidoCriadoEvento(pedidoCriado.Id, pedidoCriado.CartaoDeCredito.Nome, pedidoCriado.CartaoDeCredito.Numero, pedidoCriado.Produto, pedidoCriado.Valor); await _criacaoDePedido.Criar(pedidoDto); _eventoRepositorio.Verify(pr => pr.Salvar(It.Is <PedidoCriadoEvento>(evento => evento.ToExpectedObject(ctx => ctx.Ignore(p => p.Id)).Matches(eventoEsperado)))); }
public async Task Deve_notificar_que_pedido_foi_criado() { var produto = _faker.Random.Word(); var quantidade = _faker.Random.Int(0); var valor = _faker.Random.Decimal(); var cartaoDeCreditoDto = new CartaoDeCreditoDto { Numero = _faker.Random.Int(0).ToString(), Nome = _faker.Person.FirstName, CVV = _faker.Random.Int(100, 999).ToString(), Expiracao = "03/27" }; var pedidoDto = new PedidoDto { Produto = produto, Quantidade = quantidade, Valor = valor, CartaoDeCreditoDto = cartaoDeCreditoDto }; await _criacaoDePedido.Criar(pedidoDto); _mensageria.Verify(m => m.PublishAsync( It.Is <PedidoCriadoEvento>(p => p.Produto == produto && p.Valor == valor && p.NomeDoUsuario == cartaoDeCreditoDto.Nome))); }
public async Task <Pedido> AtualizarPedido(PedidoDto pedidoDto, long id) { try { var cliente = await BuscarClientePorId(pedidoDto.IdCliente); var fornecedor = await BuscarFornecedorPorId(pedidoDto.IdFornecedor); Pedido pedido = new Pedido(); pedido.Cliente = cliente; pedido.Fornecedor = fornecedor; pedido.IdPedido = id; foreach (int p in pedidoDto.ListItens) { var item = await BuscarItenPorId(p); pedido.Itens.Add(item); } _contexto.Pedido.Update(pedido); await _contexto.SaveChangesAsync(); return(pedido); } catch (Exception e) { throw new Exception(e.Message); } }
public void Deve_mapear_nulo_quando_pedido_dto_for_nulo() { PedidoDto pedidoDtoInvalido = null; var pedido = MapeadorDePedido.Mapear(pedidoDtoInvalido); Assert.Null(pedido); }
public MensajeDto ObtenerMensajeRastreo(PedidoDto pedido, IPaqueteria paqueteria, ITransporte transporte) { double tiempoTraslado = _envioService.CalcularTiempoTraslado(pedido.Distancia, transporte.VelocidadEntrega); DateTime fechaEntrega = _envioService.CalcularFechaEntrega(pedido.Fecha, tiempoTraslado); double costoEnvio = _envioService.CalcularCostoEnvio(pedido.Distancia, paqueteria.MargenUtilidad, transporte.CostoXKilometro); return(_administradorMensaje.ObtenerMensajeEnvio(pedido, fechaEntrega, costoEnvio)); }
public PedidoDto NovoPedido(PedidoDto dto) { var pedido = new Pedido(dto.GarcomId, dto.ClienteDocumento, dto.ClienteNome); pedidoRepository.Create(pedido); return(Mapper.Map <PedidoDto>(pedido)); }
public async Task <PedidoDto> Criar(PedidoDto dto) { var criarPedidoCommand = MapperModelAndDto.Map <CriarPedidoCommand>(dto); dto.IDPedido = await Mediator.Send(criarPedidoCommand); return(dto); }