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);
        }
        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);
        }
 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");
 }
        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");
        }
        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.º 6
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.º 7
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.º 8
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");
 }