Пример #1
0
        async void OnDeleteActivated(object sender, EventArgs e)
        {
            var docItem = (Comunidade)BindingContext;
            await ComunidadeService.GetInstance().DeleteComunidade(docItem);

            await Navigation.PopAsync();
        }
Пример #2
0
        protected override async void OnAppearing()
        {
            base.OnAppearing();
            var docItem = (Usuario)BindingContext;

            if (docItem.TemPessoasComProbMobilidade)
            {
                temPessoasComProbMobilidadeHabilitado.IsChecked   = true;
                temPessoasComProbMobilidadeDesabilitado.IsChecked = false;
            }
            else
            {
                temPessoasComProbMobilidadeHabilitado.IsChecked   = false;
                temPessoasComProbMobilidadeDesabilitado.IsChecked = true;
            }

            if (!UserManager.GetLogUser().PerfilUsuario.Equals("Adm Geral"))
            {
                ListComunidade = await ComunidadeService.GetInstance().GetComunidadeList(Constants.IdComunidadeQuery, UserManager.GetLogUser().IdComunidadeUsu);
            }
            else
            {
                ListComunidade = await ComunidadeService.GetInstance().GetComunidadeList(null, null);
            }

            foreach (Comunidade condo in ListComunidade)
            {
                comunidadeUsuario.Items.Add(condo.NomeComunidade);
            }

            comunidadeUsuario.SelectedIndex = comunidadeUsuario.Items.IndexOf(docItem.ComunidadeUsuario);
        }
Пример #3
0
        private async void ListingCondos()
        {
            Condos = await ComunidadeService.GetInstance().GetComunidadeList(null, null);

            CondoList = new ObservableCollection <string>();
            foreach (Comunidade condo in Condos)
            {
                CondoList.Add(condo.NomeComunidade);
            }
        }
        public ActionResult Topicos(string slugtopico)
        {
            var objTopico = ComunidadeService.GetComunidadeTopicoBySlug(slugtopico);

            var lstPerguntas = new List <Perguntas>();

            foreach (var pergunta in ComunidadeService.GetAllPerguntasByTopicoAndStatus(objTopico.Id, StatusComunidade.Publicada.Id, 0))
            {
                Perguntas obj = new Perguntas
                {
                    Id          = pergunta.Id,
                    Pergunta    = pergunta.Pergunta,
                    Descricao   = pergunta.Descricao,
                    Slug        = pergunta.Slug,
                    Usuario     = pergunta.Usuario.Nome,
                    Data        = pergunta.Data,
                    QtdResposta = ComunidadeService.CountRepostaByPergunta(pergunta.Id)
                };

                lstPerguntas.Add(obj);
            }

            var model = new ComunidadeTopicoViewModel
            {
                /* base model defaults */
                Title       = $"{objTopico.Titulo} - Comunidades Virtuais Negócios da Terra",
                Description = $"{objTopico.Descricao}",
                Robots      = "index, follow",
                Canonical   = $"{Constants.UrlWeb}/comunidades-virtuais/{slugtopico}",

                /* model comunidade topico perguntas */
                SlugTopico = slugtopico,
                Nome       = objTopico.Titulo,
                Descricao  = objTopico.Descricao,
                ComunidadeEspecialistas = ComunidadeService.GetEspecialistasByTopico(objTopico.Id).ToList(),
                ComunidadeVideos        = ComunidadeService.GetVideosByTopico(objTopico.Id).ToList(),
                ComunidadePerguntas     = lstPerguntas
            };

            //Set viewbag's
            ViewBag.ActiveNav     = "Negócios da Terra";
            ViewBag.Editorial     = Service.Models.Editorial.Load(EditorialEnum.NegociosDaTerra.GetHashCode());
            ViewBag.ExibirLogo    = true;
            ViewBag.LinkActiveNav = "/negocios-da-terra";

            return(View(model));
        }
