/// <summary> /// Obtem todas as salas de reunião e suas disponibilidades /// /*ATENCAO*/ CODIGO IMPORTANTE DA REGRA DE NEGOCIO. CUIDADO. /// </summary> /// <returns></returns> public List <ResultadoDisponibilidadeSalaReuniao> obterDisponibilidadeSalaReuniao(string zoneId = "") { List <ResultadoDisponibilidadeSalaReuniao> retorno = new List <ResultadoDisponibilidadeSalaReuniao>(); try { // obtem a lista de salas de reuniao List <AttendeeInfo> listaParticipantes = getSalasDeReuniao(this.service); foreach (var salaDeReuniao in listaParticipantes) { ResultadoDisponibilidadeSalaReuniao resultado = new ResultadoDisponibilidadeSalaReuniao(); resultado.Nome = salaDeReuniao.SmtpAddress; resultado.Smtp = salaDeReuniao.SmtpAddress; resultado.Tipo = salaDeReuniao.AttendeeType; if (zoneId == null || zoneId == "") { resultado.Status = obterDisponibilidadeExchange(salaDeReuniao.SmtpAddress); } else { resultado.Status = obterDisponibilidadeExchange(salaDeReuniao.SmtpAddress, zoneId); } resultado.Mensagem = resultado.Status.Mensagem; retorno.Add(resultado); } } catch { return(retorno); } return(retorno); }
public List <ResultadoDisponibilidadeSalaReuniao> obterDisponibilidadeSalaReuniao(GetRoomTipo roomTipo = GetRoomTipo.ConfiguracaoPorExchange) { // FindMailboxes lê através de busca pelo AD //var k = FindMailboxes(7); //var q = FindMailboxes(8); List <ResultadoDisponibilidadeSalaReuniao> retorno = new List <ResultadoDisponibilidadeSalaReuniao>(); List <AttendeeInfo> listaParticipantes = null; try { switch (roomTipo) { case GetRoomTipo.ConfiguracaoPorExchange: // obtem a lista de salas de reuniao listaParticipantes = getSalasDeReuniao(this.service); break; case GetRoomTipo.ConfiguracaoPorArquivo: // obtem a lista de salas de reuniao pelo web.config listaParticipantes = getSalasDeReuniaoPorWebConfig(); break; } foreach (var sala in listaParticipantes) { ResultadoDisponibilidadeSalaReuniao resultado = new ResultadoDisponibilidadeSalaReuniao(); resultado.Nome = sala.SmtpAddress; resultado.Smtp = sala.SmtpAddress; resultado.Tipo = MeetingAttendeeType.Room; resultado.Status = obterDisponibilidadeExchange(sala.SmtpAddress); resultado.Mensagem = resultado.Status.Mensagem; retorno.Add(resultado); } } catch { return(retorno); } return(retorno); }