/// <summary> /// Retorna um lista com as especialidades de um determinado profissional /// </summary> /// <param name="idProfissional"></param> /// <returns></returns> public List<ProfissionaisEspecialidadeBE> Obter(Int32 idProfissional) { Database db = DatabaseFactory.CreateDatabase(); DbCommand command = db.GetSqlStringCommand("SELECT * FROM ProfissionaisEspecialidade Where idProfissional = " + idProfissional); using (IDataReader dr = db.ExecuteReader(command)) { List<ProfissionaisEspecialidadeBE> Lista = new List<ProfissionaisEspecialidadeBE>(); while (dr.Read()) { ProfissionaisEspecialidadeBE profissionaisEspecialidadeBE = new ProfissionaisEspecialidadeBE(); profissionaisEspecialidadeBE.id = Convert.ToInt32(dr["id"]); profissionaisEspecialidadeBE.idProfissional = Convert.ToInt32(dr["idProfissional"]); profissionaisEspecialidadeBE.idEspecialidade = Convert.ToInt32(dr["idEspecialidade"]); Lista.Add(profissionaisEspecialidadeBE); } return Lista; } }
/// <summary> /// Metodo que gravar as especialidades do profissional /// </summary> public void GravaEspecialidades() { //Busco o ultimo ID inserido na base para gravar as especialidades do profissinal. //Isso não é uma boa pratica, mas como no momento estamos usando banco de dados access, foi o que deu. ProfissionaisDAL profissionaisDAL = new ProfissionaisDAL(); Int32 idProfissional = profissionaisDAL.ObterMaxId(); //Crio uma lista para armazenar as especialidades selecionadas no CheckBoxList List<ProfissionaisEspecialidadeBE> Lista = new List<ProfissionaisEspecialidadeBE>(); //Percorro o controle CheckBoxList for (int i = 0; i < ChkEspecialidade.Items.Count; i++) { if (ChkEspecialidade.Items[i].Selected) //Verifico quais foram selecionadas para adicionar na lista { ProfissionaisEspecialidadeBE profissionaisEspecialidadeBE = new ProfissionaisEspecialidadeBE(); profissionaisEspecialidadeBE.idEspecialidade = Convert.ToInt32(ChkEspecialidade.Items[i].Value); profissionaisEspecialidadeBE.idProfissional = idProfissional; Lista.Add(profissionaisEspecialidadeBE); } } ProfissionaisEspecialidadeDAL profissionaisEspecialidadeDAL = new ProfissionaisEspecialidadeDAL(); profissionaisEspecialidadeDAL.Delete(idProfissional); //Delete os registros antes de fazer a inserção das especialidades profissionaisEspecialidadeDAL.Incluir(Lista); //Chamo o metodo DAL responsavel por gravar }