public List <ListItem> ObterSalasDoCliente(int?id)
        {
            if (id == null)
            {
                return(null);
            }
            int codigoCliente = Convert.ToInt32(id);

            var cliente = db.ClienteModels.Where(t => t.Codigo == codigoCliente).FirstOrDefault();

            string email = cliente.Smtp;
            string senha = cliente.Senha;

            Configuration.svcExchange.FusionExchangeServiceClient client = new Configuration.svcExchange.FusionExchangeServiceClient();

            #region Obter Disponibilidade
            var disponibilidade = client.obterDisponibilidadeTimeZoneFull(email, senha, "E. South America Standard Time");
            #endregion

            if (disponibilidade.Count() > 0)
            {
                var retorno = (from d in disponibilidade
                               select new ListItem
                {
                    Text = d.Smtp,
                    Value = d.Smtp,
                    Selected = false,
                    Enabled = true
                }).ToList();

                return(retorno);
            }

            return(null);
        }
Esempio n. 2
0
        public ActionResult GetExchangeRooms(int?id)
        {
            var usuario = db.ClienteModels.FirstOrDefault(u => u.Smtp == User.Identity.Name);

            if ((id == null) || (id != usuario.Codigo))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            int codigoCliente = Convert.ToInt32(id);

            var cliente = db.ClienteModels.Where(t => t.Codigo == codigoCliente).FirstOrDefault();

            string email = cliente.Smtp;
            string senha = cliente.Senha;

            Configuration.svcExchange.FusionExchangeServiceClient client = new Configuration.svcExchange.FusionExchangeServiceClient();

            #region Obter Disponibilidade

            if (cliente != null && !string.IsNullOrEmpty(cliente.Smtp))
            {
                var disponibilidade = client.obterDisponibilidadeTimeZoneFull(email, senha, "E. South America Standard Time");

                if (disponibilidade.Count() > 0)
                {
                    string listagem = "<table class='table' width='90%'>";

                    listagem += "<tr>";
                    listagem += "<td>SMTP</td>";
                    listagem += "<td>STATUS</td>";
                    listagem += "</tr>";

                    foreach (var sala in disponibilidade)

                    {
                        listagem += "<tr>";
                        listagem += "<td>" + sala.Smtp + "</td>";
                        listagem += "<td>" + sala.Status.StatusDisponibilidade.ToString() + "</td>";
                        listagem += "</tr>";
                    }
                    listagem += "</table>";

                    ViewBag.O365 = listagem;
                }
                else
                {
                    string listagem  = string.Empty;
                    var    roomLists = new SalaDeReuniaoBS().getRoomLists();
                    if (roomLists != null && roomLists.Count() > 0)
                    {
                        foreach (var room in roomLists)
                        {
                            var rooms = new SalaDeReuniaoBS().getRooms(room.ToString());
                            listagem  = "<table class='table' width='90%'>";
                            listagem += "<tr>";
                            listagem += "<td>SMTP</td>";
                            listagem += "</tr>";
                            foreach (var item in rooms)
                            {
                                listagem += "<tr>";
                                listagem += "<td>" + item.ToString() + "</td>";
                                listagem += "</tr>";
                            }
                            listagem += "</table>";
                        }
                    }
                    else
                    {
                        listagem  = "<table class='table' width='90%'>";
                        listagem += "<tr>";
                        listagem += "<td>Não foram encontradas salas de reunião disponíveis.</td>";
                        listagem += "</tr>";
                        listagem += "</table>";
                    }
                    ViewBag.O365 = listagem;
                }
            }
            else
            {
                string listagem = "<table class='table' width='90%'>";
                listagem    += "<tr>";
                listagem    += "<td>Não existem dispositivos vinculados à(s) sala(s) de reunião.</td>";
                listagem    += "</tr>";
                listagem    += "</table>";
                ViewBag.O365 = listagem;
            }
            #endregion

            return(View());
        }