Skip to content

Instantly share code, notes, and snippets.

@fabriciorissetto
Last active November 11, 2015 20:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fabriciorissetto/f2e8d62caf9007f05d3e to your computer and use it in GitHub Desktop.
Save fabriciorissetto/f2e8d62caf9007f05d3e to your computer and use it in GitHub Desktop.
Exercícios Finais - MVC

Tela de listagem de jogos disponíveis (nova feature)

  • Deve ser adicionado um botão "Locar" em cada linha da grid, que ao ser clicado irá redirecionar para a tela de locação.
  • Como não faz mais sentido jogo possuir um "valor":
    • Deve ser removido os indicadores de "Jogo mais barato", "Jogo mais caro" e média de preço da tela de listagem
    • Deve ser removido o campo de valor do domínio, banco de dados e qualquer outro resquício que possa ter ficado

Tela de locação

alt tag

  • Deve mostrar a imagem e descrição do jogo que foi selecionado na tela de listagem de jogos disponíveis, bem como a data prevista para devolução e o valor formatado em reais (isso tudo DEVE ficar numa Partial View)
  • (bônus) Caso o operador tenha entrado na tela diretemante (sem selecionar um jogo) deve ser exibido para ele um campo de autocomplete para buscar os jogos por nome
  • Deve possuir um campo com autocomplete para que o operador possa buscar um cliente (não precisa fazer tela de cadastro de clientes, basta inserir uns clientes na base de dados para podermos testar)
  • Deve possuir um botão "Finalizar Locação"

Regras de Locação

  • Cliente pode ter no máximo 3 jogos locados por vez
  • Regra de selos:
    • Ouro: Deve ser entregue em 1 dia e custa R$ 15,00
    • Prata: Deve ser entregue em 2 dia e custa R$ 10,00
    • Bronze: Deve ser entregue em 3 dia e custa R$ 5,00

Comportamentos esperados

  • A tela deve receber o Id do jogo por parâmetro para saber qual jogo está sendo locado
  • Ao clicar em "Finalizar Locação" deve validar as regras de locação, caso a locação não possa ser realizada pelo cliente deve exibir uma mensagem na tela

Dica: criar uma LocacaoService para centralizar as regras de locação

Tela de Devolução

  • Deve possuir um autocomplete de jogo para que o operador diga qual o jogo está sendo devolvido.
  • Deve exibir o nome do jogo, data de locação, e valor final

Regras de Devolução

  • Caso o jogo esteja sendo entregue atrasado, deve ser adicionado no valor final uma taxa de 5 reais por dia de atraso.

Comportamentos esperados

Ao finalizar uma devolução deve recarregar a tela com todos os campos VAZIOS e exibir uma mensagem de que o jogo foi devolvido com sucesso.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment