Dicionário de entidades MiniGestao

De MSTECH wiki
Ir para: navegação, pesquisa

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; }


   }