Exemplo n.º 1
0
        public ActionResult CadastrarUsuario(UsuarioViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var conexaoBanco = new ConexaoBanco();
                var usuario = new Usuario();
                usuario.Nome = viewModel.Nome;
                usuario.Login = viewModel.Login.ToUpper();
                usuario.Senha = viewModel.Senha;

                conexaoBanco.Usuarios.Add(usuario);
                try
                {
                    var jaExiste = (from p in conexaoBanco.Usuarios
                                    where p.Login.ToUpper() == usuario.Login
                                    select p).Any();
                    if (jaExiste)
                    {
                        throw new Exception(string.Format("Já existe usuário cadastrado com o login {0}.", usuario.Login));
                    }

                    conexaoBanco.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch (Exception exp)
                {
                    ModelState.AddModelError("", Erros.Tratar(exp));
                }
            }
            return View(viewModel);
        }
Exemplo n.º 2
0
        public ActionResult Post(DetalhesPostViewModel viewModel)
        {
            var conexaoBanco = new ConexaoBanco();
            if (ModelState.IsValid)
            {
                var comentario = new Comentario();
                comentario.AdmPost = HttpContext.User.Identity.IsAuthenticated;
                comentario.Descricao = viewModel.ComentarioDescricao;
                comentario.DataHora = DateTime.Now;
                comentario.Email = viewModel.ComentarioEmail;
                comentario.IdPost = viewModel.Id;
                comentario.Nome = viewModel.ComentarioNome;
                comentario.PaginaWeb = viewModel.ComentarioPaginaWeb;
                conexaoBanco.Comentarios.Add(comentario);

                try
                {
                    conexaoBanco.SaveChanges();
                    return Redirect(Url.Action("Post", new
                    {
                        ano = viewModel.DataPublicacao.Year,
                        mes = viewModel.DataPublicacao.Month,
                        dia = viewModel.DataPublicacao.Day,
                        titulo = viewModel.Titulo,
                        id = viewModel.Id
                    })+"#comentarios");
                }
                catch (Exception exp)
                {
                    ModelState.AddModelError("", exp.Message);
                }
            }
            preparaDetalhesPostViewModel(viewModel.Id, viewModel.PaginaAtual, viewModel, conexaoBanco);
            return View(viewModel);
        }
Exemplo n.º 3
0
        public ActionResult Post(int id, int? pagina)
        {
            var conexaoBanco = new ConexaoBanco();
            var viewModel = new DetalhesPostViewModel();
            viewModel = preparaDetalhesPostViewModel(id, pagina, viewModel, conexaoBanco);

            return View(viewModel);
        }
        public ActionResult CadastrarPost(PostViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var conexaoBanco = new ConexaoBanco();
                var post = new Post();
                post.DataPublicacao = new DateTime(viewModel.DataPublicacao.Year, viewModel.DataPublicacao.Month, viewModel.DataPublicacao.Day, viewModel.HoraPublicacao.Hour, viewModel.HoraPublicacao.Minute, 0);
                post.Autor = viewModel.Autor;
                post.Descricao = viewModel.Descricao;
                post.Resumo = viewModel.Resumo;
                post.Titulo = viewModel.Titulo;
                post.Visivel = viewModel.Visivel;
                post.PostTag = new List<PostTag>();
                if (viewModel.Tags != null)
                {
                    foreach (var item in viewModel.Tags)
                    {
                        var tag = conexaoBanco.Tags.FirstOrDefault(x => x.Tag.ToLower() == item.ToLower());
                        if (tag == null)
                        {
                            tag = new TagClass
                            {
                                Tag = item
                            };
                            conexaoBanco.Tags.Add(tag);
                        }
                        post.PostTag.Add(new PostTag
                        {
                            Tag = item,
                            TagClass = tag
                        });
                    }
                }

                conexaoBanco.Post.Add(post);

                try
                {
                    conexaoBanco.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch (Exception exp)
                {
                    ModelState.AddModelError("", Erros.Tratar(exp));
                }
            }
            return View(viewModel);
        }
