public ActionResult Post([FromBody] CompraDto compraDto) { if (compraDto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } var revendedora = _revendedoraService.Obter(compraDto.CpfRevendedor); if (revendedora == null) { return(NotFound("Revendedor(a) não encontrado(a)!")); } var compra = new CompraModel { CodigoCompra = compraDto.CodigoCompra, CpfRevendedor = compraDto.CpfRevendedor, DataCompra = compraDto.DataCompra, Valor = compraDto.Valor, RevendedoraId = revendedora.Id }; _compraService.Criar(compra); var created = Created($"/api/compra/{compra.Id}", compra); return(created); }
public static Compra Map(this CompraDto entity) { if (entity == null) { return(null); } return(new Compra() { Email = entity.Email, IdCompra = entity.IdCompra, IdCompraEntregaSku = entity.IdCompraEntregaSku, IdProdutoParceiro = entity.IdProdutoParceiro }); }
public CompraDto GetComprasByUsuario(Guid idUsuario) { var usuario = usuarioDao.GetById(idUsuario); var compraDto = new CompraDto { Nombre = usuario.Nombre, Apellido = usuario.Apellido }; var comprasDeUsuario = comprasDao.GetByIdUsuario(idUsuario); foreach (var c in comprasDeUsuario) { compraDto.TotalCreditos = compraDto.TotalCreditos + c.CantCreditos; compraDto.TotalPrecio = compraDto.TotalPrecio + c.Precio; } return(compraDto); }
public void Atualizar_Valor_Compra_Cashback_Sucesso_Test() { Autenticar(); var compraDto = new CompraDto { CodigoCompra = "R14B96E17", Valor = 1500.1, DataCompra = DateTime.Parse("2020-02-14"), CpfRevendedor = "123.123.123-23" }; CompraModel compra = null; if (AutenticadoComToken) { //ExecuteWithToken é um método de extensão que está na classe RetryPolicyExtensions, em Cashback_WebApi.Extensoes. var response = _jwtPolicy.ExecuteWithToken(_token, context => { var requestMessage = new HttpRequestMessage(HttpMethod.Put, "compra/8") { Content = new StringContent( JsonConvert.SerializeObject(compraDto), Encoding.UTF8, "application/json") }; requestMessage.Headers.Add("Authorization", $"Bearer {context["AccessToken"]}"); var responseMessage = _client.SendAsync(requestMessage).Result; return(responseMessage); }); if (response.IsSuccessStatusCode) { var conteudo = response.Content.ReadAsStringAsync().Result; compra = JsonConvert.DeserializeObject <CompraModel>(conteudo); } } double cashbackAtualizado = 300.02; Assert.IsTrue(compra.Cashback == cashbackAtualizado); }
public static Compra ToCompra(CompraDto dto) { if (dto == null) { return(null); } Compra compra = new Compra { Id = dto.Id, Activo = dto.Activo, Proveedor = ProveedorMapper.ToProveedor(dto.Proveedor), Fecha = dto.Fecha, Trabajador = TrabajadorMapper.ToTrabajador(dto.Trabajador), Detalles = ToDetalles(dto.Detalles), Estado = dto.Estado }; return(compra); }
public static CompraDto ToCompraDto(Compra compra) { if (compra == null) { return(null); } CompraDto dto = new CompraDto { Id = compra.Id, Activo = compra.Activo, Proveedor = ProveedorMapper.ToProveedorDto(compra.Proveedor), Fecha = compra.Fecha, Trabajador = TrabajadorMapper.ToTrabajadorDto(compra.Trabajador), Detalles = ToDetallesDto(compra.Detalles), Estado = compra.Estado }; return(dto); }
// POST: api/Compra public GenericResponse <String> Post([FromBody] CompraDto compra) { GenericResponse <String> response = new GenericResponse <String>(); try { servicio.Crear(compra); response = ResponseUtil.CrearRespuestaOk(); } catch (CustomResponseException ex) { throw ex; } catch (Exception ex) { throw new CustomResponseException(ex.Message, 500); } return(response); }
public ActionResult Put(int id, [FromBody] CompraDto compraDto) { if (compraDto == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } var compra = _compraService.Obter(id); if (compra == null) { return(NotFound("Venda não encontrada!")); } if (compra.Status == StatusCompraConstante.Aprovado) { return(StatusCode(405, "Venda já aprovada!")); } var revendedora = _revendedoraService.Obter(compraDto.CpfRevendedor); if (revendedora == null) { return(NotFound("Revendedor(a) não encontrado(a)!")); } compra.CodigoCompra = compraDto.CodigoCompra; compra.Valor = compraDto.Valor; compra.DataCompra = compraDto.DataCompra; compra.CpfRevendedor = compraDto.CpfRevendedor; _compraService.Atualizar(compra); return(Ok(compra)); }
public async Task <IActionResult> Post( [FromServices] BackendTestContext context, [FromBody] CompraDto model) { try { HttpClientHandler clientHandler = new HttpClientHandler(); clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return(true); }; // O gateway fornecido (http://sv-dev-01.pareazul.com.br:8080/api/gateways/compras) não conseguiu ser acessado // e por tanto decidi por usar a api de pagamentos implementada no item 6 como gateway Uri link = new Uri("http://127.0.0.1:5000/api/pagamento/compras"); var client = new HttpClient(clientHandler); Produto produto = await context.Produtos.AsNoTracking().FirstOrDefaultAsync(p => p.Id == model.Produto_Id); if (produto == null || produto.QtdeEstoque < model.Qtde_Comprada) { return(BadRequest("Ocorreu um erro desconhecido")); } PagamentoDto pagamento = new PagamentoDto() { Valor = produto.ValorUnitario * model.Qtde_Comprada, Cartao = model.Cartao }; var jsonInString = JsonConvert.SerializeObject(pagamento); var httpResponse = await client.PostAsync(link, new StringContent(jsonInString, Encoding.UTF8, "application/json")); httpResponse.EnsureSuccessStatusCode(); string respostaEmString = await httpResponse.Content.ReadAsStringAsync(); dynamic gatewayJson = JsonConvert.DeserializeObject(respostaEmString); DateTime now = DateTime.Now; // Atualizando a quantidade de estoque do produto e a data de atualização produto.QtdeEstoque = produto.QtdeEstoque - model.Qtde_Comprada; produto.DataAtualizacao = now; context.Entry(produto).State = EntityState.Modified; // Cadastrando a transação Transacao transacao = new Transacao() { ProdutoId = model.Produto_Id, ValorVenda = gatewayJson.valor, DataVenda = now, Estado = gatewayJson.estado }; context.Transacoes.Add(transacao); await context.SaveChangesAsync(); return(Ok("Venda realizada com sucesso")); } catch { return(BadRequest("Ocorreu um erro desconhecido")); } }
public void Actualizar(CompraDto compra) { repositorio.Actualizar(CompraMapper.ToCompra(compra)); }
public void Crear(CompraDto compra) { repositorio.Crear(CompraMapper.ToCompra(compra)); }
public CompraItemDto() { Compra = new CompraDto(); }