Пример #5
0
        public ComunidadeServiceUnitTests()
        {
            var comunidades = new List <Comunidade>
            {
                new Comunidade("Comunidade 1", "Bairro 1"),
                new Comunidade("Comunidade 2", "Bairro 2")
            };

            var comunidadeRepository = Substitute.For <IComunidadeRepository>();

            comunidadeRepository.List().Returns(comunidades);

            comunidadeRepository.FindById(comunidades[0].Id).Returns(comunidades[0]);


            _comunidadeService = new ComunidadeService(comunidadeRepository);
        }
        public ActionResult Pergunta(string slugtopico)
        {
            if (CurrentUser.Data == null)
            {
                return(RedirectToAction("Topicos"));
            }

            var objTopico = ComunidadeService.GetComunidadeTopicoBySlug(slugtopico);

            var model = new ComunidadeTopicoPerguntaViewModel
            {
                /* base model defaults */
                Title       = "Enviar pergunta sobre " + objTopico.Titulo + " - Comunidades Virtuais Negócios da Terra",
                Description = "Enviar pergunta sobre " + objTopico.Titulo + " - Comunidades Virtuais Negócios da Terra",
                Robots      = "index, follow",
                Canonical   = $"{Constants.UrlWeb}/comunidades-virtuais/{slugtopico}/pergunta",

                TopicoId        = objTopico.Id,
                TopicoTitulo    = objTopico.Titulo,
                TopicoDescricao = objTopico.Descricao,
                TopicoSlug      = slugtopico,
                CriadoPergunta  = false
            };

            if (Session["Aviso1"] != null)
            {
                model.CriadoPergunta = true;
                model.Aviso1         = Session["Aviso1"].ToString();
                Session["Aviso1"]    = null;
            }

            if (Session["Aviso2"] != null)
            {
                model.Aviso2      = Session["Aviso2"].ToString();
                Session["Aviso2"] = null;
            }

            //Set viewbag's
            ViewBag.ActiveNav     = "Negócios da Terra";
            ViewBag.Editorial     = Service.Models.Editorial.Load(EditorialEnum.NegociosDaTerra.GetHashCode());
            ViewBag.ExibirLogo    = true;
            ViewBag.LinkActiveNav = "/negocios-da-terra";

            return(View(model));
        }