Exemplo n.º 5
0
        public ActionResult Index(string tag, string pesquisa, int? pagina)
        {
            var conexao = new ConexaoBanco();
            var posts = from p in conexao.Post
                        select p;

            if (!string.IsNullOrWhiteSpace(tag))
            {
                posts = from p in posts
                        where p.PostTag.Any(x => x.Tag.ToLower() == tag.ToLower())
                        select p;
            }
            if (!string.IsNullOrWhiteSpace(pesquisa))
            {
                posts = from p in posts
                        where p.Titulo.ToLower().Contains(pesquisa.ToLower())
                        select p;
            }
            pagina = pagina.GetValueOrDefault(1);
            var indicePagina = pagina.Value - 1;
            var itensPorPagina = 10;

            posts = posts.OrderByDescending(x => x.DataPublicacao);

            var viewModel = new ListarPostsViewModel();
            viewModel.Tag = tag;
            viewModel.PaginaAtual = pagina.Value;
            viewModel.Pesquisa = pesquisa;
            viewModel.Posts = (from p in posts.Skip(indicePagina * itensPorPagina).Take(itensPorPagina)
                               select new DetalhesPostViewModel
                               {
                                   Id = p.Id,
                                   Autor = p.Autor,
                                   DataPublicacao = p.DataPublicacao,
                                   Titulo = p.Titulo,
                                   Resumo = p.Resumo,
                                   Visivel = p.Visivel,
                                   QtdeComentarios = p.Comentarios.Count()
                               }).ToList();
            viewModel.Tags = (from p in conexao.Tags
                              where conexao.PostTags.Any(x => x.Tag == p.Tag)
                              select p).ToList();
            viewModel.TotalPaginas = (int)Math.Ceiling((double)posts.Count() / itensPorPagina);

            return View(viewModel);
        }
Exemplo n.º 6
0
        public ActionResult EditarUsuario(int id)
        {
            var conexaoBanco = new ConexaoBanco();
            var usuario = conexaoBanco.Usuarios.FirstOrDefault(x => x.Id == id);
            if (usuario == null)
            {
                throw new Exception(string.Format("Usuário com código {0} não encontrado.", id));
            }
            var viewModel = new UsuarioViewModel
            {
                Id = usuario.Id,
                Login = usuario.Login,
                Nome = usuario.Nome,
                Senha = usuario.Senha
            };

            return View(viewModel);
        }
        public ActionResult EditarPost(int id)
        {
            var conexaoBanco = new ConexaoBanco();
            var post = conexaoBanco.Post.FirstOrDefault(x => x.Id == id);
            if (post == null)
            {
                throw new Exception(string.Format("Post com código {0} não encontrado.", id));
            }
            var viewModel = new PostViewModel
            {
                DataPublicacao = post.DataPublicacao,
                HoraPublicacao = post.DataPublicacao,
                Titulo = post.Titulo,
                Visivel = post.Visivel,
                Resumo = post.Resumo,
                Autor = post.Autor,
                Descricao = post.Descricao,
                Id = post.Id,
                Tags = post.PostTag.Select(x => x.Tag).ToList()
            };

            return View(viewModel);
        }
Exemplo n.º 8
0
 public ActionResult Index(LoginViewModel viewModel, string returnUrl)
 {
     if (!ModelState.IsValid)
     {
         return View(viewModel);
     }
     var conexaoBanco = new ConexaoBanco();
     var usuario = (from p in conexaoBanco.Usuarios
                   where p.Login.ToUpper() == viewModel.Login.ToUpper()
                      && p.Senha == viewModel.Senha
                  select p).FirstOrDefault();
     if (usuario == null)
     {
         ModelState.AddModelError("", "Usuário e/ou senha estão incorretos.");
         return View(viewModel);
     }
     FormsAuthentication.SetAuthCookie(usuario.Login, viewModel.Lembrar);
     if (returnUrl != null)
     {
         return Redirect(returnUrl);
     }
     return RedirectToAction("Index", "Blog");
 }
Exemplo n.º 9
0
        public ActionResult EditarUsuario(UsuarioViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var conexaoBanco = new ConexaoBanco();
                var usuario = conexaoBanco.Usuarios.FirstOrDefault(x => x.Id == viewModel.Id);
                if (usuario == null)
                {
                    throw new Exception(string.Format("Usuário com código {0} não encontrado.", viewModel.Id));
                }
                usuario.Login = viewModel.Login;
                usuario.Nome = viewModel.Nome;
                if (!string.IsNullOrWhiteSpace(viewModel.Senha))
                {
                    usuario.Senha = viewModel.Senha;
                }
                try
                {
                    var jaExiste = (from p in conexaoBanco.Usuarios
                                    where p.Login.ToUpper() == usuario.Login
                                       && p.Id != usuario.Id
                                    select p).Any();
                    if (jaExiste)
                    {
                        throw new Exception(string.Format("Já existe usuário cadastrado com o login {0}.", usuario.Login));
                    }

                    conexaoBanco.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch (Exception exp)
                {
                    ModelState.AddModelError("", exp.Message);
                }
            }
            return View(viewModel);
        }
Exemplo n.º 10
0
 public ActionResult ExcluirPost(int id)
 {
     var conexaoBanco = new ConexaoBanco();
     var post = (from p in conexaoBanco.Post
                 where p.Id == id
                 select p).FirstOrDefault();
     if (post == null)
     {
         throw new Exception(string.Format("Post código {0} não foi encontrado.", id));
     }
     conexaoBanco.Post.Remove(post);
     conexaoBanco.SaveChanges();
     return RedirectToAction("Index", "Blog");
 }
