Tela: Importar Turmas (/Turmas/Import)
?? Tela: Importar Turmas via Excel
Rota: /Turmas/Import
Tipo: Formulário de upload
Permissão necessária: Administrador
?? Visão Geral da Tela
Tela para importação em lote de turmas através de arquivo Excel (.xlsx ou .xls) seguindo um template padronizado.
?? Elementos da Interface
1. Cabeçalho
- Título: "Importar Turmas via Excel"
- Botão Voltar: Retorna para listagem de turmas
2. Alertas de Feedback
Alerts condicionais baseados no TempData:
- Success: Alert verde com ícone de check
- Error: Alert vermelho com ícone de erro
- Warnings: Alert amarelo com lista de avisos
3. Instruções de Uso
Card azul informativo com lista numerada:
- Baixe o template Excel
- Preencha o arquivo com os dados das turmas
- Mantenha os cabeçalhos da primeira linha
- Campos obrigatórios estão marcados com *
- Faça o upload do arquivo preenchido
4. Botão de Download
- Texto: "Baixar Template Excel"
- Estilo: Botão grande verde com ícone de download
- Ação: Chama /Turmas/DownloadTemplate
5. Formulário de Upload
- Campo File:
- Label: "Arquivo Excel *"
- Accept: .xlsx, .xls
- Required
- Texto auxiliar: "Formatos aceitos: .xlsx, .xls"
- Botões de Ação:
- Importar Turmas (primário azul, grande)
- Cancelar (secundário, grande)
6. Tabela de Estrutura do Arquivo
Tabela explicativa com 4 colunas:
| Coluna Excel | Campo | Obrigatório | Formato/Exemplo |
|---|---|---|---|
| A | Nome da Turma | ? Sim | Direito 2025.1 |
| B | Curso | ? Não | Direito |
| C | Ano Formatura | ? Não | 2025 |
| D | Instituição | ? Não | UFMG |
| E | Período | ? Não | Matutino, Vespertino, Noturno, Integral |
| F | Data Colação | ? Não | 15/06/2025 |
| G | Data Formatura | ? Não | 20/07/2025 |
| H | Local Formatura | ? Não | Palácio das Artes |
7. Observações Importantes
Card amarelo com alertas:
- O Nome da Turma deve ser único no sistema
- Datas devem estar no formato DD/MM/AAAA
- Todas as turmas importadas serão criadas como Ativas
- Se houver erros em alguma linha, as demais linhas válidas serão importadas
? Funcionalidades Interativas
Estados do Botão Importar
- Normal: "Importar Turmas" com ícone de upload
- Processando: Desabilitado + spinner + "Importando..."
Validação de Arquivo
- Validação HTML5: apenas .xlsx e .xls aceitos
- Campo obrigatório (required)
?? Notificações e Feedback
Sucesso
Alert verde dismissível: "X turmas importadas com sucesso!"
Erro
Alert vermelho dismissível com descrição do erro
Warnings
Alert amarelo com lista de avisos:
- Linhas ignoradas (motivo)
- Campos inválidos
- Duplicatas encontradas
?? Regras de Negócio
- Nome da turma deve ser único dentro do tenant
- Linhas sem nome são ignoradas
- Datas inválidas resultam em campo null
- Turmas são criadas com status "ativa" por padrão
- Importação é parcial: linhas válidas são criadas mesmo com erros em outras
- Template deve ser gerado pela própria aplicação
?? Integração com API
Download Template: GET /Turmas/DownloadTemplate
Upload: POST /Turmas/Import
- Content-Type: multipart/form-data
- Antiforgery token obrigatório
?? Navegação
- Ao importar com sucesso: Permanece na tela com mensagem de sucesso
- Ao clicar em Cancelar: Redireciona para /Turmas/Index
- Ao clicar em Voltar: Redireciona para /Turmas/Index
?? Responsividade
Layout responsivo em 1 coluna, adaptável a todos os tamanhos de tela.