Пример #7
0
        public ActionResult Interacoes()
        {
            var usuario = Usuario.Load(CurrentUser.Data.SubjectId);
            //var usuario = Usuario.Load("5ad361b3a5dd4855ec5c0336");

            var model = new ContaInteracoesViewModel
            {
                /* base model defaults */
                Title       = "Interações - Massa News",
                Description = "Interações - Massa News",
                Robots      = "noindex, nofollow",
                Canonical   = $"{Constants.UrlWeb}/minha-conta/interacoes",

                Usuario     = CurrentUser.Data,
                Perguntas   = ComunidadeService.GetAllPerguntasByUsuarioId(usuario.Id).ToList(),
                Respostas   = ComunidadeService.GetAllRespostasByUsuarioId(usuario.Id).ToList(),
                Comentarios = ComunidadeService.GetAllComentariosByUsuarioId(usuario.Id).ToList()
            };

            ViewBag.ActiveNav = "Minha conta";

            return(View(model));
        }
        public JsonResult Curtir(string tipo, int id, bool curtida)
        {
            var usuario = Usuario.Load(CurrentUser.Data.SubjectId);

            int sucesso         = 0;
            int countCurtida    = 0;
            int countNaoCurtida = 0;

            if (tipo == "r")
            {
                var obj = ComunidadeRespostaCurtida.CurtidaByUsuario(id, usuario.Id);

                if (obj == null)
                {
                    var objCurtida = new ComunidadeRespostaCurtida()
                    {
                        ComunidadeRespostaId = id,
                        Data      = DateTime.Now,
                        Curtida   = curtida,
                        UsuarioId = usuario.Id
                    };

                    objCurtida.Save();

                    sucesso = 1;
                }
                else
                {
                    if (obj.Curtida != curtida)
                    {
                        obj.Curtida = curtida;
                        obj.Data    = DateTime.Now;

                        obj.Save();

                        sucesso = 1;
                    }
                    else
                    {
                        obj.Delete();

                        sucesso = 0;
                    }
                }

                countCurtida    = ComunidadeService.CountCurtidaResposta(id, true);
                countNaoCurtida = ComunidadeService.CountCurtidaResposta(id, false);
            }
            else if (tipo == "c")
            {
                var obj = ComunidadeComentarioCurtida.CurtidaByUsuario(id, usuario.Id);

                if (obj == null)
                {
                    var objCurtida = new ComunidadeComentarioCurtida()
                    {
                        ComunidadeComentarioId = id,
                        Data      = DateTime.Now,
                        Curtida   = curtida,
                        UsuarioId = usuario.Id
                    };

                    objCurtida.Save();

                    sucesso = 1;
                }
                else
                {
                    if (obj.Curtida != curtida)
                    {
                        obj.Curtida = curtida;
                        obj.Data    = DateTime.Now;

                        obj.Save();

                        sucesso = 1;
                    }
                    else
                    {
                        obj.Delete();

                        sucesso = 0;
                    }
                }

                countCurtida    = ComunidadeService.CountCurtidaComentario(id, true);
                countNaoCurtida = ComunidadeService.CountCurtidaComentario(id, false);
            }

            return(Json(new {
                Sucesso = sucesso,
                Tipo = tipo,
                Id = id,
                Curtida = curtida,
                CountCurtida = countCurtida,
                CountNaoCurtida = countNaoCurtida,
            }));
        }
        public ActionResult TopicosRespostas(string slugtopico, string slugpergunta)
        {
            Usuario usuario = new Usuario();

            if (CurrentUser.Data != null)
            {
                usuario = Usuario.Load(CurrentUser.Data.SubjectId);
            }

            var objTopico   = ComunidadeService.GetComunidadeTopicoBySlug(slugtopico);
            var objPergunta = ComunidadeService.GetComunidadePerguntaBySlug(slugpergunta);

            var lstResposta = new List <Respostas>();

            foreach (var resposta in ComunidadeService.GetAllRespostasByPerguntaAndStatus(objPergunta.Id, StatusComunidade.Publicada.Id, 0))
            {
                Respostas objResposta = new Respostas
                {
                    Id              = resposta.Id,
                    Resposta        = resposta.Resposta,
                    Usuario         = resposta.Usuario.Nome,
                    IsEspecialista  = resposta.Usuario.IsEspecialista,
                    Data            = resposta.Data,
                    UserCurtida     = usuario.Id > 0 ? ComunidadeService.RespostaUserCurtida(usuario.Id, resposta.Id, true) : false,
                    CountCurtida    = ComunidadeService.CountCurtidaResposta(resposta.Id, true),
                    UserNaoCurtida  = usuario.Id > 0 ? ComunidadeService.RespostaUserCurtida(usuario.Id, resposta.Id, false) : false,
                    CountNaoCurtida = ComunidadeService.CountCurtidaResposta(resposta.Id, false)
                };

                var lstComentario = new List <Comentarios>();

                foreach (var comentario in ComunidadeService.GetAllComentariosByRespostaAndStatus(resposta.Id, StatusComunidade.Publicada.Id, 0))
                {
                    Comentarios objComentario = new Comentarios
                    {
                        Id              = comentario.Id,
                        Comentario      = comentario.Comentario,
                        Usuario         = comentario.Usuario.Nome,
                        IsEspecialista  = comentario.Usuario.IsEspecialista,
                        Data            = comentario.Data,
                        UserCurtida     = usuario.Id > 0 ? ComunidadeService.ComentarioUserCurtida(usuario.Id, comentario.Id, true) : false,
                        CountCurtida    = ComunidadeService.CountCurtidaComentario(comentario.Id, true),
                        UserNaoCurtida  = usuario.Id > 0 ? ComunidadeService.ComentarioUserCurtida(usuario.Id, comentario.Id, false) : false,
                        CountNaoCurtida = ComunidadeService.CountCurtidaComentario(comentario.Id, false),
                    };

                    lstComentario.Add(objComentario);
                }

                objResposta.Comentarios = lstComentario;

                lstResposta.Add(objResposta);
            }

            var model = new ComunidadeTopicoRespostaViewModel
            {
                /* base model defaults */
                Title       = $"{objTopico.Titulo} - Comunidades Virtuais Negócios da Terra",
                Description = "",
                Robots      = "index, follow",
                Canonical   = $"{Constants.UrlWeb}/comunidades-virtuais/{slugtopico}/{slugpergunta}",

                Pergunta = new Perguntas
                {
                    Id          = objPergunta.Id,
                    Topico      = objTopico.Titulo,
                    Pergunta    = objPergunta.Pergunta,
                    Descricao   = objPergunta.Descricao,
                    Data        = objPergunta.Data,
                    Usuario     = objPergunta.Usuario.Nome,
                    Slug        = slugtopico,
                    QtdResposta = ComunidadeService.CountRepostaByPergunta(objPergunta.Id)
                },
                ComunidadeRespostas     = lstResposta,
                ComunidadeEspecialistas = ComunidadeService.GetEspecialistasByTopico(objTopico.Id).ToList(),
                ComunidadeVideos        = ComunidadeService.GetVideosByTopico(objTopico.Id).ToList()
            };

            //Set viewbag's
            ViewBag.ActiveNav     = "Negócios da Terra";
            ViewBag.Editorial     = Service.Models.Editorial.Load(EditorialEnum.NegociosDaTerra.GetHashCode());
            ViewBag.ExibirLogo    = true;
            ViewBag.LinkActiveNav = "/negocios-da-terra";

            return(View(model));
        }
Пример #10
0
        public static void Load()
        {
            var session = Session;
            var user    = User;

            var florindaUrl = ConfigurationManager.AppSettings["FlorindaUrl"];

            var subjectId = user.Claims.First(a => a.Type == "http://grupomassa.com.br/2018/subjectId").Value;

            var disco = DiscoveryClient.GetAsync(florindaUrl).Result;

            var tokenClient   = new TokenClient(disco.TokenEndpoint, "massanews.portal", "pLDbDf0wGgaac5D2EK5X5QejC9x4x4xx");
            var tokenResponse = tokenClient.RequestClientCredentialsAsync("api.florinda").Result;

            if (tokenResponse.IsError)
            {
                Console.WriteLine(tokenResponse.Error);
                return;
            }

            var client = new HttpClient();

            client.SetBearerToken(tokenResponse.AccessToken);

            var florindaApiUrl = ConfigurationManager.AppSettings["FlorindaApiUrl"];

            var response = client.GetAsync(florindaApiUrl + "/identity/" + subjectId).Result;

            if (!response.IsSuccessStatusCode)
            {
                Console.WriteLine(response.StatusCode);
                return;
            }

            var content = response.Content.ReadAsStringAsync().Result;

            var usuarioPortal = JsonConvert.DeserializeObject <UsuarioPortal>(content);

            var usuario = Usuario.Load(subjectId);

            if (usuario == null)
            {
                usuario = new Usuario();
            }

            if (usuario.Id < 1)
            {
                usuario.SubjectId = subjectId;
            }

            usuario.Nome           = usuarioPortal.Nome;
            usuario.Email          = usuarioPortal.Email;
            usuario.IsEspecialista = ComunidadeService.IsEspecialista(usuarioPortal.Email);
            usuario.Status         = true;

            usuario.Save();

            var objNewsletter = Service.Models.Newsletter.GetByEmail(usuarioPortal.Email);

            if (objNewsletter == null)
            {
                var obj = new Service.Models.Newsletter
                {
                    Nome     = usuarioPortal.Nome,
                    Email    = usuarioPortal.Email,
                    Ativo    = true,
                    CidadeId = usuarioPortal.CityId == 0 ? 12 : usuarioPortal.CityId
                };

                obj.Save();
            }
            else
            {
                if (usuarioPortal.NoticiasPersonalizadas != objNewsletter.Ativo)
                {
                    objNewsletter.Ativo = usuarioPortal.NoticiasPersonalizadas;

                    objNewsletter.Save();
                }
            }

            if (string.IsNullOrEmpty(usuarioPortal.PrimeiroNome))
            {
                if (usuarioPortal.Nome.Contains(" "))
                {
                    usuarioPortal.PrimeiroNome = usuario.Nome.Split(' ')[0];
                }
                else
                {
                    usuarioPortal.PrimeiroNome = usuario.Nome;
                }
            }

            session["CurrentUser"] = usuarioPortal;
        }
 //Utilizado para carregar a lista de cadastros de condomínios, antes da tela abrir para o usuário.
 protected override async void OnAppearing()
 {
     base.OnAppearing();
     condoListView.ItemsSource = await ComunidadeService.GetInstance().GetComunidadeList(null, null);
 }
