Example #1
0
        public void Url_QuandoTodasAsInformacoesEstaoPreenchidas_MontaAUrlCorretamente()
        {
            var post = new Post();
            post.Data = new DateTime(2015, 01, 01);
            post.Titulo = "Um titulo de teste";

            string urlEsperada = "2015/01/01/Um-titulo-de-teste/";

            Assert.AreEqual(urlEsperada, post.Url);
        }
Example #2
0
        public void Url_QuandoOTituloContemAcento_MontaAUrlSemAcento()
        {
            var post = new Post();
            post.Data = new DateTime(2015, 01, 01);
            post.Titulo = "í á ê";

            string urlEsperada = "2015/01/01/i-a-e/";

            Assert.AreEqual(urlEsperada, post.Url);
        }
Example #3
0
        public void Atualizar(Post post)
        {
            using (var conexao = new SqlConnection(StringsDeConexao.SqlServer))
            {
                conexao.Execute(@"UPDATE Post SET Titulo = @Titulo, Conteudo = @Conteudo, Data = @Data, CaminhoDaImagemDaCapa = @CaminhoDaImagemDaCapa WHERE Url = @Url", new { post.Titulo, post.Conteudo, post.Data, post.Url, post.CaminhoDaImagemDaCapa });

                foreach (var tag in post.Tags)
                {
                    bool ehUmaNovaTag = conexao.Query<string>("SELECT Tag as Nome from TagsDoPost WHERE CodigoDoPost = @Codigo and Tag = @Tag", new { post.Codigo, tag }).FirstOrDefault() == null;
                    if (ehUmaNovaTag)
                    {
                        conexao.Execute(@"INSERT INTO [TagsDoPost] (CodigoDoPost, Tag) values(@CodigoDoPost, @Tag)", new { @CodigoDoPost = post.Codigo, Tag = tag });
                    }
                }
            }
        }
Example #4
0
        public void Salvar(Post post)
        {
            using (var conexao = new SqlConnection(StringsDeConexao.SqlServer))
            {
                int codigo = conexao.Query<int>(@"INSERT INTO [Post] (Titulo, Conteudo, Data, Url, CaminhoDaImagemDaCapa) values (@Titulo, @Conteudo, @Data, @Url, @CaminhoDaImagemDaCapa);
                                                  SELECT CAST(SCOPE_IDENTITY() as int)", new { post.Titulo, post.Conteudo, post.Data, post.Url, post.CaminhoDaImagemDaCapa }).Single();

                foreach (var tag in post.Tags)
                {
                    conexao.Execute("INSERT INTO [TagsDoPost] (CodigoDoPost, Tag) values(@CodigoDoPost, @Tag)", new { @CodigoDoPost = codigo, @Tag = tag });
                }
            }
        }