Skip to content

Commit 7ce0770

Browse files
committed
#180 - Camada de application de pedido - pt I
1 parent 247ed8e commit 7ce0770

File tree

5 files changed

+123
-1
lines changed

5 files changed

+123
-1
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
using JSE.Core.Messages;
2+
using JSE.Pedidos.API.Application.DTO;
3+
4+
namespace JSE.Pedidos.API.Application.Commands
5+
{
6+
public class AdicionarPedidoCommand : Command
7+
{
8+
// Pedido
9+
public Guid ClienteId { get; set; }
10+
public decimal ValorTotal { get; set; }
11+
public List<PedidoItemDTO> PedidoItems { get; set; }
12+
13+
// Voucher
14+
public string VoucherCodigo { get; set; }
15+
public bool VoucherUtilizado { get; set; }
16+
public decimal Desconto { get; set; }
17+
18+
// Endereco
19+
public EnderecoDTO Endereco { get; set; }
20+
21+
// Cartao
22+
public string NumeroCartao { get; set; }
23+
public string NomeCartao { get; set; }
24+
public string ExpiracaoCartao { get; set; }
25+
public string CvvCartao { get; set; }
26+
}
27+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
namespace JSE.Pedidos.API.Application.DTO
2+
{
3+
public class EnderecoDTO
4+
{
5+
public string Logradouro { get; set; }
6+
public string Numero { get; set; }
7+
public string Complemento { get; set; }
8+
public string Bairro { get; set; }
9+
public string Cep { get; set; }
10+
public string Cidade { get; set; }
11+
public string Estado { get; set; }
12+
}
13+
}
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
using JSE.Pedidos.Domain.Pedidos;
2+
3+
namespace JSE.Pedidos.API.Application.DTO
4+
{
5+
public class PedidoDTO
6+
{
7+
public Guid Id { get; set; }
8+
public int Codigo { get; set; }
9+
10+
public int Status { get; set; }
11+
public DateTime Data { get; set; }
12+
public decimal ValorTotal { get; set; }
13+
14+
public decimal Desconto { get; set; }
15+
public string VoucherCodigo { get; set; }
16+
public bool VoucherUtilizado { get; set; }
17+
18+
public List<PedidoItemDTO> PedidoItems { get; set; }
19+
public EnderecoDTO Endereco { get; set; }
20+
21+
public static PedidoDTO ParaPedidoDTO(Pedido pedido)
22+
{
23+
var pedidoDTO = new PedidoDTO
24+
{
25+
Id = pedido.Id,
26+
Codigo = pedido.Codigo,
27+
Status = (int)pedido.PedidoStatus,
28+
Data = pedido.DataCadastro,
29+
ValorTotal = pedido.ValorTotal,
30+
Desconto = pedido.Desconto,
31+
VoucherUtilizado = pedido.VoucherUtilizado,
32+
PedidoItems = new List<PedidoItemDTO>(),
33+
Endereco = new EnderecoDTO()
34+
};
35+
36+
foreach (var item in pedido.PedidoItems)
37+
{
38+
pedidoDTO.PedidoItems.Add(new PedidoItemDTO
39+
{
40+
Nome = item.ProdutoNome,
41+
Imagem = item.ProdutoImagem,
42+
Quantidade = item.Quantidade,
43+
ProdutoId = item.ProdutoId,
44+
Valor = item.ValorUnitario,
45+
PedidoId = item.PedidoId
46+
});
47+
}
48+
49+
pedidoDTO.Endereco = new EnderecoDTO
50+
{
51+
Logradouro = pedido.Endereco.Logradouro,
52+
Numero = pedido.Endereco.Numero,
53+
Complemento = pedido.Endereco.Complemento,
54+
Bairro = pedido.Endereco.Bairro,
55+
Cep = pedido.Endereco.Cep,
56+
Cidade = pedido.Endereco.Cidade,
57+
Estado = pedido.Endereco.Estado,
58+
};
59+
60+
return pedidoDTO;
61+
}
62+
}
63+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using JSE.Pedidos.Domain.Pedidos;
2+
3+
namespace JSE.Pedidos.API.Application.DTO
4+
{
5+
public class PedidoItemDTO
6+
{
7+
public Guid PedidoId { get; set; }
8+
public Guid ProdutoId { get; set; }
9+
public string Nome { get; set; }
10+
public decimal Valor { get; set; }
11+
public string Imagem { get; set; }
12+
public int Quantidade { get; set; }
13+
14+
public static PedidoItem ParaPedidoItem(PedidoItemDTO pedidoItemDTO)
15+
{
16+
return new PedidoItem(pedidoItemDTO.ProdutoId, pedidoItemDTO.Nome, pedidoItemDTO.Quantidade,
17+
pedidoItemDTO.Valor, pedidoItemDTO.Imagem);
18+
}
19+
}
20+
}

src/services/JSE.Pedido.API/JSE.Pedidos.API.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
</ItemGroup>
2121

2222
<ItemGroup>
23-
<Folder Include="Application\Commands\" />
2423
<Folder Include="Application\Events\" />
2524
</ItemGroup>
2625

0 commit comments

Comments
 (0)