Aplicação desenvolvida em ASP.NET Core MVC (.NET 6) com Dapper e SQL Server, simulando um sistema de gestão de pedidos.
- Clientes (Customers)
- CRUD completo (cadastrar, editar, excluir, pesquisar por nome/email)
- Produtos (Products)
- CRUD completo (cadastrar, editar, excluir, pesquisar por nome)
- Controle de estoque
- Pedidos (Orders)
- Criar pedido com múltiplos itens
- Validação de estoque no servidor (não deixa criar sem saldo)
- Abatimento automático de estoque ao confirmar
- Listagem com filtros (por cliente e status)
- Detalhes do pedido com itens, subtotal e total calculados
- Atualização de status (
New → Processing → Finished)
- Notificações
- Registro de cada alteração de status na tabela
Notifications
- Registro de cada alteração de status na tabela
- Back-end: ASP.NET Core MVC (C#) + .NET 6
- Banco de dados: SQL Server
- ORM leve: Dapper
- UI: Bootstrap 5 + jQuery
- Padrões: Repositories, Dependency Injection, ViewModels
📌 Observações
Projeto feito sem scaffolding, apenas código manual.
Estrutura clara: MVC + Repository Pattern + Dapper.
Fácil expansão para login/autenticação ou API REST.
- .NET SDK 6.0
- SQL Server (instância local ou remota)
- SQL Server Management Studio (SSMS) ou Azure Data Studio
No SSMS, rode o script:
Esse script cria:
Banco UxComexOrdersDb
Tabelas (Customers, Products, Orders, OrderItems, Notifications)
Dados iniciais (3 clientes e 4 produtos)
Ajustar conexão
No arquivo WebApp/appsettings.json configure a connection string.
Customers
Criar, editar, excluir e pesquisar clientes
Products
Criar, editar, excluir e pesquisar produtos
Orders
Criar pedido com vários itens
Validar erro ao tentar criar sem estoque
Conferir abatimento automático de estoque
Listar pedidos e aplicar filtros
Alterar status e verificar histórico em Notifications
Dashboard :
Listagem de clientes :
Criação de pedido :
Detalhes do pedido :
👨💻 Desenvolvido por Lucas Alexandre — desafio técnico UXComex.