Exemplo n.º 11
0
        public ActionResult ExcluirComentario(int id)
        {
            var conexaoBanco = new ConexaoBanco();
            var comentario = (from p in conexaoBanco.Comentarios
                             where p.Id == id
                           select p).FirstOrDefault();
            if (comentario == null)
            {
                throw new Exception(string.Format("Comentário código {0} não foi encontrado.", id));
            }
            conexaoBanco.Comentarios.Remove(comentario);
            conexaoBanco.SaveChanges();

            var post = (from p in conexaoBanco.Post
                        where p.Id == comentario.IdPost
                        select p).First();
            return Redirect(Url.Action("Post", "Blog", new
            {
                ano = post.DataPublicacao.Year,
                mes = post.DataPublicacao.Month,
                dia = post.DataPublicacao.Day,
                titulo = post.Titulo,
                id = post.Id
            }) + "#comentarios");
        }
Exemplo n.º 12
0
        public ActionResult EditarPost(PostViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var conexaoBanco = new ConexaoBanco();
                var post = conexaoBanco.Post.FirstOrDefault(x => x.Id == viewModel.Id);
                if (post == null)
                {
                    throw new Exception(string.Format("Post com código {0} não encontrado.", viewModel.Id));
                }
                post.DataPublicacao = new DateTime(viewModel.DataPublicacao.Year, viewModel.DataPublicacao.Month, viewModel.DataPublicacao.Day, viewModel.HoraPublicacao.Hour, viewModel.HoraPublicacao.Minute, 0);
                post.Autor = viewModel.Autor;
                post.Descricao = viewModel.Descricao;
                post.Resumo = viewModel.Resumo;
                post.Titulo = viewModel.Titulo;
                post.Visivel = viewModel.Visivel;
                var postsTagsAtuais = post.PostTag.ToList();
                foreach (var item in postsTagsAtuais)
                {
                    conexaoBanco.PostTags.Remove(item);
                }
                if (viewModel.Tags != null)
                {
                    foreach (var item in viewModel.Tags)
                    {
                        var tag = conexaoBanco.Tags.FirstOrDefault(x => x.Tag.ToLower() == item.ToLower());
                        if (tag == null)
                        {
                            tag = new TagClass
                            {
                                Tag = item
                            };
                            conexaoBanco.Tags.Add(tag);
                        }
                        post.PostTag.Add(new PostTag
                        {
                            Tag = item,
                            TagClass = tag
                        });
                    }
                }

                try
                {
                    conexaoBanco.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch (Exception exp)
                {
                    ModelState.AddModelError("", exp.Message);
                }
            }
            return View(viewModel);
        }
Exemplo n.º 13
0
        private static DetalhesPostViewModel preparaDetalhesPostViewModel(int id, int? pagina, DetalhesPostViewModel viewModel, ConexaoBanco conexaoBanco)
        {
            var post = (from p in conexaoBanco.Post
                where p.Id == id
                select p).FirstOrDefault();
            if (post == null)
            {
                throw new Exception(string.Format("Post código {0} não encontrado.", id));
            }
            viewModel.Id = post.Id;
            viewModel.Autor = post.Autor;
            viewModel.DataPublicacao = post.DataPublicacao;
            viewModel.Titulo = post.Titulo;
            viewModel.Resumo = post.Resumo;
            viewModel.Visivel = post.Visivel;
            viewModel.QtdeComentarios = post.Comentarios.Count;
            viewModel.Descricao = post.Descricao;
            viewModel.Tags = post.PostTag.Select(x => x.TagClass).ToList();
            var paginaCorreta = pagina.GetValueOrDefault(1);
            var indicePagina = paginaCorreta - 1;
            var itensPorPagina = 10;

            var comentarios = from p in conexaoBanco.Comentarios
                where p.IdPost == id
                orderby p.DataHora descending
                select p;

            viewModel.PaginaAtual = paginaCorreta;
            viewModel.Comentarios = (from p in comentarios.Skip(indicePagina*itensPorPagina).Take(itensPorPagina)
                                   select p).ToList();
            viewModel.TotalPaginas = (int) Math.Ceiling((double) comentarios.Count()/itensPorPagina);
            return viewModel;
        }
Exemplo n.º 14
0
        public ActionResult Index()
        {
            var conexaoBanco = new ConexaoBanco();
            var usuarios = (from p in conexaoBanco.Usuarios
                            orderby p.Nome
                            select p).ToList();

            return View(usuarios);
        }
Exemplo n.º 15
0
 public ActionResult ExcluirUsuario(int id)
 {
     var conexaoBanco = new ConexaoBanco();
     var usuario = (from p in conexaoBanco.Usuarios
                    where p.Id == id
                    select p).FirstOrDefault();
     if (usuario == null)
     {
         throw new Exception(string.Format("Usuário código {0} não foi encontrado.", id));
     }
     conexaoBanco.Usuarios.Remove(usuario);
     conexaoBanco.SaveChanges();
     return RedirectToAction("Index");
 }