Пример #12
0
        async void OnSaveActivated(object sender, EventArgs e)
        {
            try
            {
                DateTime now     = DateTime.Now;
                var      docItem = (Comunidade)BindingContext;

                docItem.DataAlteracaoComunidade = now;

                List <string> changeLog = null;
                if (isNewDoc)
                {
                    docItem.CodigoComunidade      = GenerateCodes.GeraCodigoComunidade(docItem.UFComunidade, docItem.NomeComunidade);
                    docItem.DataCriacaoComunidade = now;

                    StringBuilder sbLog = new StringBuilder();
                    sbLog.Append("- O usuário ");
                    sbLog.Append(UserManager.GetLogUser().NomeUsuario);
                    sbLog.Append(" criou o documento em ");
                    sbLog.Append(now.ToString());

                    changeLog = new List <string>();
                    changeLog.Add(sbLog.ToString());

                    docItem.LogAlteracaoComunidade = JsonConvert.SerializeObject(changeLog);

                    if (await ComunidadeService.GetInstance().AddComunidade(docItem))
                    {
                        await DisplayAlert("Cadastro de Comunidade", "Comunidade cadastrada com sucesso!", "OK");

                        await Navigation.PopAsync();
                    }
                    else
                    {
                        await DisplayAlert("Atenção!", "Esta comunidade já está cadastrada!", "OK");
                    }
                }
                else
                {
                    StringBuilder sbLog = new StringBuilder();
                    sbLog.Append("- O usuário ");
                    sbLog.Append(UserManager.GetLogUser().NomeUsuario);
                    sbLog.Append(" alterou o documento em ");
                    sbLog.Append(now.ToString());

                    changeLog = JsonConvert.DeserializeObject <List <string> >(docItem.LogAlteracaoComunidade);
                    changeLog.Add(sbLog.ToString());

                    docItem.LogAlteracaoComunidade = JsonConvert.SerializeObject(changeLog);

                    if (await ComunidadeService.GetInstance().UpdateComunidade(docItem))
                    {
                        await DisplayAlert("Cadastro de Comunidade", "Comunidade salva com sucesso!", "OK");
                    }
                    else
                    {
                        await DisplayAlert("Atenção!", "Falha ao tentar salvar a comunidade !", "OK");
                    }
                }
            }
            catch (Exception ex)
            {
                StringBuilder sbLog = new StringBuilder();
                sbLog.Append("Erro ao salvar a comunidade no banco de dados!");
                sbLog.Append(Environment.NewLine);
                sbLog.Append("Erro: ");
                sbLog.Append(ex.ToString());
            }
        }
