Dicionário de entidades MiniGestao
De MSTECH wiki
Revisão de 16h14min de 29 de setembro de 2016 por Ruz (Discussão | contribs) (Criou página com '== Aluno == /// <summary> /// Representa um aluno no sistema. Especialização contendo dados de pessoa, usuário, tipo de documento e responsável do CoreSSO. /// </s...')
Índice
Aluno
/// <summary>
/// Representa um aluno no sistema. Especialização contendo dados de pessoa, usuário, tipo de documento e responsável do CoreSSO.
/// </summary>
public class Aluno : EntityBase
{
[Key]
public int AlunoId { get; set; }
/// <summary>
/// id do aluno na tabela SYS_Usuario do CoreSSO. Corresponde a um usuário no sistema (login, senha, etc)
/// </summary>
public Guid usu_id_coresso { get; set; }
/// <summary>
/// Id do aluno na tabela PES_Pessoa do CoreSSO. Corresponde a uma pessoa física no sistema (nome, documento, etc)
/// </summary>
public Guid pes_id_coresso { get; set; }
/// <summary>
/// ID do tipo de documentação do aluno, na tabela SYS_TipoDocumentacao.
/// Para pegar o número do documento, basta ir na tabela PES_PessoaDocumento, e combinar o pes_id com o tdo_id
/// Por padrão, está sendo usado o tdo_sigla presente na tabela de parâmetros
/// </summary>
public Guid? tdo_id_coresso { get; set; }
/// <summary>
/// ID do responsável pelo aluno na tabela PES_Pessoa do CoreSSO
/// </summary>
public Guid? Resp_pes_id_coresso { get; set; }
/// <summary>
/// ID do tipo de documentação do responsável pelo aluno, na tabela SYS_TipoDocumentacao.
/// Para pegar o número do documento, basta ir na tabela PES_PessoaDocumento, e combinar o pes_id com o tdo_id
/// Por padrão, está sendo usado o tdo_sigla presente na tabela de parâmetros
/// </summary>
public Guid? Resp_tdo_id_coresso { get; set; }
/// <summary>
/// Corresponde a um identificador único daquele aluno na rede educacional (RA, rg escolar, etc)
/// </summary>
public string RegistroEscolar { get; set; }
}
AlunoTurma
public class AlunoTurma : EntityBase
{
[Key]
public int AlunoTurmaId { get; set; }
public int Turma_Id { get; set; }
[ForeignKey("Turma_Id")]
public Turma Turma { get; set; }
public int Aluno_Id { get; set; }
[ForeignKey("Aluno_Id")]
public Aluno Aluno { get; set; }
}
Ano
/// <summary>
/// Representa um ano do calendário de uma escola, por exemplo: 2015, 2016. É o ano do qual está se passando o ano letivo.
/// </summary>
public class Ano: EntityBase
{
[Key]
public int AnoId { get; set; }
/// <summary>
/// Ano do calendário que contém o ano letivo
/// </summary>
[Required]
public int Nome { get; set; }
}
Aula
/// <summary>
/// Representa uma atividade dada em um período específico por um professor a uma turma de alunos
/// </summary>
public class Aula : EntityBase
{
/// <summary>
/// Identificador da aula (atividade)
/// </summary>
[Key]
public int AulaId { get; set; }
/// <summary>
/// Nome da atividade a ser ministrada
/// </summary>
[Column(TypeName = "varchar(MAX)")]
[Required]
public string Nome { get; set; }
/// <summary>
/// Agrupamento representando qual disciplina de qual turma a atividade será passada.
/// </summary>
public int TurmaDisciplina_Id { get; set; }
[ForeignKey("TurmaDisciplina_Id")]
public TurmaDisciplina TurmaDisciplina { get; set; }
/// <summary>
/// Anotação desta atividade, pode ser um planejamento de aula, observações ao longo da atividade, etc.
/// </summary>
[Column(TypeName = "varchar(MAX)")]
public string Anotacao { get; set; }
/// <summary>
/// Data que será ministrada esta atividade
/// </summary>
[Required]
public DateTime AulaData { get; set; }
}
Caderneta
/// <summary>
/// Registra observações de cada aluno naquela aula, bem como sua presença naquela atividade ou aula
/// </summary>
public class Caderneta : EntityBase
{
public int CadernetaId { get; set; }
/// <summary>
/// Número que representa as presenças que o aluno teve nesta aula
/// </summary>
public int Frequencia { get; set; }
/// <summary>
/// Observação referente ao aluno nesta aula
/// </summary>
[Column(TypeName = "varchar(MAX)")]
public string Anotacao { get; set; }
/// <summary>
/// Identificador da aula em questão
/// </summary>
public int Aula_Id { get; set; }
[ForeignKey("Aula_Id")]
public Aula Aula { get; set; }
/// <summary>
/// Identificador do aluno que está presente na aula
/// </summary>
public int Aluno_Id { get; set; }
[ForeignKey("Aluno_Id")]
public Aluno Aluno { get; set; }
}
Curso
/// <summary>
/// Curso ou série que conterá um agrupamento de disciplinas para formação de turmas.
/// Seu registro representa um elemento básico para formação das séries ou cursos.
/// </summary>
public class Curso : EntityBase
{
public int CursoId { get; set; }
[Column(TypeName = "varchar(MAX)")]
[Required]
public string Nome { get; set; }
}
CursoDisciplina
/// <summary>
/// Grade curricular básica do curso / série.
/// Quando uma turma é formada, é feita uma cópia das suas associações, permitindo
/// que o mesmo tenha sua grade reconfigurada sem interferir no que já foi formado.
/// </summary>
public class CursoDisciplina: EntityBase
{
public int CursoDisciplinaId { get; set; }
public int Curso_Id { get; set; }
[ForeignKey("Curso_Id")]
public Curso Curso { get; set; }
public int Disciplina_Id { get; set; }
[ForeignKey("Disciplina_Id")]
public Disciplina Disciplina { get; set; }
}
Disciplina
/// <summary>
/// Disciplinas ou matérias possíveis de serem ministradas em um curso.
/// </summary>
public class Disciplina : EntityBase
{
public int DisciplinaId { get; set; }
[Column(TypeName = "varchar(MAX)")]
[Required]
public string Nome { get; set; }
}
Docente
/// <summary>
/// Representa um Docente (professor) no sistema. Especialização contendo dados de pessoa, usuário, e tipo de documento do CoreSSO.
/// </summary>
public class Docente : EntityBase
{
[Key]
public int DocenteId { get; set; }
/// <summary>
/// Id do aluno na tabela SYS_Usuario do CoreSSO. Corresponde a um usuário no sistema (login, senha, etc)
/// </summary>
public Guid usu_id_coresso { get; set; }
/// <summary>
/// Id do docente na tabela PES_Pessoa do CoreSSO. Corresponde a uma pessoa física no sistema (nome, documento, etc)
/// </summary>
public Guid pes_id_coresso { get; set; }
/// <summary>
/// ID do tipo de documentação do docente, na tabela SYS_TipoDocumentacao.
/// Para pegar o número do documento, basta ir na tabela PES_PessoaDocumento, e combinar o pes_id com o tdo_id
/// Por padrão, está sendo usado o tdo_sigla presente na tabela de parâmetros
/// </summary>
public Guid? tdo_id_coresso { get; set; }
}
DocenteTurmaDisciplina
/// <summary>
/// Monta a atribuição de um docente, indicando onde e pra quem ele ministrará determinada disciplina.
/// </summary>
public class DocenteTurmaDisciplina : EntityBase
{
[Key]
public int DocenteTurmaDisciplinaId { get; set; }
public int TurmaDisciplina_Id { get; set; }
[ForeignKey("TurmaDisciplina_Id")]
public TurmaDisciplina TurmaDisciplina { get; set; }
public int Docente_Id { get; set; }
[ForeignKey("Docente_Id")]
public Docente Docente { get; set; }
}
Escola
/// <summary>
/// Instituição de ensino do sistema. Seu cadastro é feito na tabela SYS_UnidadeAdministrativa do CoreSSO,
/// e seu identificador é posto aqui.
/// </summary>
public class Escola: EntityBase
{
public int EscolaId { get; set; }
/// <summary>
/// Chave estrangeira para a tabela SYS_UnidadeAdministrativa do CoreSSO
/// </summary>
public Guid uad_id_coresso { get; set; }
}
Ocorrência
/// <summary>
/// Indica uma ocorrência / chamado / anotação de natureza diversa que acontece na escola envolvendo um aluno.
/// </summary>
public class Ocorrencia : EntityBase
{
[Key]
public int OcorrenciaId { get; set; }
[Column(TypeName = "varchar(MAX)")]
[Required]
public string Descricao { get; set; }
/// <summary>
/// Aluno do qual a ocorrência diz respeito
/// </summary>
public int Aluno_Id { get; set; }
[ForeignKey("Aluno_Id")]
public Aluno Aluno { get; set; }
[Required]
public DateTime OcorrenciaData { get; set; }
/// <summary>
/// usuario logado no sistema
/// </summary>
public Guid? usu_id_coresso { get; set; }
[ForeignKey("OcorrenciaTipo_Id")]
public OcorrenciaTipo OcorrenciaTipo { get; set; }
public int OcorrenciaTipo_Id { get; set; }
}
OcorrenciaTipo
/// <summary>
/// Natureza da ocorrência, ex: mudança, segurança, acidente, etc
/// </summary>
public class OcorrenciaTipo: EntityBase
{
[Key]
public int OcorrenciaTipoId { get; set; }
[Required]
public string Nome { get; set; }
}
Parametro
/// <summary>
/// Parâmetros diversos do sistema com chaves padrão para serem usadas quando a necessidade de um valor fixo personalizado para determinado cliente.
/// </summary>
public class Parametro: EntityBase
{
[Key]
public int ParametroId {get;set;}
public int Chave { get; set; }
public int Valor { get; set; }
}
Turma
/// <summary>
/// Representa uma sala de aula, grupo de estudos físicos já formados, e montado com sua grade curricular pronta pra receber alunos.
/// Quando uma turma é formada, uma cópia de todas as disciplinas do curso é atribuída a esta turma,
/// de modo que quando a grade de um curso é alterada, a turma permanece com a mesma grade de quando foi criada.
/// </summary>
public class Turma : EntityBase
{
[Key]
public int TurmaId { get; set; }
[Column(TypeName = "varchar(MAX)")]
[Required]
public string Nome { get; set; }
public int Curso_Id { get; set; }
[ForeignKey("Curso_Id")]
public Curso Curso { get; set; }
public int Ano_Id { get; set; }
[ForeignKey("Ano_Id")]
public Ano Ano { get; set; }
[ForeignKey("Escola_Id")]
public Escola Escola { get; set; }
public int Escola_Id { get; set; }
}
TurmaDisciplina
/// <summary>
/// Registro criado quando uma turma é atribuída a um curso.
/// Todas as disciplinas daquele curso são copiadas pra esta turma, e permanecerão imutáveis
/// mesmo que o curso sofra alterações em sua grade posteriormente.
/// </summary>
public class TurmaDisciplina : EntityBase
{
[Key]
public int TurmaDisciplinaId { get; set; }
public int Turma_Id { get; set; }
[ForeignKey("Turma_Id")]
public Turma Turma { get; set; }
public int Disciplina_Id { get; set; }
[ForeignKey("Disciplina_Id")]
public Disciplina Disciplina { get; set; }
}