public Guid?SalvarPresencaDoParticipante(bool presenca, string agendaId, string participanteId, DateTime data, string organizacao, string presencaId)
        {
            //try
            //{
            Guid?listaId = null;

            Intelbras.Crm.Domain.Services.TreinamentoService.Organizacao = new Organizacao(organizacao);
            if (participanteId == string.Empty)
            {
                throw new Exception("O parametro do participante não pode ser vazio ou nulo");
            }
            if (agendaId == string.Empty)
            {
                throw new Exception("O parametro da agenda não pode ser vazio ou nulo");
            }
            Intelbras.Crm.Domain.Services.TreinamentoService.Organizacao = new Organizacao(organizacao);
            var contato = new Contato(new Organizacao(organizacao))
            {
                Id = new Guid(participanteId)
            };
            var agenda = new Agenda(new Organizacao(organizacao))
            {
                Id = new Guid(agendaId)
            };
            var participante = Intelbras.Crm.Domain.Services.TreinamentoService.ObterParticipantePor(agenda, contato);

            if (participante != null)
            {
                var treinamento = new Treinamento(new Organizacao(organizacao));

                var lista = new ListaDePresenca(new Organizacao(organizacao));
                lista.Participante = participante;
                lista.Presenca     = presenca;
                lista.Data         = data;
                if (presencaId == string.Empty)
                {
                    treinamento.SalvarPresencaDoParticipante(lista);
                }
                else
                {
                    lista.Id = new Guid(presencaId);
                    listaId  = treinamento.AtualizaPresencaDoParticipante(lista);
                }
                return(listaId);
            }
            else
            {
                throw new Exception("O participante não foi encontrado. ID Participante: " + participanteId.ToString() + " :: ID Agenda: " + agendaId.ToString());
            }
            //}
            //catch (Exception ex)
            //{
            //    throw ex;
            //}
        }
        public ListaDePresenca ObterPresencaDoParticipante(string agendaId, string participanteId, DateTime data, string organizacao)
        {
            try
            {
                ListaDePresenca presenca = null;
                if (participanteId == string.Empty)
                {
                    throw new Exception("O parametro do participante não pode ser vazio ou nulo");
                }
                if (agendaId == string.Empty)
                {
                    throw new Exception("O parametro da agenda não pode ser vazio ou nulo");
                }

                var _organizacao = new Organizacao(organizacao);
                var treinamento  = new Treinamento(_organizacao);
                var contato      = new Contato(new Organizacao(organizacao))
                {
                    Id = new Guid(participanteId)
                };
                var agenda = new Agenda(new Organizacao(organizacao))
                {
                    Id = new Guid(agendaId)
                };
                Intelbras.Crm.Domain.Services.TreinamentoService.Organizacao = new Organizacao(organizacao);
                var participante = Intelbras.Crm.Domain.Services.TreinamentoService.ObterParticipantePor(agenda, contato);
                if (participante != null)
                {
                    var lista = new ListaDePresenca(_organizacao);
                    lista.Data         = data;
                    lista.Participante = participante;

                    presenca = treinamento.ObterListaDePresencaPor(lista);
                }

                return(presenca);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }