//------------------------------------------------------------------------------
// <auto-generated>
//    This code was generated from a template.
//
//    Manual changes to this file may cause unexpected behavior in your application.
//    Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;

public partial class Adiantamento
{
    public Adiantamento()
    {
        this.AdiantamentoAnexos = new HashSet<AdiantamentoAnexos>();
        this.AdiantamentoCompensacao = new HashSet<AdiantamentoCompensacao>();
        this.AdiantamentoEstado = new HashSet<AdiantamentoEstado>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public System.DateTime Data { get; set; }
    public double Montante { get; set; }
    public string Justificacao { get; set; }
    public int IDEstadoActual { get; set; }
    public string InformacaoViceReitor { get; set; }
    public string DeliberacaoCG { get; set; }
    public Nullable<System.DateTime> DataApresentacaoDespesas { get; set; }
    public Nullable<double> MontanteDeliberado { get; set; }
    public string CResp_Ori { get; set; }
    public string Subc_Ori { get; set; }
    public Nullable<int> Referencia { get; set; }
    public Nullable<System.DateTime> DataAutorizacaoCG { get; set; }
    public string CResp_Dest { get; set; }
    public string Subc_Dest { get; set; }
    public string Estado { get; set; }
    public Nullable<bool> Vencimentos { get; set; }

    public virtual ICollection<AdiantamentoAnexos> AdiantamentoAnexos { get; set; }
    public virtual Estados Estados { get; set; }
    public virtual ICollection<AdiantamentoCompensacao> AdiantamentoCompensacao { get; set; }
    public virtual ICollection<AdiantamentoEstado> AdiantamentoEstado { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class AdiantamentoAnexos
{
    public int ID { get; set; }
    public Nullable<int> IDAdiantamento { get; set; }
    public string Documento { get; set; }
    public string Descricao { get; set; }
    public string NomeFicheiro { get; set; }

    public virtual Adiantamento Adiantamento { get; set; }
}

public partial class AdiantamentoCompensacao
{
    public int ID { get; set; }
    public int IDAdiantamento { get; set; }
    public int IDFacturaRecibo { get; set; }
    public int IDLinhaFacturaRecibo { get; set; }
    public string SerieFacturaRecibos { get; set; }
    public int IDReceita { get; set; }
    public double Valor { get; set; }
    public int Referencia { get; set; }
    public int ReferenciaAdiantamento { get; set; }
    public string CResp_Ori { get; set; }
    public string Subc_Ori { get; set; }
    public string CResp_Dest { get; set; }
    public string Subc_Dest { get; set; }
    public string Estado { get; set; }
    public System.DateTime DataCompensacao { get; set; }
    public Nullable<int> IDRecebimento { get; set; }

    public virtual Adiantamento Adiantamento { get; set; }
    public virtual Recebimentos Recebimentos { get; set; }
}

public partial class AdiantamentoEstado
{
    public int IDEstado { get; set; }
    public int IDAdiantamento { get; set; }
    public System.DateTime DataEstado { get; set; }
    public string Utilizador { get; set; }
    public int ID { get; set; }

    public virtual Adiantamento Adiantamento { get; set; }
    public virtual Estados Estados { get; set; }
}

public partial class AdmDespesaExecutada
{
    public int IDProjeto { get; set; }
    public int IDRubrica { get; set; }
    public bool ImputacaoRH { get; set; }
    public decimal DespesaTotalCabimentada { get; set; }
    public decimal DespesaTotalPaga { get; set; }
    public decimal DespesaPassivelElegivel { get; set; }
    public Nullable<decimal> DespesaCabimentadaSemRubrica { get; set; }
    public Nullable<decimal> DespesaPagaSemRubrica { get; set; }

    public virtual Projectos Projectos { get; set; }
    public virtual Rubricas Rubricas { get; set; }
}

public partial class AdmOrcamento
{
    public int IDProjeto { get; set; }
    public int IDRubrica { get; set; }
    public bool ImputacaoRH { get; set; }
    public decimal InvestimentoTotal { get; set; }
    public decimal MaximoElegivel { get; set; }

    public virtual Projectos Projectos { get; set; }
    public virtual Rubricas Rubricas { get; set; }
}

public partial class AdmOrcamentoParceiras
{
    public int IDEntidadeParceira { get; set; }
    public int IDProjecto { get; set; }
    public Nullable<decimal> ValorElegivel { get; set; }

    public virtual Instituicao Instituicao { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class AdmPedidoPagamento
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public string Tipo { get; set; }
    public Nullable<int> NumeroPedidoPagamento { get; set; }
    public Nullable<System.DateTime> DataEnvioIR { get; set; }
    public Nullable<System.DateTime> DataAnaliseDFP { get; set; }
    public Nullable<System.DateTime> DataSubmissaoEF { get; set; }
    public Nullable<int> IDRubrica { get; set; }
    public bool ImputacaoRH { get; set; }
    public Nullable<decimal> ValorTotal { get; set; }
    public Nullable<System.DateTime> DataEnvioAmostra { get; set; }
    public string Estado { get; set; }
    public Nullable<System.DateTime> DataAnaliseEF { get; set; }
    public Nullable<decimal> DespesaElegivel { get; set; }
    public Nullable<decimal> DespesaNaoElegivel { get; set; }
    public Nullable<decimal> DespesaDuvidosa { get; set; }
    public string EstadoRecebimento { get; set; }
    public Nullable<System.DateTime> DataRecebimento { get; set; }
    public Nullable<decimal> ValorRecebido { get; set; }
    public Nullable<decimal> ValorTransferidoPreponente { get; set; }
    public Nullable<System.DateTime> DataTransferenciaPreponente { get; set; }

    public virtual Projectos Projectos { get; set; }
    public virtual Rubricas Rubricas { get; set; }
}

public partial class AdmPedidoPagamentoParceiras
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public string Tipo { get; set; }
    public Nullable<int> NumeroPedidoPagamento { get; set; }
    public int IDEntidadeParceira { get; set; }
    public Nullable<decimal> ValorTotal { get; set; }
    public Nullable<System.DateTime> DataSubmissaoEF { get; set; }
    public Nullable<System.DateTime> DataAnaliseEF { get; set; }
    public string Estado { get; set; }
    public Nullable<decimal> ValorElegivel { get; set; }
    public Nullable<decimal> ValorRecebido { get; set; }
    public Nullable<System.DateTime> DataRecebimento { get; set; }
    public Nullable<decimal> ValorTransferidoParceira { get; set; }
    public Nullable<System.DateTime> DataTransferencia { get; set; }

    public virtual Instituicao Instituicao { get; set; }
}

public partial class AdmProjeto
{
    public int IDProjeto { get; set; }
    public Nullable<decimal> PercentagemReembolso { get; set; }
    public Nullable<decimal> TotalDepesasNaoElegiveis { get; set; }
    public Nullable<decimal> PercentagemOverheadCobrados { get; set; }
    public Nullable<decimal> PercentagemOverheadReitoria { get; set; }
    public string OverheadReitoriaObservacoes { get; set; }
    public Nullable<decimal> PercentagemOverheadUOEI { get; set; }
    public string OverheadUOEIObservacoes { get; set; }
    public Nullable<decimal> PercentagemOverheadCentro { get; set; }
    public string OverheadCentroObservacoes { get; set; }
    public Nullable<decimal> PlafondVerbas1T { get; set; }
    public Nullable<decimal> PlafondVerbas2T { get; set; }
    public Nullable<decimal> PlafondVerbas3T { get; set; }
    public Nullable<decimal> PlafondVerbas4T { get; set; }
    public string PlafondVerbasT1Observacoes { get; set; }
    public string PlafondVerbasT2Observacoes { get; set; }
    public string PlafondVerbasT3Observacoes { get; set; }
    public string PlafondVerbasT4Observacoes { get; set; }
    public Nullable<decimal> PlafondVerbasT1Reforco { get; set; }
    public Nullable<decimal> PlafondVerbasT2Reforco { get; set; }
    public Nullable<decimal> PlafondVerbasT3Reforco { get; set; }
    public Nullable<decimal> PlafondVerbasT4Reforco { get; set; }
    public string PlafondVerbasT1ReforcoObservacoes { get; set; }
    public string PlafondVerbasT2ReforcoObservacoes { get; set; }
    public string PlafondVerbasT3ReforcoObservacoes { get; set; }
    public string PlafondVerbasT4ReforcoObservacoes { get; set; }
    public Nullable<decimal> DespesaJustificada { get; set; }
}

public partial class AreaCientifica
{
    public AreaCientifica()
    {
        this.AreaCientifica1 = new HashSet<AreaCientifica>();
        this.AreaCientificaML = new HashSet<AreaCientificaML>();
        this.Candidaturas = new HashSet<Candidaturas>();
        this.Candidaturas1 = new HashSet<Candidaturas>();
        this.PortalFontesAreasTematicas = new HashSet<PortalFontesAreasTematicas>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public bool Activo { get; set; }
    public Nullable<int> IDAreaCientificaPai { get; set; }

    public virtual ICollection<AreaCientifica> AreaCientifica1 { get; set; }
    public virtual AreaCientifica AreaCientifica2 { get; set; }
    public virtual ICollection<AreaCientificaML> AreaCientificaML { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas1 { get; set; }
    public virtual ICollection<PortalFontesAreasTematicas> PortalFontesAreasTematicas { get; set; }
}

public partial class AreaCientificaML
{
    public int ID { get; set; }
    public int IDAreaCientifica { get; set; }
    public string Idioma { get; set; }
    public string Valor { get; set; }

    public virtual AreaCientifica AreaCientifica { get; set; }
    public virtual Idioma Idioma1 { get; set; }
}

public partial class CandidaturaAnexos
{
    public int ID { get; set; }
    public int IDCandidatura { get; set; }
    public string Documento { get; set; }
    public string Descricao { get; set; }
    public bool FicheiroTecnico { get; set; }
    public string NomeFicheiro { get; set; }
    public Nullable<bool> OrcamentoInvestigador { get; set; }
    public Nullable<bool> OrcamentoUnidadeValidacao { get; set; }
    public string MimeType { get; set; }
    public string FileExtension { get; set; }
    public Nullable<bool> FicheiroPosValidacao { get; set; }

    public virtual Candidaturas Candidaturas { get; set; }
}

public partial class CandidaturaEquipa
{
    public int ID { get; set; }
    public int IDCandidatura { get; set; }
    public bool Membro { get; set; }
    public Nullable<int> IDGrauAcademico { get; set; }
    public Nullable<int> IDFuncao { get; set; }
    public string Nome { get; set; }
    public Nullable<int> IDTipoBolseiro { get; set; }
    public Nullable<int> BolseiroDuracao { get; set; }
    public Nullable<int> Alocacao { get; set; }
    public Nullable<int> IDMembro { get; set; }
    public bool FlagSecretariado { get; set; }

    public virtual GrauAcademico GrauAcademico { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual TipoBolsa TipoBolsa { get; set; }
    public virtual Funcao Funcao { get; set; }
    public virtual Candidaturas Candidaturas { get; set; }
}

public partial class CandidaturaEstados
{
    public int IDCandidatura { get; set; }
    public int IDEstado { get; set; }
    public System.DateTime DataEstado { get; set; }
    public string Justificacao { get; set; }
    public int ID { get; set; }
    public string Utilizador { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual Candidaturas Candidaturas { get; set; }
}

public partial class CandidaturaFinanciamento
{
    public int IDCandidatura { get; set; }
    public int IDEntidade { get; set; }
    public int Ano { get; set; }
    public Nullable<int> IDProgramaQuadro { get; set; }
    public Nullable<int> IDProgramaOperacional { get; set; }
    public Nullable<int> IDTipologia { get; set; }
    public Nullable<int> IDFonteFinanciamento { get; set; }
    public double Valor { get; set; }

    public virtual ProgramaOperacional ProgramaOperacional { get; set; }
    public virtual ProgramaQuadro ProgramaQuadro { get; set; }
    public virtual TipoProjecto TipoProjecto { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual Candidaturas Candidaturas { get; set; }
}

public partial class CandidaturaML
{
    public int ID { get; set; }
    public string Idioma { get; set; }
    public string Campo { get; set; }
    public int IDCandidatura { get; set; }
    public string Valor { get; set; }

    public virtual Idioma Idioma1 { get; set; }
    public virtual Candidaturas Candidaturas { get; set; }
}

public partial class CandidaturaOrcamento
{
    public int IDCandidatura { get; set; }
    public int IDInstituicao { get; set; }
    public int IDRubrica { get; set; }
    public int Ano { get; set; }
    public double Valor { get; set; }

    public virtual Rubricas Rubricas { get; set; }
    public virtual Candidaturas Candidaturas { get; set; }
    public virtual Instituicao Instituicao { get; set; }
}

public partial class Candidaturas
{
    public Candidaturas()
    {
        this.CandidaturaAnexos = new HashSet<CandidaturaAnexos>();
        this.CandidaturaEquipa = new HashSet<CandidaturaEquipa>();
        this.CandidaturaEstados = new HashSet<CandidaturaEstados>();
        this.CandidaturaFinanciamento = new HashSet<CandidaturaFinanciamento>();
        this.CandidaturaML = new HashSet<CandidaturaML>();
        this.CandidaturaOrcamento = new HashSet<CandidaturaOrcamento>();
        this.Projectos = new HashSet<Projectos>();
        this.Instituicao2 = new HashSet<Instituicao>();
    }

    public int ID { get; set; }
    public string ReferenciaCandidatura { get; set; }
    public Nullable<System.DateTime> DataCandidatura { get; set; }
    public int IDAreaCientificaPrinc { get; set; }
    public Nullable<int> IDAreaCientificaSec { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public Nullable<int> IDProgramaQuadro { get; set; }
    public Nullable<int> IDProgramaOperacional { get; set; }
    public Nullable<int> IDTipoProjecto { get; set; }
    public string TituloProjecto { get; set; }
    public int IDPreponente { get; set; }
    public int IDInvestigadorResponsavel { get; set; }
    public int IDUnidadeInvestigacao { get; set; }
    public int IDInstituicaoAcolhimento { get; set; }
    public string Acronimo { get; set; }
    public Nullable<System.DateTime> DataInicio { get; set; }
    public Nullable<System.DateTime> DataTermo { get; set; }
    public Nullable<int> Duracao { get; set; }
    public Nullable<double> OrcamentoUminho { get; set; }
    public Nullable<double> FundedUMinho { get; set; }
    public Nullable<double> OrcamentoGlobal { get; set; }
    public string IndicadoresResultados { get; set; }
    public string ObjectivoSocioEconomicos { get; set; }
    public string Observacoes { get; set; }
    public Nullable<int> IDProtocoloIN { get; set; }
    public Nullable<int> IDProtocoloOUT { get; set; }
    public Nullable<int> IDEstadoActual { get; set; }
    public string Arquivo { get; set; }
    public Nullable<int> Ano { get; set; }
    public Nullable<bool> ValidacaoCentro { get; set; }
    public string ValidacaoCentroTexto { get; set; }
    public Nullable<bool> ValidacaoEscola { get; set; }
    public string ValidacaoEscolaTexto { get; set; }
    public Nullable<System.DateTime> ValidacaoCentroData { get; set; }
    public Nullable<System.DateTime> ValidacaoEscolaData { get; set; }
    public Nullable<bool> FlagAnulada { get; set; }
    public string Resumo { get; set; }
    public Nullable<double> PercentagemCofinanciamento { get; set; }

    public virtual AreaCientifica AreaCientifica { get; set; }
    public virtual AreaCientifica AreaCientifica1 { get; set; }
    public virtual ICollection<CandidaturaAnexos> CandidaturaAnexos { get; set; }
    public virtual ICollection<CandidaturaEquipa> CandidaturaEquipa { get; set; }
    public virtual ICollection<CandidaturaEstados> CandidaturaEstados { get; set; }
    public virtual ICollection<CandidaturaFinanciamento> CandidaturaFinanciamento { get; set; }
    public virtual ICollection<CandidaturaML> CandidaturaML { get; set; }
    public virtual ICollection<CandidaturaOrcamento> CandidaturaOrcamento { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual Estados Estados { get; set; }
    public virtual Instituicao Instituicao { get; set; }
    public virtual Instituicao Instituicao1 { get; set; }
    public virtual ProgramaOperacional ProgramaOperacional { get; set; }
    public virtual ProgramaQuadro ProgramaQuadro { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual TipoProjecto TipoProjecto { get; set; }
    public virtual Unidades Unidades { get; set; }
    public virtual ICollection<Projectos> Projectos { get; set; }
    public virtual ICollection<Instituicao> Instituicao2 { get; set; }
}

public partial class ChaveImputacao
{
    public ChaveImputacao()
    {
        this.ChaveImputacaoRubricas = new HashSet<ChaveImputacaoRubricas>();
        this.MapaImputacao = new HashSet<MapaImputacao>();
    }

    public int ID { get; set; }
    public bool Activa { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public System.DateTime DataEntradaVigor { get; set; }
    public System.DateTime DataSaidaVigor { get; set; }
    public int HorasTrabalhoAno { get; set; }

    public virtual ICollection<ChaveImputacaoRubricas> ChaveImputacaoRubricas { get; set; }
    public virtual ICollection<MapaImputacao> MapaImputacao { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
}

public partial class ChaveImputacaoRubricas
{
    public ChaveImputacaoRubricas()
    {
        this.MapaImputacaoRubricas = new HashSet<MapaImputacaoRubricas>();
    }

    public int ID { get; set; }
    public int IDChaveImputacao { get; set; }
    public string NomeRubrica { get; set; }
    public double PercentagemImputacao { get; set; }

    public virtual ChaveImputacao ChaveImputacao { get; set; }
    public virtual ICollection<MapaImputacaoRubricas> MapaImputacaoRubricas { get; set; }
}

public partial class ClasseDocumentoDespesa
{
    public ClasseDocumentoDespesa()
    {
        this.TipoDocumento = new HashSet<TipoDocumento>();
    }

    public string Codigo { get; set; }
    public string Descricao { get; set; }

    public virtual ICollection<TipoDocumento> TipoDocumento { get; set; }
}

public partial class ContratoAnexos
{
    public int ID { get; set; }
    public int IDContrato { get; set; }
    public string Documento { get; set; }
    public string Descricao { get; set; }
    public string NomeFicheiro { get; set; }

    public virtual Contratos Contratos { get; set; }
}

public partial class ContratoPeriodos
{
    public int ID { get; set; }
    public int IDContrato { get; set; }
    public System.DateTime DataInicio { get; set; }
    public System.DateTime DataTermino { get; set; }
    public double Valor { get; set; }
    public string Observacoes { get; set; }
    public Nullable<int> Duracao { get; set; }
    public Nullable<System.DateTime> DataRegisto { get; set; }
    public string DuracaoEm { get; set; }

    public virtual Contratos Contratos { get; set; }
}

public partial class Contratos
{
    public Contratos()
    {
        this.ContratoAnexos = new HashSet<ContratoAnexos>();
        this.Seguros = new HashSet<Seguros>();
        this.ContratoPeriodos = new HashSet<ContratoPeriodos>();
    }

    public int ID { get; set; }
    public int IDRecursoHumano { get; set; }
    public Nullable<int> IDProjecto { get; set; }
    public Nullable<int> IDOrientador { get; set; }
    public int IDUnidade { get; set; }
    public int IDTipoBolsa { get; set; }
    public string ReferenciaBolsa { get; set; }
    public bool Renovavel { get; set; }
    public Nullable<int> IDMotivoTermino { get; set; }
    public bool Activo { get; set; }
    public string Observacoes { get; set; }
    public Nullable<System.DateTime> DataRescisao { get; set; }
    public string Dimensao { get; set; }

    public virtual ICollection<ContratoAnexos> ContratoAnexos { get; set; }
    public virtual MotivoTermino MotivoTermino { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual RecursoHumano RecursoHumano1 { get; set; }
    public virtual TipoBolsa TipoBolsa { get; set; }
    public virtual Unidades Unidades { get; set; }
    public virtual ICollection<Seguros> Seguros { get; set; }
    public virtual ICollection<ContratoPeriodos> ContratoPeriodos { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class Despesas
{
    public Despesas()
    {
        this.InternoMovimento = new HashSet<InternoMovimento>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicao { get; set; }
    public int IDRubrica { get; set; }
    public string DescricaoDespesa { get; set; }
    public string NIFFornecedor { get; set; }
    public string NomeFornecedor { get; set; }
    public string DespesaNumeroDocumento { get; set; }
    public Nullable<int> IDDespesaTipoDocumento { get; set; }
    public Nullable<System.DateTime> DespesaDataDocumento { get; set; }
    public Nullable<double> DespesaValor { get; set; }
    public Nullable<double> DespesaIVA { get; set; }
    public string DespesaAnexo { get; set; }
    public string QuitacaoNumeroDocumento { get; set; }
    public Nullable<int> IDQuitacaoTipoDocumento { get; set; }
    public Nullable<System.DateTime> QuitacaoDataDocumento { get; set; }
    public Nullable<double> QuitacaoValor { get; set; }
    public Nullable<double> QuitacaoIVA { get; set; }
    public string QuitacaoAnexo { get; set; }
    public string CodigoPOC { get; set; }
    public Nullable<double> TaxaImputacao { get; set; }
    public Nullable<bool> Anulada { get; set; }
    public Nullable<int> IDPagamento { get; set; }
    public Nullable<System.DateTime> DataValidacao { get; set; }
    public int IDEstado { get; set; }
    public string ERPDiario { get; set; }
    public string ERPNReg { get; set; }
    public Nullable<bool> Legada { get; set; }
    public string Estrangeiro { get; set; }
    public Nullable<System.DateTime> DataContabilistica { get; set; }
    public Nullable<double> DespesaTaxaIVA { get; set; }
    public Nullable<double> ValorConsiderar { get; set; }
    public Nullable<double> ValorReembolsado { get; set; }
    public Nullable<bool> DespesaRegistadaDFP { get; set; }
    public string ERPDescMovCTB { get; set; }
    public string CentroCustos { get; set; }
    public Nullable<int> IDDSP { get; set; }
    public Nullable<double> ValorElegivel { get; set; }
    public Nullable<bool> ImputacaoDespesa { get; set; }
    public Nullable<double> ValorTotalTransferencia { get; set; }
    public Nullable<int> IDTipoProcedimentoPublico { get; set; }
    public Nullable<System.DateTime> DataDecisaoContrato { get; set; }
    public Nullable<System.DateTime> DataContrato { get; set; }
    public Nullable<decimal> AmorticacaoTaxa { get; set; }
    public Nullable<System.DateTime> AmorticacaoInicioAfetacao { get; set; }
    public Nullable<System.DateTime> AmorticacaoFimAfetacaoProjecto { get; set; }
    public Nullable<decimal> ValorContratoSemIVA { get; set; }
    public Nullable<decimal> ValorContratoComIVA { get; set; }
    public string NumeroContrato { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual Instituicao Instituicao { get; set; }
    public virtual Pagamentos Pagamentos { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual Rubricas Rubricas { get; set; }
    public virtual TipoDocumento TipoDocumento { get; set; }
    public virtual TipoDocumento TipoDocumento1 { get; set; }
    public virtual ICollection<InternoMovimento> InternoMovimento { get; set; }
    public virtual TiposProcedimentoContratacaoPublica TiposProcedimentoContratacaoPublica { get; set; }
}

public partial class EntidadeFinanciadora
{
    public EntidadeFinanciadora()
    {
        this.CandidaturaFinanciamento = new HashSet<CandidaturaFinanciamento>();
        this.ChaveImputacao = new HashSet<ChaveImputacao>();
        this.Pagamentos = new HashSet<Pagamentos>();
        this.ProgramaQuadro = new HashSet<ProgramaQuadro>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.Recebimentos = new HashSet<Recebimentos>();
        this.Rubricas = new HashSet<Rubricas>();
        this.TipoBolsa = new HashSet<TipoBolsa>();
        this.TipoDocumento = new HashSet<TipoDocumento>();
        this.VerbasMovimento = new HashSet<VerbasMovimento>();
        this.Candidaturas = new HashSet<Candidaturas>();
    }

    public int ID { get; set; }
    public bool Activo { get; set; }
    public string TipoEntidade { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }
    public string Morada { get; set; }
    public string Localidade { get; set; }
    public string CodigoPostal { get; set; }
    public string Pais { get; set; }
    public string URL { get; set; }
    public string NIF { get; set; }
    public string Telefone1 { get; set; }
    public string Telefone2 { get; set; }
    public string Fax1 { get; set; }
    public string Fax2 { get; set; }
    public string Email { get; set; }
    public string NomeContacto { get; set; }
    public string TelefoneContacto1 { get; set; }
    public string TelefoneContacto2 { get; set; }
    public string EmailContacto { get; set; }
    public string Observacoes { get; set; }
    public bool InstituicaoAnfitria { get; set; }
    public Nullable<bool> ContraFatura { get; set; }
    public Nullable<double> PercentagemMinimaPedidoPagamento { get; set; }
    public Nullable<bool> FlagDespesasContratacaoObrigatoria { get; set; }
    public Nullable<bool> FlagDespesasAmortizacaoObrigatoria { get; set; }
    public Nullable<int> IDPais { get; set; }

    public virtual ICollection<CandidaturaFinanciamento> CandidaturaFinanciamento { get; set; }
    public virtual ICollection<ChaveImputacao> ChaveImputacao { get; set; }
    public virtual TipoEntidade TipoEntidade1 { get; set; }
    public virtual ICollection<Pagamentos> Pagamentos { get; set; }
    public virtual ICollection<ProgramaQuadro> ProgramaQuadro { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual ICollection<Recebimentos> Recebimentos { get; set; }
    public virtual ICollection<Rubricas> Rubricas { get; set; }
    public virtual ICollection<TipoBolsa> TipoBolsa { get; set; }
    public virtual ICollection<TipoDocumento> TipoDocumento { get; set; }
    public virtual ICollection<VerbasMovimento> VerbasMovimento { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual Paises Paises { get; set; }
}

public partial class EntidadeProgramaML
{
    public int ID { get; set; }
    public string Tabela { get; set; }
    public string Idioma { get; set; }
    public int IDRegisto { get; set; }
    public string Sigla { get; set; }
    public string Nome { get; set; }

    public virtual Idioma Idioma1 { get; set; }
}

public partial class EntityMappings
{
    public string EntityName { get; set; }
    public string EntityDescription { get; set; }
}

public partial class ErrosLog
{
    public long ID { get; set; }
    public string Utilizador { get; set; }
    public Nullable<System.DateTime> DataErro { get; set; }
    public string Mensagem { get; set; }
    public string StackTrace { get; set; }
}

public partial class Estados
{
    public Estados()
    {
        this.SeguroPagamento = new HashSet<SeguroPagamento>();
        this.Adiantamento = new HashSet<Adiantamento>();
        this.PagamentoEstado = new HashSet<PagamentoEstado>();
        this.CandidaturaEstados = new HashSet<CandidaturaEstados>();
        this.AdiantamentoEstado = new HashSet<AdiantamentoEstado>();
        this.PagamentosParticipantes = new HashSet<PagamentosParticipantes>();
        this.PedidosContraFaturas = new HashSet<PedidosContraFaturas>();
        this.Pagamentos = new HashSet<Pagamentos>();
        this.Candidaturas = new HashSet<Candidaturas>();
        this.Projectos = new HashSet<Projectos>();
        this.Despesas = new HashSet<Despesas>();
    }

    public int IDEstado { get; set; }
    public string CodigoEstado { get; set; }
    public string TipoEstado { get; set; }
    public string Nome { get; set; }
    public string Color { get; set; }
    public Nullable<bool> EstadoInicial { get; set; }
    public Nullable<bool> EstadoFinal { get; set; }
    public string Sucessores { get; set; }
    public Nullable<bool> UnidInvPodeCorrigir { get; set; }
    public Nullable<bool> UnidValidPodeCorrigir { get; set; }

    public virtual ICollection<SeguroPagamento> SeguroPagamento { get; set; }
    public virtual ICollection<Adiantamento> Adiantamento { get; set; }
    public virtual ICollection<PagamentoEstado> PagamentoEstado { get; set; }
    public virtual ICollection<CandidaturaEstados> CandidaturaEstados { get; set; }
    public virtual ICollection<AdiantamentoEstado> AdiantamentoEstado { get; set; }
    public virtual ICollection<PagamentosParticipantes> PagamentosParticipantes { get; set; }
    public virtual ICollection<PedidosContraFaturas> PedidosContraFaturas { get; set; }
    public virtual ICollection<Pagamentos> Pagamentos { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual ICollection<Projectos> Projectos { get; set; }
    public virtual ICollection<Despesas> Despesas { get; set; }
}

public partial class EstadoTimesheet
{
    public EstadoTimesheet()
    {
        this.ListagemTimesheets = new HashSet<ListagemTimesheet>();
    }

    public int IDEstadoTimesheet { get; set; }
    public string TipoEstadoTimesheet { get; set; }

    public virtual ICollection<ListagemTimesheet> ListagemTimesheets { get; set; }
}

public partial class FonteFinanciamento
{
    public int ID { get; set; }
    public int Ano { get; set; }
    public string Codigo { get; set; }
    public string Descricao { get; set; }
}

public partial class Funcao
{
    public Funcao()
    {
        this.CandidaturaEquipa = new HashSet<CandidaturaEquipa>();
        this.ProjectoEquipa = new HashSet<ProjectoEquipa>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }
    public Nullable<bool> FlagIR { get; set; }

    public virtual ICollection<CandidaturaEquipa> CandidaturaEquipa { get; set; }
    public virtual ICollection<ProjectoEquipa> ProjectoEquipa { get; set; }
}

public partial class FundoFinanciamentoAgregacao
{
    public int ID { get; set; }
    public int IDAgregacao { get; set; }
    public int IDFundoFinanciamento { get; set; }

    public virtual FundosFinanciamento FundosFinanciamento { get; set; }
    public virtual TiposAgregacaoFundosFinancimento TiposAgregacaoFundosFinancimento { get; set; }
}

public partial class FundosFinanciamento
{
    public FundosFinanciamento()
    {
        this.ProjectoInstituicao = new HashSet<ProjectoInstituicao>();
        this.ProjectoInstituicao1 = new HashSet<ProjectoInstituicao>();
        this.ProjectoFundoFinanciamento = new HashSet<ProjectoFundoFinanciamento>();
        this.FundoFinanciamentoAgregacao = new HashSet<FundoFinanciamentoAgregacao>();
    }

    public int ID { get; set; }
    public string TipoFundo { get; set; }
    public string SiglaFundo { get; set; }
    public string NomeFundo { get; set; }
    public byte[] LogotipoFundo { get; set; }
    public bool Activo { get; set; }

    public virtual ICollection<ProjectoInstituicao> ProjectoInstituicao { get; set; }
    public virtual ICollection<ProjectoInstituicao> ProjectoInstituicao1 { get; set; }
    public virtual ICollection<ProjectoFundoFinanciamento> ProjectoFundoFinanciamento { get; set; }
    public virtual ICollection<FundoFinanciamentoAgregacao> FundoFinanciamentoAgregacao { get; set; }
}

public partial class GrauAcademico
{
    public GrauAcademico()
    {
        this.RecursoHumano = new HashSet<RecursoHumano>();
        this.CandidaturaEquipa = new HashSet<CandidaturaEquipa>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }

    public virtual ICollection<RecursoHumano> RecursoHumano { get; set; }
    public virtual ICollection<CandidaturaEquipa> CandidaturaEquipa { get; set; }
}

public partial class GruposInvestigacao
{
    public GruposInvestigacao()
    {
        this.RecursoHumano = new HashSet<RecursoHumano>();
        this.InternoMovimento = new HashSet<InternoMovimento>();
    }

    public int ID { get; set; }
    public int IDUnidade { get; set; }
    public bool Activo { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }
    public string NomeResponsavel { get; set; }
    public string EmailResponsavel { get; set; }

    public virtual Unidades Unidades { get; set; }
    public virtual ICollection<RecursoHumano> RecursoHumano { get; set; }
    public virtual ICollection<InternoMovimento> InternoMovimento { get; set; }
}

public partial class Idioma
{
    public Idioma()
    {
        this.AreaCientificaML = new HashSet<AreaCientificaML>();
        this.CandidaturaML = new HashSet<CandidaturaML>();
        this.EntidadeProgramaML = new HashSet<EntidadeProgramaML>();
    }

    public string Codigo { get; set; }
    public string Nome { get; set; }

    public virtual ICollection<AreaCientificaML> AreaCientificaML { get; set; }
    public virtual ICollection<CandidaturaML> CandidaturaML { get; set; }
    public virtual ICollection<EntidadeProgramaML> EntidadeProgramaML { get; set; }
}

public partial class Instituicao
{
    public Instituicao()
    {
        this.CandidaturaOrcamento = new HashSet<CandidaturaOrcamento>();
        this.Candidaturas = new HashSet<Candidaturas>();
        this.Candidaturas1 = new HashSet<Candidaturas>();
        this.Pagamentos = new HashSet<Pagamentos>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.ProjectoInstituicao = new HashSet<ProjectoInstituicao>();
        this.Unidades = new HashSet<Unidades>();
        this.VerbasMovimento = new HashSet<VerbasMovimento>();
        this.Candidaturas2 = new HashSet<Candidaturas>();
        this.AdmPedidoPagamentoParceiras = new HashSet<AdmPedidoPagamentoParceiras>();
        this.AdmOrcamentoParceiras = new HashSet<AdmOrcamentoParceiras>();
        this.Despesas = new HashSet<Despesas>();
        this.ProjectoFundoFinanciamento = new HashSet<ProjectoFundoFinanciamento>();
        this.PagamentosParticipantes = new HashSet<PagamentosParticipantes>();
        this.RecebimentosParticipantes = new HashSet<RecebimentosParticipantes>();
        this.TransferenciasParticipantes = new HashSet<TransferenciasParticipantes>();
    }

    public int ID { get; set; }
    public string NomeInstituicao { get; set; }
    public int IDTipoInstituicao { get; set; }
    public bool InstituicaoAnfitria { get; set; }
    public string NIF { get; set; }
    public string Email { get; set; }
    public string Telefone { get; set; }
    public string Fax { get; set; }
    public string NomeResponsavelPelouro { get; set; }
    public string Morada { get; set; }
    public string Localidade { get; set; }
    public string CodigoPostal { get; set; }
    public string Pais { get; set; }
    public string Observacoes { get; set; }
    public Nullable<int> IDPais { get; set; }
    public Nullable<bool> Activo { get; set; }

    public virtual ICollection<CandidaturaOrcamento> CandidaturaOrcamento { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas1 { get; set; }
    public virtual TipoInstituicao TipoInstituicao { get; set; }
    public virtual ICollection<Pagamentos> Pagamentos { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual ICollection<ProjectoInstituicao> ProjectoInstituicao { get; set; }
    public virtual ICollection<Unidades> Unidades { get; set; }
    public virtual ICollection<VerbasMovimento> VerbasMovimento { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas2 { get; set; }
    public virtual ICollection<AdmPedidoPagamentoParceiras> AdmPedidoPagamentoParceiras { get; set; }
    public virtual ICollection<AdmOrcamentoParceiras> AdmOrcamentoParceiras { get; set; }
    public virtual ICollection<Despesas> Despesas { get; set; }
    public virtual Paises Paises { get; set; }
    public virtual ICollection<ProjectoFundoFinanciamento> ProjectoFundoFinanciamento { get; set; }
    public virtual ICollection<PagamentosParticipantes> PagamentosParticipantes { get; set; }
    public virtual ICollection<RecebimentosParticipantes> RecebimentosParticipantes { get; set; }
    public virtual ICollection<TransferenciasParticipantes> TransferenciasParticipantes { get; set; }
}

public partial class InternoMovimento
{
    public int ID { get; set; }
    public Nullable<int> IDProjecto { get; set; }
    public Nullable<int> IDInternoProjecto { get; set; }
    public string Tipo { get; set; }
    public System.DateTime DataMovimento { get; set; }
    public double Valor { get; set; }
    public int IDRubricaInterna { get; set; }
    public string DespesaReceita { get; set; }
    public Nullable<int> IDDespesa { get; set; }
    public Nullable<int> IDRecursoHumano { get; set; }
    public Nullable<int> IDGrupo { get; set; }
    public string Descricao { get; set; }
    public int Ano { get; set; }
    public Nullable<int> Referencia { get; set; }

    public virtual GruposInvestigacao GruposInvestigacao { get; set; }
    public virtual InternoProjecto InternoProjecto { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual InternoRubrica InternoRubrica { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual Despesas Despesas { get; set; }
}

public partial class InternoNumeradorMovimento
{
    public int Numerador { get; set; }
}

public partial class InternoProjecto
{
    public InternoProjecto()
    {
        this.InternoMovimento = new HashSet<InternoMovimento>();
        this.InternoProjectoDelegacao = new HashSet<InternoProjectoDelegacao>();
        this.InternoProjectoAnexos = new HashSet<InternoProjectoAnexos>();
        this.InternoRubrica = new HashSet<InternoRubrica>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public System.DateTime DataInicio { get; set; }
    public Nullable<System.DateTime> DataFim { get; set; }
    public int IDRecursoHumano { get; set; }
    public int IDCentro { get; set; }
    public string Observacoes { get; set; }

    public virtual ICollection<InternoMovimento> InternoMovimento { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual ICollection<InternoProjectoDelegacao> InternoProjectoDelegacao { get; set; }
    public virtual ICollection<InternoProjectoAnexos> InternoProjectoAnexos { get; set; }
    public virtual ICollection<InternoRubrica> InternoRubrica { get; set; }
    public virtual Unidades Unidades { get; set; }
}

public partial class InternoProjectoAnexos
{
    public int ID { get; set; }
    public int IDInternoProjecto { get; set; }
    public string Documento { get; set; }
    public string Descricao { get; set; }
    public string NomeFicheiro { get; set; }

    public virtual InternoProjecto InternoProjecto { get; set; }
}

public partial class InternoProjectoDelegacao
{
    public int IDInternoProjecto { get; set; }
    public int IDRecursoHumano { get; set; }
    public Nullable<bool> ResponsavelMaximo { get; set; }

    public virtual InternoProjecto InternoProjecto { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
}

public partial class InternoRubrica
{
    public InternoRubrica()
    {
        this.InternoMovimento = new HashSet<InternoMovimento>();
        this.InternoRubrica1 = new HashSet<InternoRubrica>();
    }

    public int ID { get; set; }
    public Nullable<int> IDRubricaPai { get; set; }
    public string Nome { get; set; }
    public Nullable<int> IDProjecto { get; set; }
    public Nullable<int> IDInternoProjecto { get; set; }

    public virtual ICollection<InternoMovimento> InternoMovimento { get; set; }
    public virtual InternoProjecto InternoProjecto { get; set; }
    public virtual ICollection<InternoRubrica> InternoRubrica1 { get; set; }
    public virtual InternoRubrica InternoRubrica2 { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class ListagemTimesheet
{
    public int ID { get; set; }
    public System.DateTime DataEnvio { get; set; }
    public int IDRecursoHumano { get; set; }
    public string AssinaturaTimesheet { get; set; }
    public int IDEstadoTimesheet { get; set; }
    public string Observações { get; set; }
    public string Ficheiro { get; set; }
    public string FileTipo { get; set; }
    public byte[] FileContent { get; set; }

    public virtual EstadoTimesheet EstadoTimesheet { get; set; }
    public virtual RecursoHumano RecursoHumano { get; set; }
}

public partial class LogConsultaVerbetes
{
    public int ID { get; set; }
    public string NMecanografico { get; set; }
    public string Bolseiro { get; set; }
    public System.DateTime DataConsulta { get; set; }
    public string PeriodoInicial { get; set; }
    public string PeriodoFinal { get; set; }
}

public partial class LogGenerico
{
    public int ID { get; set; }
    public System.DateTime Data { get; set; }
    public string Informacao { get; set; }
}

public partial class Logs
{
    public int ID { get; set; }
    public string Tabela { get; set; }
    public string Campo { get; set; }
    public string ValorOriginal { get; set; }
    public string Valor { get; set; }
    public System.DateTime Data { get; set; }
    public string Utilizador { get; set; }
    public string Chave { get; set; }
}

public partial class MapaImputacao
{
    public MapaImputacao()
    {
        this.MapaImputacaoRubricas = new HashSet<MapaImputacaoRubricas>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public System.DateTime DataInicialImputacao { get; set; }
    public System.DateTime DataFinalImputacao { get; set; }
    public double PercentagemAfectacaoEquipa { get; set; }
    public int NumeroHorasAnual { get; set; }
    public int NumeroInvestigadores { get; set; }
    public System.DateTime DataGeracao { get; set; }
    public Nullable<int> IDChaveImputacao { get; set; }

    public virtual ICollection<MapaImputacaoRubricas> MapaImputacaoRubricas { get; set; }
    public virtual ChaveImputacao ChaveImputacao { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class MapaImputacaoRubricas
{
    public int IDMapaImputacao { get; set; }
    public int IDChaveImputacaoRubrica { get; set; }
    public double Percentagem { get; set; }
    public double Valor { get; set; }
    public string NomeRubrica { get; set; }

    public virtual ChaveImputacaoRubricas ChaveImputacaoRubricas { get; set; }
    public virtual MapaImputacao MapaImputacao { get; set; }
}

public partial class MenuPages
{
    public MenuPages()
    {
        this.Perfil = new HashSet<Perfil>();
    }

    public int PageID { get; set; }
    public int TabID { get; set; }
    public string LangID { get; set; }
    public string Tag { get; set; }
    public string PageTitle { get; set; }
    public Nullable<int> ParentPageID { get; set; }
    public int Nivel { get; set; }
    public int Ordem { get; set; }
    public string Caminho { get; set; }
    public string AuthorizedViewRoles { get; set; }
    public bool MenuVisible { get; set; }
    public string UrlExt { get; set; }

    public virtual MenuTabs MenuTabs { get; set; }
    public virtual ICollection<Perfil> Perfil { get; set; }
}

public partial class MenuTabs
{
    public MenuTabs()
    {
        this.MenuPages = new HashSet<MenuPages>();
        this.Perfil = new HashSet<Perfil>();
    }

    public int TabID { get; set; }
    public string LangId { get; set; }
    public int TabOrder { get; set; }
    public string TabName { get; set; }
    public string TabNameImg { get; set; }
    public string AuthorizedViewRoles { get; set; }
    public string CssSuffix { get; set; }

    public virtual ICollection<MenuPages> MenuPages { get; set; }
    public virtual ICollection<Perfil> Perfil { get; set; }
}

public partial class MotivoTermino
{
    public MotivoTermino()
    {
        this.Contratos = new HashSet<Contratos>();
    }

    public int ID { get; set; }
    public string Descricao { get; set; }
    public bool Activo { get; set; }

    public virtual ICollection<Contratos> Contratos { get; set; }
}

public partial class NumeradorAdiantamento
{
    public int Numerador { get; set; }
    public int Ano { get; set; }
}

public partial class NumeradorCompensacao
{
    public int Ano { get; set; }
    public int Numerador { get; set; }
}

public partial class NumeradorOrcamento
{
    public int IDProjecto { get; set; }
    public int Numerador { get; set; }
}

public partial class OverheadTipo
{
    public OverheadTipo()
    {
        this.ProjectoOverheads = new HashSet<ProjectoOverheads>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public double PercentagemDefeito { get; set; }
    public string CentroCustos { get; set; }

    public virtual ICollection<ProjectoOverheads> ProjectoOverheads { get; set; }
}

public partial class PagamentoEstado
{
    public int IDPedidoPagamento { get; set; }
    public System.DateTime DataEstado { get; set; }
    public int IDEstado { get; set; }
    public string Observacoes { get; set; }
    public int ID { get; set; }
    public string Utilizador { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual Pagamentos Pagamentos { get; set; }
}

public partial class PagamentoQuestao
{
    public int ID { get; set; }
    public int IDPagamento { get; set; }
    public string Questao { get; set; }
    public Nullable<System.DateTime> DataQuestao { get; set; }
    public string Resposta { get; set; }
    public Nullable<System.DateTime> DataResposta { get; set; }
    public string ObservacoesQuestao { get; set; }
    public string ObservacoesResposta { get; set; }
    public Nullable<bool> QuestaoResolvida { get; set; }
    public string FlagTipoQuestao { get; set; }

    public virtual Pagamentos Pagamentos { get; set; }
}

public partial class Pagamentos
{
    public Pagamentos()
    {
        this.PagamentoEstado = new HashSet<PagamentoEstado>();
        this.PagamentoQuestao = new HashSet<PagamentoQuestao>();
        this.Pagamentos1 = new HashSet<Pagamentos>();
        this.PedidosContraFaturas = new HashSet<PedidosContraFaturas>();
        this.RecebimentosPagamento = new HashSet<RecebimentosPagamento>();
        this.Despesas = new HashSet<Despesas>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicao { get; set; }
    public int IDEntidade { get; set; }
    public System.DateTime DataPedido { get; set; }
    public string CodigoTipoPagamento { get; set; }
    public int IDEstadoActual { get; set; }
    public string Anexo { get; set; }
    public string Observacoes { get; set; }
    public Nullable<bool> Legado { get; set; }
    public Nullable<System.DateTime> DataLacragem { get; set; }
    public Nullable<System.DateTime> DataAnaliseEF { get; set; }
    public Nullable<int> IDPedidoContraFatura { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual ICollection<PagamentoEstado> PagamentoEstado { get; set; }
    public virtual ICollection<PagamentoQuestao> PagamentoQuestao { get; set; }
    public virtual ICollection<Pagamentos> Pagamentos1 { get; set; }
    public virtual Pagamentos Pagamentos2 { get; set; }
    public virtual TipoPagamento TipoPagamento { get; set; }
    public virtual ICollection<PedidosContraFaturas> PedidosContraFaturas { get; set; }
    public virtual ICollection<RecebimentosPagamento> RecebimentosPagamento { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual Instituicao Instituicao { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual ICollection<Despesas> Despesas { get; set; }
    public virtual PedidosContraFaturas PedidosContraFaturas1 { get; set; }
}

public partial class PagamentosParticipantes
{
    public PagamentosParticipantes()
    {
        this.RecebimentosPagamentoParticipantes = new HashSet<RecebimentosPagamentoParticipantes>();
        this.TranferenciasPagamentosParticipantes = new HashSet<TranferenciasPagamentosParticipantes>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicaoParticipante { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public double ValorSubmetido { get; set; }
    public double ValorElegivel { get; set; }
    public int IDEstado { get; set; }
    public System.DateTime DataPedido { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual ICollection<RecebimentosPagamentoParticipantes> RecebimentosPagamentoParticipantes { get; set; }
    public virtual ICollection<TranferenciasPagamentosParticipantes> TranferenciasPagamentosParticipantes { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual Instituicao Instituicao { get; set; }
}

public partial class Paises
{
    public Paises()
    {
        this.RecursoHumano = new HashSet<RecursoHumano>();
        this.EntidadeFinanciadora = new HashSet<EntidadeFinanciadora>();
        this.Instituicao = new HashSet<Instituicao>();
    }

    public int ID { get; set; }
    public string NomePais { get; set; }
    public string ISO3166Code { get; set; }
    public string CodERP { get; set; }

    public virtual ICollection<RecursoHumano> RecursoHumano { get; set; }
    public virtual ICollection<EntidadeFinanciadora> EntidadeFinanciadora { get; set; }
    public virtual ICollection<Instituicao> Instituicao { get; set; }
}

public partial class PedidosContraFaturas
{
    public PedidosContraFaturas()
    {
        this.Pagamentos1 = new HashSet<Pagamentos>();
    }

    public int ID { get; set; }
    public int IDPedidoPagamento { get; set; }
    public Nullable<int> IDProjecto { get; set; }
    public int IDRubrica { get; set; }
    public string NIFFornecedor { get; set; }
    public string NomeFornecedor { get; set; }
    public int IDDespesaTipoDocumento { get; set; }
    public System.DateTime DataFatura { get; set; }
    public string NumeroDocumentoFornecedor { get; set; }
    public double ValorIliquido { get; set; }
    public double ValorIVA { get; set; }
    public double TaxaIVA { get; set; }
    public double ValorTotal { get; set; }
    public string NumeroNE { get; set; }
    public Nullable<double> ValorElegivel { get; set; }
    public Nullable<double> ValorReembolsar { get; set; }
    public double TaxaCoFinanciamento { get; set; }
    public Nullable<int> IDEstado { get; set; }
    public string Descricao { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual Rubricas Rubricas { get; set; }
    public virtual Pagamentos Pagamentos { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual ICollection<Pagamentos> Pagamentos1 { get; set; }
}

public partial class Perfil
{
    public Perfil()
    {
        this.MenuPages = new HashSet<MenuPages>();
        this.MenuTabs = new HashSet<MenuTabs>();
        this.Permissoes = new HashSet<Permissoes>();
    }

    public string CodigoPerfil { get; set; }
    public string NomePerfil { get; set; }
    public string DefaultViewName { get; set; }

    public virtual View View { get; set; }
    public virtual ICollection<MenuPages> MenuPages { get; set; }
    public virtual ICollection<MenuTabs> MenuTabs { get; set; }
    public virtual ICollection<Permissoes> Permissoes { get; set; }
}

public partial class PermissaoDespesas
{
    public int IDProjecto { get; set; }
    public string CentroCustos { get; set; }
}

public partial class Permissoes
{
    public Permissoes()
    {
        this.ViewsPermissoes = new HashSet<ViewsPermissoes>();
        this.Perfil = new HashSet<Perfil>();
    }

    public string CodigoPermissao { get; set; }
    public string Descrição { get; set; }

    public virtual ICollection<ViewsPermissoes> ViewsPermissoes { get; set; }
    public virtual ICollection<Perfil> Perfil { get; set; }
}

public partial class PortalFontesAreasTematicas
{
    public int IDFonteFinanciamento { get; set; }
    public int IDAreaTematica { get; set; }
    public int ID { get; set; }

    public virtual AreaCientifica AreaCientifica { get; set; }
    public virtual PortalFontesFinanciamento PortalFontesFinanciamento { get; set; }
}

public partial class PortalFontesFinanciamento
{
    public PortalFontesFinanciamento()
    {
        this.PortalFontesFinanciamento1 = new HashSet<PortalFontesFinanciamento>();
        this.PortalFontesFinanciamentoML = new HashSet<PortalFontesFinanciamentoML>();
        this.PortalFontesAreasTematicas = new HashSet<PortalFontesAreasTematicas>();
        this.PortalFontesTipologiaProjeto = new HashSet<PortalFontesTipologiaProjeto>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public string Descricao { get; set; }
    public byte[] Logotipo { get; set; }
    public string URL { get; set; }
    public Nullable<int> IDFonteFinanciamentoPai { get; set; }
    public Nullable<bool> FlagMostraTabular { get; set; }
    public bool Activo { get; set; }

    public virtual ICollection<PortalFontesFinanciamento> PortalFontesFinanciamento1 { get; set; }
    public virtual PortalFontesFinanciamento PortalFontesFinanciamento2 { get; set; }
    public virtual ICollection<PortalFontesFinanciamentoML> PortalFontesFinanciamentoML { get; set; }
    public virtual ICollection<PortalFontesAreasTematicas> PortalFontesAreasTematicas { get; set; }
    public virtual ICollection<PortalFontesTipologiaProjeto> PortalFontesTipologiaProjeto { get; set; }
}

public partial class PortalFontesFinanciamentoML
{
    public int ID { get; set; }
    public string Lang { get; set; }
    public string Nome { get; set; }
    public string Descricao { get; set; }
    public byte[] Logotipo { get; set; }
    public string URL { get; set; }
    public int IDFonteFinanciamento { get; set; }

    public virtual PortalFontesFinanciamento PortalFontesFinanciamento { get; set; }
}

public partial class PortalFontesTipologiaProjeto
{
    public int IDFonteFinanciamento { get; set; }
    public int IDTipologiaProjeto { get; set; }
    public int ID { get; set; }

    public virtual PortalFontesFinanciamento PortalFontesFinanciamento { get; set; }
    public virtual PortalTipologiaProjeto PortalTipologiaProjeto { get; set; }
}

public partial class PortalTipologiaProjeto
{
    public PortalTipologiaProjeto()
    {
        this.PortalFontesTipologiaProjeto = new HashSet<PortalFontesTipologiaProjeto>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }

    public virtual ICollection<PortalFontesTipologiaProjeto> PortalFontesTipologiaProjeto { get; set; }
}

public partial class ProgramaMedidas
{
    public ProgramaMedidas()
    {
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
    }

    public int ID { get; set; }
    public int Ano { get; set; }
    public string Programa { get; set; }
    public string Desc_Programa { get; set; }
    public string Medida { get; set; }
    public string Desc_Medid { get; set; }

    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
}

public partial class ProgramaOperacional
{
    public ProgramaOperacional()
    {
        this.TipoProjecto = new HashSet<TipoProjecto>();
        this.CandidaturaFinanciamento = new HashSet<CandidaturaFinanciamento>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.Candidaturas = new HashSet<Candidaturas>();
        this.ProgramaOperacionalLogotipo = new HashSet<ProgramaOperacionalLogotipo>();
    }

    public int ID { get; set; }
    public int IDProgramaQuadro { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }
    public System.DateTime DataInicio { get; set; }
    public System.DateTime DataFim { get; set; }
    public string Observacoes { get; set; }
    public byte[] Logotipo { get; set; }
    public Nullable<bool> Activo { get; set; }
    public Nullable<int> IDAgregacaoPrograma { get; set; }

    public virtual ProgramaQuadro ProgramaQuadro { get; set; }
    public virtual ICollection<TipoProjecto> TipoProjecto { get; set; }
    public virtual ICollection<CandidaturaFinanciamento> CandidaturaFinanciamento { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual ICollection<ProgramaOperacionalLogotipo> ProgramaOperacionalLogotipo { get; set; }
    public virtual TipoAgregacaoProgramaOperacional TipoAgregacaoProgramaOperacional { get; set; }
}

public partial class ProgramaOperacionalLogotipo
{
    public int ID { get; set; }
    public int IDProgramaOperacional { get; set; }
    public byte[] Logotipo { get; set; }

    public virtual ProgramaOperacional ProgramaOperacional { get; set; }
}

public partial class ProgramaQuadro
{
    public ProgramaQuadro()
    {
        this.ProgramaOperacional = new HashSet<ProgramaOperacional>();
        this.CandidaturaFinanciamento = new HashSet<CandidaturaFinanciamento>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.Candidaturas = new HashSet<Candidaturas>();
        this.ProgramaQuadroLogotipo = new HashSet<ProgramaQuadroLogotipo>();
    }

    public int ID { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }
    public System.DateTime DataInicio { get; set; }
    public System.DateTime DataFim { get; set; }
    public string Observacoes { get; set; }
    public byte[] Logotipo { get; set; }
    public Nullable<int> IDAgregacaoProgramaQuadro { get; set; }
    public Nullable<bool> Activo { get; set; }
    public Nullable<bool> FlagExigeObjectivoPrincipal { get; set; }

    public virtual ICollection<ProgramaOperacional> ProgramaOperacional { get; set; }
    public virtual ICollection<CandidaturaFinanciamento> CandidaturaFinanciamento { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual ICollection<ProgramaQuadroLogotipo> ProgramaQuadroLogotipo { get; set; }
    public virtual TipoAgregacaoPrograma TipoAgregacaoPrograma { get; set; }
}

public partial class ProgramaQuadroLogotipo
{
    public int ID { get; set; }
    public int IDProgramaQuadro { get; set; }
    public byte[] Logotipo { get; set; }

    public virtual ProgramaQuadro ProgramaQuadro { get; set; }
}

public partial class ProjectoAnexos
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public string Documento { get; set; }
    public string Descricao { get; set; }
    public string NomeFicheiro { get; set; }

    public virtual Projectos Projectos { get; set; }
}

public partial class ProjectoEnvioEmailExclusoes
{
    public int ProjectoID { get; set; }
    public System.DateTime DataExclusao { get; set; }
    public string Observacoes { get; set; }
    public Nullable<System.DateTime> DataFimExclusao { get; set; }

    public virtual Projectos Projectos { get; set; }
}

public partial class ProjectoEquipa
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDRecursoHumano { get; set; }
    public Nullable<int> IDFuncao { get; set; }
    public Nullable<int> IDTipoBolseiro { get; set; }
    public Nullable<int> Alocacao { get; set; }
    public Nullable<System.DateTime> DataInicioAlocacao { get; set; }
    public Nullable<System.DateTime> DataFimAlocacao { get; set; }
    public bool Membro { get; set; }
    public string CategoriaTimesheet { get; set; }
    public bool FlagSecretariado { get; set; }

    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual TipoBolsa TipoBolsa { get; set; }
    public virtual Funcao Funcao { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class ProjectoFinanciamento
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicao { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public int IDRubrica { get; set; }
    public int Ano { get; set; }
    public double Valor { get; set; }
    public Nullable<int> IDProgramaQuadro { get; set; }
    public Nullable<int> IDProgramaOperacional { get; set; }
    public Nullable<int> IDTipoProjecto { get; set; }
    public Nullable<int> IDFonteFinanciamento { get; set; }
    public Nullable<int> IDProgramaMedida { get; set; }
    public Nullable<System.DateTime> DataCriacao { get; set; }
    public string Tipo { get; set; }
    public string Referencia { get; set; }
    public string Estado { get; set; }
    public Nullable<double> TotalVerbaExecutada { get; set; }
    public Nullable<double> Cofinanciamento { get; set; }
    public Nullable<bool> FlagIVAElegivel { get; set; }
    public Nullable<double> ValorTotalIVA { get; set; }
    public Nullable<double> PercentagemElegebilidade { get; set; }

    public virtual ProgramaMedidas ProgramaMedidas { get; set; }
    public virtual ProgramaOperacional ProgramaOperacional { get; set; }
    public virtual ProgramaQuadro ProgramaQuadro { get; set; }
    public virtual Rubricas Rubricas { get; set; }
    public virtual TipoProjecto TipoProjecto { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual Instituicao Instituicao { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class ProjectoFundoFinanciamento
{
    public int IDProjecto { get; set; }
    public int IDInstituicao { get; set; }
    public int IDFundo { get; set; }
    public decimal Valor { get; set; }

    public virtual FundosFinanciamento FundosFinanciamento { get; set; }
    public virtual ProjectoInstituicao ProjectoInstituicao { get; set; }
    public virtual Instituicao Instituicao { get; set; }
}

public partial class ProjectoInstituicao
{
    public ProjectoInstituicao()
    {
        this.ProjectoFundoFinanciamento = new HashSet<ProjectoFundoFinanciamento>();
    }

    public int IDProjecto { get; set; }
    public int IDInstituicao { get; set; }
    public Nullable<double> ValorCoFinanciado { get; set; }
    public Nullable<double> ValorFinanciamentoInstituicao { get; set; }
    public Nullable<double> ValorFinanciamentoTotal { get; set; }
    public Nullable<int> IDFundoUE { get; set; }
    public Nullable<decimal> ValorFundoUE { get; set; }
    public Nullable<int> IDFundoNacional { get; set; }
    public Nullable<decimal> ValorFundoNacional { get; set; }

    public virtual Instituicao Instituicao { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual FundosFinanciamento FundosFinanciamento { get; set; }
    public virtual FundosFinanciamento FundosFinanciamento1 { get; set; }
    public virtual ICollection<ProjectoFundoFinanciamento> ProjectoFundoFinanciamento { get; set; }
}

public partial class ProjectoLogotipo
{
    public int IDProjecto { get; set; }
    public byte[] Logotipo { get; set; }

    public virtual Projectos Projectos { get; set; }
}

public partial class ProjectoOverheads
{
    public ProjectoOverheads()
    {
        this.VerbasOverheadValor = new HashSet<VerbasOverheadValor>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDOverhead { get; set; }
    public double Percentagem { get; set; }
    public string CentroCustos { get; set; }

    public virtual OverheadTipo OverheadTipo { get; set; }
    public virtual ICollection<VerbasOverheadValor> VerbasOverheadValor { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class Projectos
{
    public Projectos()
    {
        this.Adiantamento = new HashSet<Adiantamento>();
        this.Contratos = new HashSet<Contratos>();
        this.InternoMovimento = new HashSet<InternoMovimento>();
        this.InternoRubrica = new HashSet<InternoRubrica>();
        this.MapaImputacao = new HashSet<MapaImputacao>();
        this.Pagamentos = new HashSet<Pagamentos>();
        this.PagamentosParticipantes = new HashSet<PagamentosParticipantes>();
        this.PedidosContraFaturas = new HashSet<PedidosContraFaturas>();
        this.ProjectoAnexos = new HashSet<ProjectoAnexos>();
        this.ProjectoEquipa = new HashSet<ProjectoEquipa>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.ProjectoInstituicao = new HashSet<ProjectoInstituicao>();
        this.ProjectoOverheads = new HashSet<ProjectoOverheads>();
        this.Recebimentos = new HashSet<Recebimentos>();
        this.RecebimentosParticipantes = new HashSet<RecebimentosParticipantes>();
        this.RegistoTarefas = new HashSet<RegistoTarefas>();
        this.TipoTarefa = new HashSet<TipoTarefa>();
        this.TransferenciasParticipantes = new HashSet<TransferenciasParticipantes>();
        this.VerbasMovimento = new HashSet<VerbasMovimento>();
        this.VerbasOverheads = new HashSet<VerbasOverheads>();
        this.AdmDespesaExecutada = new HashSet<AdmDespesaExecutada>();
        this.AdmOrcamento = new HashSet<AdmOrcamento>();
        this.AdmOrcamentoParceiras = new HashSet<AdmOrcamentoParceiras>();
        this.AdmPedidoPagamento = new HashSet<AdmPedidoPagamento>();
        this.Despesas = new HashSet<Despesas>();
    }

    public int ID { get; set; }
    public int IDCandidatura { get; set; }
    public string ReferenciaProjecto { get; set; }
    public Nullable<System.DateTime> DataAprovacao { get; set; }
    public Nullable<System.DateTime> DataAprovacaoCG { get; set; }
    public Nullable<double> FinanciamentoTotal { get; set; }
    public Nullable<double> CofinanciamentoTotal { get; set; }
    public string CentroCustos { get; set; }
    public Nullable<System.DateTime> DataInicioProjecto { get; set; }
    public Nullable<System.DateTime> DataTermoProjecto { get; set; }
    public Nullable<int> DuracaoAprovada { get; set; }
    public Nullable<int> PeriodicidadeDespesas { get; set; }
    public string AnexoContrato { get; set; }
    public Nullable<int> IDProtocoloIN { get; set; }
    public string ArquivoReferencia { get; set; }
    public string Observacoes { get; set; }
    public Nullable<int> IDProtocoloOUT { get; set; }
    public Nullable<bool> ControloOrcamental { get; set; }
    public string FonteFinanciamento { get; set; }
    public Nullable<double> ValorGastosGerais { get; set; }
    public Nullable<double> ValorRecursosHumanos { get; set; }
    public Nullable<int> IDEstado { get; set; }
    public Nullable<System.DateTime> DataExtensaoTermo { get; set; }
    public Nullable<double> ValorDespesaExtensaoTermo { get; set; }
    public Nullable<System.DateTime> DataEncerramentoCF { get; set; }
    public string RegraAmortizacao { get; set; }
    public Nullable<int> RegraAmortizacaoPeriodo { get; set; }
    public string RegraAdiantamento { get; set; }
    public Nullable<bool> FatorDepreciacaoAcelerada { get; set; }
    public string FonteFinanciamentoERP { get; set; }
    public string ClassificacaoEconomica { get; set; }
    public Nullable<System.DateTime> DataAlteracao { get; set; }
    public string ObjectivoPrincipal { get; set; }
    public Nullable<int> IDRegiaoIntervencao { get; set; }
    public Nullable<int> IDTipologiaProjeto { get; set; }

    public virtual ICollection<Adiantamento> Adiantamento { get; set; }
    public virtual Candidaturas Candidaturas { get; set; }
    public virtual ICollection<Contratos> Contratos { get; set; }
    public virtual Estados Estados { get; set; }
    public virtual ICollection<InternoMovimento> InternoMovimento { get; set; }
    public virtual ICollection<InternoRubrica> InternoRubrica { get; set; }
    public virtual ICollection<MapaImputacao> MapaImputacao { get; set; }
    public virtual ICollection<Pagamentos> Pagamentos { get; set; }
    public virtual ICollection<PagamentosParticipantes> PagamentosParticipantes { get; set; }
    public virtual ICollection<PedidosContraFaturas> PedidosContraFaturas { get; set; }
    public virtual ICollection<ProjectoAnexos> ProjectoAnexos { get; set; }
    public virtual ProjectoEnvioEmailExclusoes ProjectoEnvioEmailExclusoes { get; set; }
    public virtual ICollection<ProjectoEquipa> ProjectoEquipa { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual ICollection<ProjectoInstituicao> ProjectoInstituicao { get; set; }
    public virtual ICollection<ProjectoOverheads> ProjectoOverheads { get; set; }
    public virtual ICollection<Recebimentos> Recebimentos { get; set; }
    public virtual ICollection<RecebimentosParticipantes> RecebimentosParticipantes { get; set; }
    public virtual ICollection<RegistoTarefas> RegistoTarefas { get; set; }
    public virtual ICollection<TipoTarefa> TipoTarefa { get; set; }
    public virtual ICollection<TransferenciasParticipantes> TransferenciasParticipantes { get; set; }
    public virtual ICollection<VerbasMovimento> VerbasMovimento { get; set; }
    public virtual ICollection<VerbasOverheads> VerbasOverheads { get; set; }
    public virtual ICollection<AdmDespesaExecutada> AdmDespesaExecutada { get; set; }
    public virtual ICollection<AdmOrcamento> AdmOrcamento { get; set; }
    public virtual ICollection<AdmOrcamentoParceiras> AdmOrcamentoParceiras { get; set; }
    public virtual ICollection<AdmPedidoPagamento> AdmPedidoPagamento { get; set; }
    public virtual ICollection<Despesas> Despesas { get; set; }
    public virtual RegiaoIntervencao RegiaoIntervencao { get; set; }
    public virtual ProjectoLogotipo ProjectoLogotipo { get; set; }
    public virtual TipologiaProjeto TipologiaProjeto { get; set; }
}

public partial class ProjectosAlocacaoDiaria
{
    public int IDProjecto { get; set; }
    public int IDRecursoHumano { get; set; }
    public System.DateTime Data { get; set; }
    public int Alocacao { get; set; }
}

public partial class Recebimentos
{
    public Recebimentos()
    {
        this.RecebimentosAbate = new HashSet<RecebimentosAbate>();
        this.RecebimentosAbate1 = new HashSet<RecebimentosAbate>();
        this.RecebimentosPagamento = new HashSet<RecebimentosPagamento>();
        this.RecebimentosAnexos = new HashSet<RecebimentosAnexos>();
        this.AdiantamentoCompensacao = new HashSet<AdiantamentoCompensacao>();
        this.RecebimentosReceita = new HashSet<RecebimentosReceita>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public System.DateTime DataRecebimento { get; set; }
    public string TipoRecebimento { get; set; }
    public double MontanteTotal { get; set; }
    public string Observacoes { get; set; }

    public virtual ICollection<RecebimentosAbate> RecebimentosAbate { get; set; }
    public virtual ICollection<RecebimentosAbate> RecebimentosAbate1 { get; set; }
    public virtual ICollection<RecebimentosPagamento> RecebimentosPagamento { get; set; }
    public virtual ICollection<RecebimentosAnexos> RecebimentosAnexos { get; set; }
    public virtual ICollection<AdiantamentoCompensacao> AdiantamentoCompensacao { get; set; }
    public virtual ICollection<RecebimentosReceita> RecebimentosReceita { get; set; }
    public virtual TiposRecebimento TiposRecebimento { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class RecebimentosAbate
{
    public int ID { get; set; }
    public int IDRecebimento { get; set; }
    public Nullable<int> IDRecebimentoAbate { get; set; }
    public double MontanteAbate { get; set; }

    public virtual Recebimentos Recebimentos { get; set; }
    public virtual Recebimentos Recebimentos1 { get; set; }
}

public partial class RecebimentosAnexos
{
    public int ID { get; set; }
    public Nullable<int> IDRecebimento { get; set; }
    public string Documento { get; set; }
    public string Descricao { get; set; }
    public string NomeFicheiro { get; set; }

    public virtual Recebimentos Recebimentos { get; set; }
}

public partial class RecebimentosPagamento
{
    public int ID { get; set; }
    public int IDRecebimento { get; set; }
    public int IDPagamento { get; set; }

    public virtual Recebimentos Recebimentos { get; set; }
    public virtual Pagamentos Pagamentos { get; set; }
}

public partial class RecebimentosPagamentoParticipantes
{
    public int ID { get; set; }
    public int IDRecebimentoParticipante { get; set; }
    public int IDPagamentoParticipante { get; set; }

    public virtual PagamentosParticipantes PagamentosParticipantes { get; set; }
    public virtual RecebimentosParticipantes RecebimentosParticipantes { get; set; }
}

public partial class RecebimentosParticipantes
{
    public RecebimentosParticipantes()
    {
        this.RecebimentosPagamentoParticipantes = new HashSet<RecebimentosPagamentoParticipantes>();
        this.RecebimentosParticipantesReceita = new HashSet<RecebimentosParticipantesReceita>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicaoParticipante { get; set; }
    public string CodigoTipoRecebimento { get; set; }
    public double Valor { get; set; }
    public System.DateTime Data { get; set; }
    public Nullable<int> IDEntidadeFinanciadora { get; set; }

    public virtual ICollection<RecebimentosPagamentoParticipantes> RecebimentosPagamentoParticipantes { get; set; }
    public virtual TiposRecebimento TiposRecebimento { get; set; }
    public virtual ICollection<RecebimentosParticipantesReceita> RecebimentosParticipantesReceita { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual Instituicao Instituicao { get; set; }
}

public partial class RecebimentosParticipantesReceita
{
    public int ID { get; set; }
    public int IDRecebimentoParticipante { get; set; }
    public string IDFaturaRecibo { get; set; }
    public string IDLinhaFacturaRecibo { get; set; }
    public string SerieFacturaRecibos { get; set; }
    public string DescricaoFacturaRecibo { get; set; }
    public Nullable<double> Valor { get; set; }
    public Nullable<System.DateTime> Data { get; set; }

    public virtual RecebimentosParticipantes RecebimentosParticipantes { get; set; }
}

public partial class RecebimentosReceita
{
    public int ID { get; set; }
    public int IDRecebimento { get; set; }
    public string IDFacturaRecibo { get; set; }
    public string IDLinhaFacturaRecibo { get; set; }
    public string SerieFacturaRecibos { get; set; }
    public Nullable<int> IDReceita { get; set; }
    public string DescricaoFacturaRecibo { get; set; }
    public Nullable<double> Valor { get; set; }
    public Nullable<System.DateTime> Data { get; set; }

    public virtual Recebimentos Recebimentos { get; set; }
}

public partial class RecursoHumano
{
    public RecursoHumano()
    {
        this.RegistoTarefas = new HashSet<RegistoTarefas>();
        this.CandidaturaEquipa = new HashSet<CandidaturaEquipa>();
        this.ProjectoEquipa = new HashSet<ProjectoEquipa>();
        this.Seguros = new HashSet<Seguros>();
        this.Contratos = new HashSet<Contratos>();
        this.Contratos1 = new HashSet<Contratos>();
        this.InternoMovimento = new HashSet<InternoMovimento>();
        this.InternoProjecto = new HashSet<InternoProjecto>();
        this.InternoProjectoDelegacao = new HashSet<InternoProjectoDelegacao>();
        this.Candidaturas = new HashSet<Candidaturas>();
        this.ListagemTimesheets = new HashSet<ListagemTimesheet>();
    }

    public int ID { get; set; }
    public string Login { get; set; }
    public string NumeroMecanografico { get; set; }
    public string Nome { get; set; }
    public string NomeAbreviado { get; set; }
    public string NIF { get; set; }
    public string DocumentoIdentificacaoTipo { get; set; }
    public string DocumentoIdentificacaoNumero { get; set; }
    public Nullable<System.DateTime> DocumentoIdentificacaoValidade { get; set; }
    public Nullable<int> IDNacionalidade { get; set; }
    public int IDGrauAcademico { get; set; }
    public string Morada { get; set; }
    public string Localidade { get; set; }
    public string CodigoPostal { get; set; }
    public string EMail { get; set; }
    public Nullable<System.DateTime> DataNascimento { get; set; }
    public string Sexo { get; set; }
    public string Telefone1 { get; set; }
    public string Telefone2 { get; set; }
    public Nullable<int> IDGrupoInvestigacao { get; set; }
    public string Observacoes { get; set; }
    public Nullable<int> IDUnidade { get; set; }
    public Nullable<int> IDTipoRecursoHumano { get; set; }
    public Nullable<int> IDInstituicao { get; set; }
    public Nullable<bool> Activo { get; set; }

    public virtual GrauAcademico GrauAcademico { get; set; }
    public virtual GruposInvestigacao GruposInvestigacao { get; set; }
    public virtual TipoDocumentoIdentificacao TipoDocumentoIdentificacao { get; set; }
    public virtual Unidades Unidades { get; set; }
    public virtual ICollection<RegistoTarefas> RegistoTarefas { get; set; }
    public virtual ICollection<CandidaturaEquipa> CandidaturaEquipa { get; set; }
    public virtual ICollection<ProjectoEquipa> ProjectoEquipa { get; set; }
    public virtual ICollection<Seguros> Seguros { get; set; }
    public virtual TipoRecursoHumano TipoRecursoHumano { get; set; }
    public virtual ICollection<Contratos> Contratos { get; set; }
    public virtual ICollection<Contratos> Contratos1 { get; set; }
    public virtual ICollection<InternoMovimento> InternoMovimento { get; set; }
    public virtual ICollection<InternoProjecto> InternoProjecto { get; set; }
    public virtual ICollection<InternoProjectoDelegacao> InternoProjectoDelegacao { get; set; }
    public virtual Paises Paises { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual ICollection<ListagemTimesheet> ListagemTimesheets { get; set; }
}

public partial class RegiaoIntervencao
{
    public RegiaoIntervencao()
    {
        this.Projectos = new HashSet<Projectos>();
    }

    public int ID { get; set; }
    public string NomeRegiao { get; set; }
    public bool Activo { get; set; }

    public virtual ICollection<Projectos> Projectos { get; set; }
}

public partial class RegistoTarefas
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDTarefa { get; set; }
    public int IDRecursoHumano { get; set; }
    public System.DateTime InicioTarefa { get; set; }
    public System.DateTime FimTarefa { get; set; }
    public string Observacoes { get; set; }
    public Nullable<System.DateTime> DataInicio { get; set; }
    public Nullable<int> HorasPrevistas { get; set; }
    public Nullable<System.DateTime> DataFim { get; set; }

    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual TipoTarefa TipoTarefa { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class Rubricas
{
    public Rubricas()
    {
        this.CandidaturaOrcamento = new HashSet<CandidaturaOrcamento>();
        this.Rubricas1 = new HashSet<Rubricas>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.PedidosContraFaturas = new HashSet<PedidosContraFaturas>();
        this.AdmDespesaExecutada = new HashSet<AdmDespesaExecutada>();
        this.AdmOrcamento = new HashSet<AdmOrcamento>();
        this.AdmPedidoPagamento = new HashSet<AdmPedidoPagamento>();
        this.Despesas = new HashSet<Despesas>();
    }

    public int ID { get; set; }
    public bool Activo { get; set; }
    public Nullable<int> IDRubricaPai { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public string Nome { get; set; }
    public string CodigoRubricaExcel { get; set; }
    public string CodigoRubricaFormularios { get; set; }
    public Nullable<bool> GastosGerais { get; set; }
    public Nullable<bool> RecursosHumanos { get; set; }
    public Nullable<bool> AjudasCustoDeslocacoes { get; set; }
    public Nullable<bool> PropinasDDM { get; set; }

    public virtual ICollection<CandidaturaOrcamento> CandidaturaOrcamento { get; set; }
    public virtual ICollection<Rubricas> Rubricas1 { get; set; }
    public virtual Rubricas Rubricas2 { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual ICollection<PedidosContraFaturas> PedidosContraFaturas { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual ICollection<AdmDespesaExecutada> AdmDespesaExecutada { get; set; }
    public virtual ICollection<AdmOrcamento> AdmOrcamento { get; set; }
    public virtual ICollection<AdmPedidoPagamento> AdmPedidoPagamento { get; set; }
    public virtual ICollection<Despesas> Despesas { get; set; }
}

public partial class Seguradoras
{
    public Seguradoras()
    {
        this.Seguros = new HashSet<Seguros>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public string Morada { get; set; }
    public string Localidade { get; set; }
    public string CodigoPostal { get; set; }
    public string Telefone { get; set; }
    public string Fax { get; set; }
    public string Email { get; set; }
    public string URL { get; set; }
    public string Observacoes { get; set; }

    public virtual ICollection<Seguros> Seguros { get; set; }
}

public partial class SeguroPagamento
{
    public int ID { get; set; }
    public int IDApolice { get; set; }
    public System.DateTime DataEnvio { get; set; }
    public string NumeroDocumento { get; set; }
    public string Descricao { get; set; }
    public double Valor { get; set; }
    public Nullable<int> IDEstadoPagamento { get; set; }
    public string DocumentoPagamento { get; set; }

    public virtual Estados Estados { get; set; }
    public virtual Seguros Seguros { get; set; }
}

public partial class Seguros
{
    public Seguros()
    {
        this.SeguroPagamento = new HashSet<SeguroPagamento>();
    }

    public int ID { get; set; }
    public int IDRecursosHumano { get; set; }
    public int IDContrato { get; set; }
    public string NumeroApolice { get; set; }
    public System.DateTime DataApolice { get; set; }
    public int IDSeguradora { get; set; }
    public double Custo { get; set; }
    public double Cobertura { get; set; }
    public string Observacoes { get; set; }
    public string AnexoContrato { get; set; }
    public Nullable<System.DateTime> DataTermino { get; set; }
    public Nullable<double> ValorEstorno { get; set; }
    public bool Activo { get; set; }
    public Nullable<System.DateTime> DataCancelamento { get; set; }

    public virtual RecursoHumano RecursoHumano { get; set; }
    public virtual Seguradoras Seguradoras { get; set; }
    public virtual ICollection<SeguroPagamento> SeguroPagamento { get; set; }
    public virtual Contratos Contratos { get; set; }
}

public partial class TemplateFile
{
    public int IDTemplate { get; set; }
    public string FileNameT { get; set; }
    public string FileTipoT { get; set; }
    public byte[] FileContentT { get; set; }
}

public partial class TemplatesEmails
{
    public string Codigo { get; set; }
    public string Texto { get; set; }
    public string Assunto { get; set; }
}

public partial class TipoAgregacaoPrograma
{
    public TipoAgregacaoPrograma()
    {
        this.ProgramaQuadro = new HashSet<ProgramaQuadro>();
    }

    public int ID { get; set; }
    public string NomeAgregacao { get; set; }

    public virtual ICollection<ProgramaQuadro> ProgramaQuadro { get; set; }
}

public partial class TipoAgregacaoProgramaOperacional
{
    public TipoAgregacaoProgramaOperacional()
    {
        this.ProgramaOperacional = new HashSet<ProgramaOperacional>();
    }

    public int ID { get; set; }
    public string NomeAgregacao { get; set; }

    public virtual ICollection<ProgramaOperacional> ProgramaOperacional { get; set; }
}

public partial class TipoBolsa
{
    public TipoBolsa()
    {
        this.CandidaturaEquipa = new HashSet<CandidaturaEquipa>();
        this.ProjectoEquipa = new HashSet<ProjectoEquipa>();
        this.Contratos = new HashSet<Contratos>();
    }

    public int ID { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public bool Activo { get; set; }
    public string Sigla { get; set; }
    public string Nome { get; set; }
    public double ValorBolsa { get; set; }
    public System.DateTime DataInicioVigor { get; set; }
    public System.DateTime DataFimVigor { get; set; }

    public virtual ICollection<CandidaturaEquipa> CandidaturaEquipa { get; set; }
    public virtual ICollection<ProjectoEquipa> ProjectoEquipa { get; set; }
    public virtual ICollection<Contratos> Contratos { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
}

public partial class TipoDocumento
{
    public TipoDocumento()
    {
        this.Despesas = new HashSet<Despesas>();
        this.Despesas1 = new HashSet<Despesas>();
    }

    public int ID { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public string CodigoTipoDocumentoRelatorio { get; set; }
    public string CodigoTipoDocumentoExcel { get; set; }
    public string Descricao { get; set; }
    public bool Activo { get; set; }
    public string ClasseDocumento { get; set; }
    public string ERPCodigoDocumento { get; set; }

    public virtual ClasseDocumentoDespesa ClasseDocumentoDespesa { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual ICollection<Despesas> Despesas { get; set; }
    public virtual ICollection<Despesas> Despesas1 { get; set; }
}

public partial class TipoDocumentoIdentificacao
{
    public TipoDocumentoIdentificacao()
    {
        this.RecursoHumano = new HashSet<RecursoHumano>();
    }

    public string DocumentoIdentificacaoTipo { get; set; }
    public string Nome { get; set; }

    public virtual ICollection<RecursoHumano> RecursoHumano { get; set; }
}

public partial class TipoEntidade
{
    public TipoEntidade()
    {
        this.EntidadeFinanciadora = new HashSet<EntidadeFinanciadora>();
    }

    public string Codigo { get; set; }
    public string Descricao { get; set; }

    public virtual ICollection<EntidadeFinanciadora> EntidadeFinanciadora { get; set; }
}

public partial class TipoEstatutos
{
    public TipoEstatutos()
    {
        this.UnidadesInvestigadoresEstatutos = new HashSet<UnidadesInvestigadoresEstatutos>();
    }

    public string Estatuto { get; set; }
    public int Ordem { get; set; }

    public virtual ICollection<UnidadesInvestigadoresEstatutos> UnidadesInvestigadoresEstatutos { get; set; }
}

public partial class TipoInstituicao
{
    public TipoInstituicao()
    {
        this.Instituicao = new HashSet<Instituicao>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }

    public virtual ICollection<Instituicao> Instituicao { get; set; }
}

public partial class TipologiaProjeto
{
    public TipologiaProjeto()
    {
        this.Projectos = new HashSet<Projectos>();
    }

    public int IDTipologiaProjeto { get; set; }
    public string Descricao { get; set; }
    public bool Activo { get; set; }

    public virtual ICollection<Projectos> Projectos { get; set; }
}

public partial class TipoPagamento
{
    public TipoPagamento()
    {
        this.Pagamentos = new HashSet<Pagamentos>();
    }

    public string CodigoTipoPagamento { get; set; }
    public string Descricao { get; set; }
    public bool FlagContraFatura { get; set; }
    public bool FlagRegularizacaoContraFatura { get; set; }

    public virtual ICollection<Pagamentos> Pagamentos { get; set; }
}

public partial class TipoProjecto
{
    public TipoProjecto()
    {
        this.CandidaturaFinanciamento = new HashSet<CandidaturaFinanciamento>();
        this.ProjectoFinanciamento = new HashSet<ProjectoFinanciamento>();
        this.Candidaturas = new HashSet<Candidaturas>();
    }

    public int ID { get; set; }
    public int IDProgramaOperacional { get; set; }
    public string Sigla { get; set; }
    public string Nome { get; set; }
    public string Eixo { get; set; }

    public virtual ProgramaOperacional ProgramaOperacional { get; set; }
    public virtual ICollection<CandidaturaFinanciamento> CandidaturaFinanciamento { get; set; }
    public virtual ICollection<ProjectoFinanciamento> ProjectoFinanciamento { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
}

public partial class TipoRecursoHumano
{
    public TipoRecursoHumano()
    {
        this.RecursoHumano = new HashSet<RecursoHumano>();
    }

    public int ID { get; set; }
    public string Descricao { get; set; }

    public virtual ICollection<RecursoHumano> RecursoHumano { get; set; }
}

public partial class TiposAgregacaoFundosFinancimento
{
    public TiposAgregacaoFundosFinancimento()
    {
        this.FundoFinanciamentoAgregacao = new HashSet<FundoFinanciamentoAgregacao>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public string Sigla { get; set; }
    public byte[] Logotipo { get; set; }
    public bool Activo { get; set; }

    public virtual ICollection<FundoFinanciamentoAgregacao> FundoFinanciamentoAgregacao { get; set; }
}

public partial class TiposProcedimentoContratacaoPublica
{
    public TiposProcedimentoContratacaoPublica()
    {
        this.Despesas = new HashSet<Despesas>();
    }

    public int ID { get; set; }
    public string Nome { get; set; }
    public string CodigoRubricaExcel { get; set; }
    public bool Activo { get; set; }
    public bool CompromissoCabimentosSIFUM { get; set; }
    public Nullable<bool> ContratacaoPublicaNaoAplicavel { get; set; }

    public virtual ICollection<Despesas> Despesas { get; set; }
}

public partial class TiposRecebimento
{
    public TiposRecebimento()
    {
        this.Recebimentos = new HashSet<Recebimentos>();
        this.RecebimentosParticipantes = new HashSet<RecebimentosParticipantes>();
    }

    public string Codigo { get; set; }
    public string Descricao { get; set; }
    public Nullable<bool> PedidoPagamento { get; set; }

    public virtual ICollection<Recebimentos> Recebimentos { get; set; }
    public virtual ICollection<RecebimentosParticipantes> RecebimentosParticipantes { get; set; }
}

public partial class TipoTarefa
{
    public TipoTarefa()
    {
        this.RegistoTarefas = new HashSet<RegistoTarefas>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public string Nome { get; set; }
    public string WorkPackageNumero { get; set; }
    public string WorkPackageDescricao { get; set; }
    public Nullable<System.DateTime> DataInicio { get; set; }
    public Nullable<System.DateTime> DataFim { get; set; }
    public Nullable<int> HorasPrevistas { get; set; }
    public string Atividade { get; set; }

    public virtual ICollection<RegistoTarefas> RegistoTarefas { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class TipoUnidade
{
    public TipoUnidade()
    {
        this.Unidades = new HashSet<Unidades>();
    }

    public string Codigo { get; set; }
    public string Descricao { get; set; }

    public virtual ICollection<Unidades> Unidades { get; set; }
}

public partial class TranferenciasPagamentosParticipantes
{
    public int ID { get; set; }
    public int IDTransferenciaParticipante { get; set; }
    public int IDPagamentoParticipante { get; set; }

    public virtual PagamentosParticipantes PagamentosParticipantes { get; set; }
    public virtual TransferenciasParticipantes TransferenciasParticipantes { get; set; }
}

public partial class TransferenciasParticipantes
{
    public TransferenciasParticipantes()
    {
        this.TranferenciasPagamentosParticipantes = new HashSet<TranferenciasPagamentosParticipantes>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicaoParticipante { get; set; }
    public int IDEntidadeFinanciadora { get; set; }
    public string CodigoTipoRecebimento { get; set; }
    public string ERPNReg { get; set; }
    public string ERPDiario { get; set; }
    public string ERPContaPOCE { get; set; }
    public System.DateTime Data { get; set; }
    public double Valor { get; set; }

    public virtual ICollection<TranferenciasPagamentosParticipantes> TranferenciasPagamentosParticipantes { get; set; }
    public virtual Projectos Projectos { get; set; }
    public virtual Instituicao Instituicao { get; set; }
}

public partial class UnidadeInvestigadores
{
    public UnidadeInvestigadores()
    {
        this.UnidadesInvestigadoresEstatutos = new HashSet<UnidadesInvestigadoresEstatutos>();
    }

    public string CodigoUnidade { get; set; }
    public string NMecanografico { get; set; }
    public int NContrato { get; set; }
    public string Login { get; set; }

    public virtual ICollection<UnidadesInvestigadoresEstatutos> UnidadesInvestigadoresEstatutos { get; set; }
}

public partial class Unidades
{
    public Unidades()
    {
        this.GruposInvestigacao = new HashSet<GruposInvestigacao>();
        this.RecursoHumano = new HashSet<RecursoHumano>();
        this.Contratos = new HashSet<Contratos>();
        this.InternoProjecto = new HashSet<InternoProjecto>();
        this.Candidaturas = new HashSet<Candidaturas>();
    }

    public int ID { get; set; }
    public Nullable<int> IDInstituicao { get; set; }
    public string Codigo { get; set; }
    public string NomeUnidade { get; set; }
    public string Sigla { get; set; }
    public string TipoUnidade { get; set; }
    public string UnidadeMae { get; set; }
    public string Terminal { get; set; }
    public string Morada { get; set; }
    public string CodigoPostal { get; set; }
    public string Telefone1 { get; set; }
    public string Telefone2 { get; set; }
    public string Fax { get; set; }
    public string Email { get; set; }
    public string URL { get; set; }
    public string NmecanograficoResponsavel { get; set; }
    public string Responsavel { get; set; }
    public string EmailResponsavel { get; set; }
    public string Observacoes { get; set; }
    public string Activo { get; set; }
    public string DominioEmail { get; set; }
    public Nullable<bool> ValidaCandidaturas { get; set; }
    public Nullable<bool> CentroFCT { get; set; }
    public string NomeFCT { get; set; }

    public virtual TipoUnidade TipoUnidade1 { get; set; }
    public virtual ICollection<GruposInvestigacao> GruposInvestigacao { get; set; }
    public virtual ICollection<RecursoHumano> RecursoHumano { get; set; }
    public virtual ICollection<Contratos> Contratos { get; set; }
    public virtual ICollection<InternoProjecto> InternoProjecto { get; set; }
    public virtual ICollection<Candidaturas> Candidaturas { get; set; }
    public virtual Instituicao Instituicao { get; set; }
}

public partial class UnidadesInvestigadoresEstatutos
{
    public string CodigoUnidade { get; set; }
    public string NMecanografico { get; set; }
    public string Estatuto { get; set; }
    public int NContrato { get; set; }
    public Nullable<bool> Dummy { get; set; }

    public virtual TipoEstatutos TipoEstatutos { get; set; }
    public virtual UnidadeInvestigadores UnidadeInvestigadores { get; set; }
}

public partial class VerbasMovimento
{
    public VerbasMovimento()
    {
        this.VerbasOverheads = new HashSet<VerbasOverheads>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public string Tipo { get; set; }
    public System.DateTime DataMovimento { get; set; }
    public double Verba { get; set; }
    public string NumeroDocumento { get; set; }
    public Nullable<int> IDInstituicao { get; set; }
    public Nullable<int> IDEntidade { get; set; }
    public bool FlagConsolidado { get; set; }
    public Nullable<System.DateTime> DataConsolidacao { get; set; }
    public string Observacoes { get; set; }
    public string CentroCustos { get; set; }

    public virtual ICollection<VerbasOverheads> VerbasOverheads { get; set; }
    public virtual EntidadeFinanciadora EntidadeFinanciadora { get; set; }
    public virtual Instituicao Instituicao { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class VerbasOverheads
{
    public VerbasOverheads()
    {
        this.VerbasOverheadValor = new HashSet<VerbasOverheadValor>();
    }

    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDVerba { get; set; }
    public System.DateTime DataDebito { get; set; }
    public string Observacoes { get; set; }
    public bool FlagConsolidado { get; set; }
    public Nullable<System.DateTime> DataConsolidacao { get; set; }

    public virtual VerbasMovimento VerbasMovimento { get; set; }
    public virtual ICollection<VerbasOverheadValor> VerbasOverheadValor { get; set; }
    public virtual Projectos Projectos { get; set; }
}

public partial class VerbasOverheadValor
{
    public int IDVerbaOverhead { get; set; }
    public int IDProjectoOverhead { get; set; }
    public double Valor { get; set; }
    public string CentroCusto { get; set; }

    public virtual ProjectoOverheads ProjectoOverheads { get; set; }
    public virtual VerbasOverheads VerbasOverheads { get; set; }
}

public partial class View
{
    public View()
    {
        this.ViewsPermissoes = new HashSet<ViewsPermissoes>();
        this.Perfil = new HashSet<Perfil>();
    }

    public string ViewName { get; set; }
    public string View1 { get; set; }
    public string Params { get; set; }

    public virtual ICollection<ViewsPermissoes> ViewsPermissoes { get; set; }
    public virtual ICollection<Perfil> Perfil { get; set; }
}

public partial class ViewsPermissoes
{
    public string ViewName { get; set; }
    public string CodigoPermissao { get; set; }
    public Nullable<int> Dummy { get; set; }

    public virtual Permissoes Permissoes { get; set; }
    public virtual View View { get; set; }
}

public partial class VW_FuncionarioContrato
{
    public string NMecanografico { get; set; }
    public string BDOrigem { get; set; }
    public string Nome { get; set; }
    public string NomeAbreviado { get; set; }
    public Nullable<System.DateTime> DataNascimento { get; set; }
    public string AutorizaDivulgarDataNascimento { get; set; }
    public string TipoDocumentoID { get; set; }
    public string NumeroDI { get; set; }
    public string NumeroContribuinte { get; set; }
    public string Sexo { get; set; }
    public string EstadoCivil { get; set; }
    public string HabilitacaoActual { get; set; }
    public string MoradaUM { get; set; }
    public string CodigoPostalUM { get; set; }
    public string TelefoneUM { get; set; }
    public string TelefoneUM2 { get; set; }
    public string FaxUM { get; set; }
    public string EmailUM { get; set; }
    public string URLPessoalUM { get; set; }
    public string Activo { get; set; }
    public string PessoalUM { get; set; }
    public Nullable<int> NContratoPrincipal { get; set; }
    public Nullable<int> NContrato { get; set; }
    public string SituacaoContrato { get; set; }
    public Nullable<System.DateTime> DataSituacaoContrato { get; set; }
    public string CodigoUnidade { get; set; }
    public string LocalTrabalho { get; set; }
    public Nullable<System.DateTime> DataInicioFuncoes { get; set; }
    public Nullable<System.DateTime> DataFimContrato { get; set; }
    public Nullable<System.DateTime> DataRescisao { get; set; }
    public string CodigoCategoria { get; set; }
    public Nullable<System.DateTime> DataEntradaCategoria { get; set; }
    public string TemNivelCategorial { get; set; }
    public Nullable<int> NivelCategoria { get; set; }
    public string ECarreiraGeral { get; set; }
    public Nullable<decimal> PercentagemExclusividade { get; set; }
    public string Exclusividade { get; set; }
    public Nullable<System.DateTime> DataExclusividade { get; set; }
    public string CodigoCargo { get; set; }
    public string EBolseiro { get; set; }
    public string ContratoActivo { get; set; }
    public string PessoalUMinho { get; set; }
    public string CodigoHabilitacaoActual { get; set; }
    public string CodigoTipoFuncionario { get; set; }
    public string RegimePrivado { get; set; }
    public string DescricaoCategoria { get; set; }
    public string CarreiraDesignacao { get; set; }
    public string Login { get; set; }
}

public partial class VW_Funcionarios
{
    public string NMecanografico { get; set; }
    public string BDOrigem { get; set; }
    public string Nome { get; set; }
    public string NomeAbreviado { get; set; }
    public Nullable<System.DateTime> DataNascimento { get; set; }
    public string AutorizaDivulgarDataNascimento { get; set; }
    public string TipoDocumentoID { get; set; }
    public string NumeroDI { get; set; }
    public string NumeroContribuinte { get; set; }
    public string Sexo { get; set; }
    public string EstadoCivil { get; set; }
    public string HabilitacaoActual { get; set; }
    public string MoradaUM { get; set; }
    public string CodigoPostalUM { get; set; }
    public string TelefoneUM { get; set; }
    public string TelefoneUM2 { get; set; }
    public string FaxUM { get; set; }
    public string EmailUM { get; set; }
    public string URLPessoalUM { get; set; }
    public string Activo { get; set; }
    public string PessoalUM { get; set; }
    public string NomePai { get; set; }
    public string NomeMae { get; set; }
    public Nullable<int> NContratoPrincipal { get; set; }
    public string MoradaResidencia { get; set; }
    public string CodigoPostalResidencia { get; set; }
    public string Nacionalidade { get; set; }
    public Nullable<System.DateTime> DataValidadeDI { get; set; }
    public string CodigoDistritoResidencia { get; set; }
    public string CodigoFreguesiaResidencia { get; set; }
    public string CodigoConcelhoResidencia { get; set; }
    public string CodigoPostalResidencia2 { get; set; }
    public string CodigoPaisResidencia { get; set; }
    public string CheckDigitCC { get; set; }
    public string DocumentoIDVitalicio { get; set; }
}

public partial class VW_InvestigadoresUnidades
{
    public string Nome { get; set; }
    public string CodigoUnidade { get; set; }
    public string NomeUnidade { get; set; }
    public string Sigla { get; set; }
    public string Login { get; set; }
    public string NMecanografico { get; set; }
    public string CodigoCategoria { get; set; }
    public string DescricaoCategoria { get; set; }
    public string DescricaoHabilitacaoAcademica { get; set; }
    public int NContrato { get; set; }
    public string Estatuto { get; set; }
}

public partial class VW_InvestigadoresUnidadesEstatutos
{
    public string Login { get; set; }
    public string NMecanografico { get; set; }
    public string CodigoUnidade { get; set; }
    public int NContrato { get; set; }
    public string Estatuto { get; set; }
    public int Ordem { get; set; }
    public Nullable<bool> TemEstatuto { get; set; }
}

public partial class DIMENSAO_Type
{
    public string CENTRO_RESPONSABILIDADE { get; set; }
    public string DESCRI_CENTRO_RESPONSABILIDADE { get; set; }
    public string SUBCENTRO { get; set; }
    public string DESC_SUBCENTRO { get; set; }
}

public partial class ERP_Despesa
{
    public string Centro_Resp { get; set; }
    public string Subcen { get; set; }
    public string Conta_Proj { get; set; }
    public string Tipo_Movimento { get; set; }
    public string Desc_Mov { get; set; }
    public string Cod_Ent { get; set; }
    public string NIF_Entidade { get; set; }
    public string Nome_Ent { get; set; }
    public string Tip_Doc_Despesa { get; set; }
    public string Num_Doc_Despesa { get; set; }
    public Nullable<System.DateTime> Data_Doc_Despesa { get; set; }
    public string Valor { get; set; }
    public string Valor_IVA { get; set; }
    public string Valor_S_IVA { get; set; }
    public string Diario { get; set; }
    public Nullable<decimal> NReg { get; set; }
    public string Conta_POCE { get; set; }
    public string Pag_Tip_Doc_Desp { get; set; }
    public string Pag_Num_Doc_Despesa { get; set; }
    public string Pag_Grp_Ter_Doc_Desp { get; set; }
    public Nullable<System.DateTime> Pag_Data_Doc_Despesa { get; set; }
    public string Pag_Valor { get; set; }
    public string Pag_Valor_S_IVA { get; set; }
    public string Pag_Valor_IVA { get; set; }
    public string Grp_Ter_Doc_Despesa { get; set; }
    public string Desc_Mov_CTB { get; set; }
    public string Num_DSP { get; set; }
    public string Estrangeiro { get; set; }
    public Nullable<System.DateTime> Data_CTB { get; set; }
    public string Taxa_IVA { get; set; }
    public string Numero_Ordem { get; set; }
    public decimal Ano { get; set; }
    public string VALOR_TOTAL_TRANSF { get; set; }
    public string Num_DSP2 { get; set; }
}

public partial class ERP_OVERHEAD
{
    public Nullable<int> ANO { get; set; }
    public string CENTRO_RESP { get; set; }
    public string SUBCENTRO { get; set; }
    public string CONTA_PROJECTO { get; set; }
    public string CENTRO_RESP_DESTINO { get; set; }
    public string SUBCENTRO_DESTINO { get; set; }
    public string CONTA_PROJECTO_DESTINO { get; set; }
    public decimal PERC_DISTRIB { get; set; }
    public Nullable<decimal> LimiteMaximo { get; set; }
    public string DescricaoFormaDistribuicaoOV { get; set; }
    public string DescricaoCentroResponsabilidade { get; set; }
    public string DescricaoSubCentro { get; set; }
    public string CONTA_PROJECTO_DESC { get; set; }
    public string CENTRO_RESP_DESTINO_DESC { get; set; }
    public string SUBCENTRO_DESTINO_DESC { get; set; }
    public string CONTA_PROJECTO_DESTINO_DESC { get; set; }
}

public partial class ERP_Tipo_Doc
{
    public string Tip_Doc { get; set; }
    public string Desc_Tip_Doc { get; set; }
    public string Tipo_DespRec { get; set; }
}

public partial class RelacaoDespesasPagamentoSimple
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public Nullable<System.DateTime> Data { get; set; }
    public string DespesaNumeroDocumento { get; set; }
    public string NIFFornecedor { get; set; }
    public string Fornecedor { get; set; }
    public Nullable<int> IDPagamento { get; set; }
    public string CodigoEstado { get; set; }
    public string Estado { get; set; }
    public Nullable<bool> UnidadeInvestigacaoPodeCorrigir { get; set; }
    public string CorEstado { get; set; }
    public Nullable<double> ValorIVA { get; set; }
    public Nullable<double> ValorSemIVA { get; set; }
    public Nullable<double> Imputacao { get; set; }
    public int RubricaCodigo { get; set; }
    public string Rubrica { get; set; }
    public Nullable<double> ValorReembolsado { get; set; }
    public Nullable<double> ValorTotal { get; set; }
    public string ERPNReg { get; set; }
    public Nullable<double> ValorElegivel { get; set; }
    public Nullable<double> RubricaExecutado { get; set; }
    public Nullable<double> RubricaOrcamentada { get; set; }
    public Nullable<double> RubricaSaldo { get; set; }
    public Nullable<double> ValorImputado { get; set; }
    public Nullable<double> ValorElegivelEfectivo { get; set; }
    public Nullable<double> ValorReembolsadoEfectivo { get; set; }
    public string FornecedorAbreviado { get; set; }
}

public partial class SSP_ADM_DespesasRecursosHumanos_Result
{
    public string DIMENSAO { get; set; }
    public int ID { get; set; }
    public Nullable<double> ValorBolsas { get; set; }
    public Nullable<double> ValorOutras { get; set; }
    public Nullable<double> VALOR_AJUDAS { get; set; }
    public Nullable<double> VALOR_TODAS { get; set; }
}

public partial class SSP_ADM_DespesasVerbas_Result
{
    public int ProjectoId { get; set; }
    public int RubricaId { get; set; }
    public double TotalExecutado { get; set; }
    public double TotalPago { get; set; }
}

public partial class SSP_ADM_DespesasVerbasSemRubricas_Result
{
    public Nullable<int> ProjectoId { get; set; }
    public Nullable<int> RubricaId { get; set; }
    public Nullable<double> TotalExecutado { get; set; }
    public Nullable<double> TotalPago { get; set; }
    public string ClassificacaoEconomica { get; set; }
    public string DescricaoClassificacaoEconomica { get; set; }
    public string NomeRubricaEF { get; set; }
}

public partial class SSP_Despesas_BySubCentro_Result
{
    public int ID { get; set; }
    public int IDProjecto { get; set; }
    public int IDInstituicao { get; set; }
    public int IDRubrica { get; set; }
    public string DescricaoDespesa { get; set; }
    public string NIFFornecedor { get; set; }
    public string NomeFornecedor { get; set; }
    public string DespesaNumeroDocumento { get; set; }
    public Nullable<int> IDDespesaTipoDocumento { get; set; }
    public Nullable<System.DateTime> DespesaDataDocumento { get; set; }
    public Nullable<double> DespesaValor { get; set; }
    public Nullable<double> DespesaIVA { get; set; }
    public string DespesaAnexo { get; set; }
    public string QuitacaoNumeroDocumento { get; set; }
    public Nullable<int> IDQuitacaoTipoDocumento { get; set; }
    public Nullable<System.DateTime> QuitacaoDataDocumento { get; set; }
    public Nullable<double> QuitacaoValor { get; set; }
    public Nullable<double> QuitacaoIVA { get; set; }
    public string QuitacaoAnexo { get; set; }
    public string CodigoPOC { get; set; }
    public Nullable<double> TaxaImputacao { get; set; }
    public Nullable<bool> Anulada { get; set; }
    public Nullable<int> IDPagamento { get; set; }
    public Nullable<System.DateTime> DataValidacao { get; set; }
    public int IDEstado { get; set; }
    public string ERPDiario { get; set; }
    public string ERPNReg { get; set; }
    public Nullable<bool> Legada { get; set; }
    public string Estrangeiro { get; set; }
    public Nullable<System.DateTime> DataContabilistica { get; set; }
    public Nullable<double> DespesaTaxaIVA { get; set; }
    public Nullable<double> ValorConsiderar { get; set; }
    public Nullable<double> ValorReembolsado { get; set; }
    public Nullable<bool> DespesaRegistadaDFP { get; set; }
    public string ERPDescMovCTB { get; set; }
    public string CentroCustos { get; set; }
    public Nullable<int> IDDSP { get; set; }
    public Nullable<double> ValorElegivel { get; set; }
    public Nullable<bool> ImputacaoDespesa { get; set; }
    public Nullable<double> ValorTotalTransferencia { get; set; }
    public Nullable<int> IDTipoProcedimentoPublico { get; set; }
    public Nullable<System.DateTime> DataDecisaoContrato { get; set; }
    public Nullable<System.DateTime> DataContrato { get; set; }
    public Nullable<decimal> AmorticacaoTaxa { get; set; }
    public Nullable<System.DateTime> AmorticacaoInicioAfetacao { get; set; }
    public Nullable<System.DateTime> AmorticacaoFimAfetacaoProjecto { get; set; }
    public Nullable<decimal> ValorContratoSemIVA { get; set; }
    public Nullable<decimal> ValorContratoComIVA { get; set; }
    public string NumeroContrato { get; set; }
}

public partial class SSP_Funcionario_Result
{
    public string Nmecanografico { get; set; }
    public string Nome { get; set; }
    public Nullable<System.DateTime> DataNascimento { get; set; }
    public string TipoDocumentoID { get; set; }
    public string NumeroDI { get; set; }
    public string NumeroContribuinte { get; set; }
    public string Sexo { get; set; }
    public string HabilitacaoActual { get; set; }
    public string CodigoUnidade { get; set; }
    public string Unidade { get; set; }
    public string LocalTrabalho { get; set; }
    public string Categoria { get; set; }
    public string Tipo { get; set; }
    public string TelefoneUM { get; set; }
    public string FaxUM { get; set; }
    public string EmailUM { get; set; }
    public string Activo { get; set; }
    public string PessoalUM { get; set; }
}

public partial class SSP_FuncionarioByTermo_Result
{
    public string Nmecanografico { get; set; }
    public string Nome { get; set; }
    public string EmailUM { get; set; }
}

public partial class SSP_GetFontesFinanciamentoHierarquico_Result
{
    public Nullable<int> ID { get; set; }
    public Nullable<int> IDFonteFinanciamentoPai { get; set; }
    public Nullable<int> Level { get; set; }
    public string Path { get; set; }
    public string Nome { get; set; }
    public string Descricao { get; set; }
    public string URL { get; set; }
    public bool FlagMostraTabular { get; set; }
    public int FlagTemFilhos { get; set; }
    public string CaminhoIDs { get; set; }
    public string CaminhoNomes { get; set; }
}

public partial class SSP_GetUnidadeEscola_Result
{
    public int ID { get; set; }
    public Nullable<int> IDInstituicao { get; set; }
    public string Codigo { get; set; }
    public string NomeUnidade { get; set; }
    public string Sigla { get; set; }
    public string TipoUnidade { get; set; }
    public string UnidadeMae { get; set; }
    public string Terminal { get; set; }
    public string Morada { get; set; }
    public string CodigoPostal { get; set; }
    public string Telefone1 { get; set; }
    public string Telefone2 { get; set; }
    public string Fax { get; set; }
    public string Email { get; set; }
    public string URL { get; set; }
    public string NmecanograficoResponsavel { get; set; }
    public string Responsavel { get; set; }
    public string EmailResponsavel { get; set; }
    public string Observacoes { get; set; }
    public string Activo { get; set; }
    public string DominioEmail { get; set; }
    public Nullable<bool> ValidaCandidaturas { get; set; }
}

public partial class SSP_GETUnidadesDrillDown_Result
{
    public Nullable<int> ID { get; set; }
    public string CodigoUnidade { get; set; }
    public string NomeUnidade { get; set; }
    public string Sigla { get; set; }
    public Nullable<int> Nivel { get; set; }
    public string Tipo { get; set; }
    public Nullable<bool> CentroFCT { get; set; }
}

public partial class SSP_GetValorDividaInsituicaoParticipante_Result
{
    public int IDProjecto { get; set; }
    public string NomeInstituicao { get; set; }
    public Nullable<double> SaldoIntituicaoParticipante { get; set; }
}

public partial class SSP_STAT_ResumoRelacaoInstituicaoParticipante_Result
{
    public string ReferenciaProjecto { get; set; }
    public string NomeInstituicao { get; set; }
    public string TipoRecebimento { get; set; }
    public string IDLinhaFacturaRecibo { get; set; }
    public Nullable<double> ValorRecebidoEF { get; set; }
    public Nullable<System.DateTime> DataRecebimentoEF { get; set; }
    public Nullable<int> IDPedidoPagamento { get; set; }
    public Nullable<double> ValorElegivel { get; set; }
    public Nullable<double> ValorTransferido { get; set; }
    public Nullable<System.DateTime> DataTransferencia { get; set; }
    public string NumeroRegistoContabilistico { get; set; }
    public Nullable<int> IDRecebimento { get; set; }
}

public partial class SSSP_ERP_GET_SUBCENTRO_Result
{
    public string SUBCENTRO { get; set; }
    public string DESC_SUBCENTRO { get; set; }
}

public partial class VERBAS_Despesa
{
    public string IDNE { get; set; }
    public string FornecedorNIF { get; set; }
    public string FornecedorNome { get; set; }
    public decimal ValorComprometidoNE { get; set; }
}

public partial class VERBAS_Factura_Recibo
{
    public System.DateTime Data { get; set; }
    public string Serie { get; set; }
    public string IDFacturasRecibos { get; set; }
    public string ID { get; set; }
    public double Total { get; set; }
    public string Designacao { get; set; }
    public string FacturaRecibo { get; set; }
    public Nullable<int> IDReceitas { get; set; }
}