Пример #13
0
        //public void getTemperature(int locationId)
        //{
        //  var objCidade = LocalSrv.GetCidadeByIdCached(locationId);

        //  var obj = WeatherSrv.GetWeather(objCidade.Id);

        //  ViewBag.City = obj == null ? string.Empty : obj.City ?? string.Empty;
        //  ViewBag.Description = obj == null ? string.Empty : obj.Description ?? string.Empty;
        //  ViewBag.Icon = obj == null ? string.Empty : obj.Icon ?? string.Empty;
        //  ViewBag.Temperature = obj == null ? string.Empty : obj.Temperature == 0 ? string.Empty : obj.Temperature.ToString();
        //}

        public ActionResult CustomActionEditorial(Editorial objEditorial, int page, string[] listCategoriaId)
        {
            if (objEditorial == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            //Verificação da página
            if (page <= 0)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            //int totalRegistros;

            var lstNoticiasHighlights = page == 1 ? GetNoticiasByEditorialHighlight(objEditorial.Id) : null;

            //var lstNoticias = GetNoticiasByEditorial(objEditorial.Id, page, out totalRegistros, lstNoticiasHighlights?.Select(s => s.Id).ToList());

            List <NoticiaByCategoria> lstNoticiasByCategoria = new List <NoticiaByCategoria>();

            foreach (var item in listCategoriaId)
            {
                var categoria         = GetCategoriaById(Convert.ToInt32(item));
                var lstNoticiasComImg = GetNoticiasByEditorialComImg(objEditorial.Id, page, lstNoticiasHighlights?.Select(s => s.Id).ToList(), Convert.ToInt32(item));
                var lstNoticiasAux    = GetNoticiasByEditorial(objEditorial.Id, page, lstNoticiasHighlights?.Select(s => s.Id).ToList(), Convert.ToInt32(item));

                var noticiaporcategoria = new NoticiaByCategoria();
                noticiaporcategoria.UrlEditorial = objEditorial.Url;
                noticiaporcategoria.Categoria    = categoria;
                //noticiaporcategoria.NoticiasHighlights = lstNoticiasAux.Where(n => n.ImgLg != null).Take(2).ToList();
                noticiaporcategoria.NoticiasHighlights = lstNoticiasComImg;
                noticiaporcategoria.Noticias           = lstNoticiasAux.Where(n => !noticiaporcategoria.NoticiasHighlights.Any(n2 => n2.Id == n.Id)).Take(3).ToList();

                lstNoticiasByCategoria.Add(noticiaporcategoria);
            }

            var model = new CategoriaModel
            {
                //Base
                Title        = $"{objEditorial.Titulo} - Massa News",
                Description  = $"Leia tudo sobre {objEditorial.Titulo} no Massa News.",
                Robots       = "index, follow",
                Canonical    = $"{Constants.UrlWeb}/{objEditorial.Url}",
                ImgOpenGraph = $"{Constants.UrlWeb}/content/images/avatar/editorial/avatar-{objEditorial.Url}.jpg",
                //Model
                Editorial          = objEditorial,
                NoticiasHighlights = lstNoticiasHighlights?.Select(Service.Models.Noticia.Map).ToList(),
                //Noticias = lstNoticias,
                NoticiaByCategoria = lstNoticiasByCategoria,
                //Pots = lstPostsNegociosDaTerra
            };

            if (objEditorial.Id == 6)
            {
                model.Pots = GetLastPostNegociosDaTerra();
                model.ComunidadeTopicos = ComunidadeService.GetAllTopico().ToList();
            }

            ViewBag.ActiveNav   = objEditorial.Titulo;
            ViewBag.PaginaAtual = page;
            //ViewBag.TotalRegistros = totalRegistros;

            //var totalPaginas = Math.Ceiling(((double)totalRegistros / Constants.TakeNoticias));

            //if (totalPaginas > 1)
            //    ViewBag.Paginacao = Pagination.AddPagination(ViewBag.PaginaAtual, Convert.ToInt32(totalPaginas), 5, true);

            //Recupera as 4 ultimas notícias que são exibidas na sidebar
            ViewBag.Lastest4News = Service.Models.Noticia.GetLastestNews(4).ToList();

            //Recuper as 5 ultimas notícias mais acessadas
            ViewBag.Popular5News = Service.Models.Noticia.GetMoreAccessedNews(objEditorial.Id);

            ViewBag.Editorial = Service.Models.Editorial.Map(objEditorial);

            ViewBag.ExibirLogo = true;

            if (objEditorial.Id == 4)
            {
                ViewBag.Categorias = NoticiaSrv.GetCategoriasByEditorial(objEditorial.Id);
            }

            ViewBag.TbActiveClassifA = true;
            ViewBag.TbActiveClassifB = false;

            return(View("Editorial", model));
        }