/// <summary> /// Carrega as especialidades do profissional /// </summary> /// <param name="idProfissional"></param> public void CarregaEspecialidades(Int32 idProfissional) { ProfissionaisEspecialidadeDAL profissionaisEspecialidadeDAL = new ProfissionaisEspecialidadeDAL(); List<ProfissionaisEspecialidadeBE> Lista = new List<ProfissionaisEspecialidadeBE>(); Lista = profissionaisEspecialidadeDAL.Obter(idProfissional); //Percorro todas as opções do CheckBoxList for (int x = 0; x < ChkEspecialidade.Items.Count; x++) { //Percorro a lista for (int i = 0; i < Lista.Count; i++) { //Verifico se o id do controle é igual i id da lista de especialidades if (ChkEspecialidade.Items[x].Value == Lista[i].idEspecialidade.ToString()) { ChkEspecialidade.Items[x].Selected = true; } } } }
/// <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 }