Para este desafio, você precisará usar seus conhecimentos adquiridos no módulo de Nuvem com Microsoft Azure, da trilha .NET da DIO.
Você precisa construir um sistema de RH, onde para essa versão inicial do sistema o usuário poderá cadastrar os funcionários de uma empresa.
Essa cadastro precisa precisa ter um CRUD, ou seja, deverá permitir obter os registros, criar, salvar e deletar esses registros. A sua aplicação também precisa armazenar logs de toda e qualquer alteração que venha a ocorrer com um funcionário.
A sua aplicação deverá ser do tipo Web API, Azure Functions ou MVC, fique a vontade para implementar a solução que achar mais adequado.
A sua aplicação deverá ser implantada no Microsoft Azure, utilizando o App Service para a API, SQL Database para o banco relacional e Azure Table para armazenar os logs.
A sua aplicação deverá armazenar os logs de todas as alterações que venha a acontecer com o funcionário. Os logs deverão serem armazenados em uma Azure Table.
A sua classe principal, a classe Funcionario e a FuncionarioLog, deve ser a seguinte:
A classe FuncionarioLog é filha da classe Funcionario, pois o log terá as mesmas informações da Funcionario.
Não se esqueça de gerar a sua migration para atualização no banco de dados.
É esperado que você crie o seus métodos conforme a seguir:
Swagger
Endpoints
Verbo | Endpoint | Parâmetro | Body |
---|---|---|---|
GET | /Funcionario/{id} | id | N/A |
PUT | /Funcionario/{id} | id | Schema Funcionario |
DELETE | /Funcionario/{id} | id | N/A |
POST | /Funcionario | N/A | Schema Funcionario |
Esse é o schema (model) de Funcionario, utilizado para passar para os métodos que exigirem:
{
"nome": "Nome funcionario",
"endereco": "Rua 1234",
"ramal": "1234",
"emailProfissional": "email@email.com",
"departamento": "TI",
"salario": 1000,
"dataAdmissao": "2022-06-23T02:58:36.345Z"
}
Este é um diagrama do ambiente que deverá ser montado no Microsoft Azure, utilizando o App Service para a API, SQL Database para o banco relacional e Azure Table para armazenar os logs.
O código está pela metade, e você deverá dar continuidade obedecendo as regras descritas acima, para que no final, tenhamos um programa funcional. Procure pela palavra comentada "TODO" no código, em seguida, implemente conforme as regras acima, incluindo a sua publicação na nuvem.