/// <summary>
 /// Atualiza um objeto <typeparamref name="Entity"/> no banco de dados
 /// </summary>
 /// <param name="entidade"></param>
 public virtual void Atualizar(Entity entidade)
 {
     using (TelemedUnividasContext db = new TelemedUnividasContext())
     {
         db.Entry(entidade).State = EntityState.Modified;
         db.SaveChanges();
     }
 }
 /// <summary>
 /// Exclui um objeto <typeparamref name="Entity"/> do banco de dados
 /// </summary>
 /// <param name="entidade"></param>
 public virtual void Excluir(Entity entidade)
 {
     using (TelemedUnividasContext db = new TelemedUnividasContext())
     {
         db.Entry(entidade).State = EntityState.Deleted;
         db.SaveChanges();
     }
 }
        /// <summary>
        /// Salva o vinculo entre o <see cref="Especialista"/>, a <see cref="Especialidade"/> e a <see cref="Clinica"/>
        /// </summary>
        /// <param name="especialidade"></param>
        /// <param name="especialista"></param>
        /// <param name="clinica"></param>
        public void SalvarEspecialidadesClinicas(Especialidade especialidade, Especialista especialista, Clinica clinica)
        {
            EspecialidadeEspecialistaClinica eec = new EspecialidadeEspecialistaClinica();

            eec.EspecialistaCodigo  = especialista.Codigo;
            eec.EspecialidadeCodigo = especialidade.Codigo;
            eec.ClinicaCodigo       = clinica.Codigo;

            using (TelemedUnividasContext db = new TelemedUnividasContext())
            {
                db.EspecialidadeEspecialistaClinica.Add(eec);
                db.SaveChanges();
            }
        }
        /// <summary>
        /// Insere um objeto <typeparamref name="Entity"/> no banco de dados
        /// </summary>
        /// <param name="entidade"></param>
        public virtual int Inserir(Entity entidade)
        {
            using (TelemedUnividasContext db = new TelemedUnividasContext())
            {
                db.Add(entidade);
                db.SaveChanges();
            }

            // Obtem o valor do id inserido
            var props  = entidade.GetType().GetProperties();
            int codigo = (int)props.First().GetValue(entidade, null);

            return(codigo);
        }