Renato Haddad

MVP, Developer .NET and MS-Office, MCPD, MCTS
HTML 5 chegou de vez

Vc já está preparado para o HTML 5? Saiba que isto se tornou padrão em diversos tipos de aplicações como WEB, celulares (para quem usa o browser dos devices), Win 8 (pelo menos a MS promete algo para). Bom, do ponto de vista de desenvolvedor WEB mudam diversas coisas em relação as tags de marcações HTML. Muitas não existem mais no 5 e quando tiveres oportunidade de ler sobre as novas tags ficará feliz em saber que tudo ficou bem mais fácil.

Claro que teremos que aprender CSS 3 para dar uma aparência descente para o site. Fora que aprender JavaScript (ué voltou???) tornou-se regra, ou seja é preciso aprender JS para diversas apps também. Vamos aguardar a MS lançar o VS 2012 (sem data ainda) para nos divertirmos com tudo isto.

Abraços

Posted: Feb 10 2012, 11:36 AM by renatohaddad | with no comments
Filed under:
Entity Framework 4.3 lançado

Olá pessoal, finalmente a MS lançou o EF 4.3 com algumas novidades http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-released.aspx . O que mais gostei foi do migrations que permite criar um banco e alterá-lo depois diretamente pelo code first. Quem quiser um guia veja http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-code-first-walkthrough.aspx e migrations em http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

Outro tópico interessante é que agora podemos criar um arquivo de configuração para todas as conexões para banco de dados, veja detalhes em http://blogs.msdn.com/b/adonet/archive/2012/01/12/ef-4-3-configuration-file-settings.aspx.

 Boa sorte e sucesso!

Posted: Feb 10 2012, 10:11 AM by renatohaddad | with no comments
Filed under:
Promoção de treinamentos de Windows Phone 7.5 do Renato Haddad
Olá pessoal,

Resolvi fazer uma promoção relâmpago dos 4 treinamentos de Windows Phone 7.5 para você aprender a desenvolver para esta plataforma e criar novos negócios em 2012. Vocês tem visto que o Windows Phone já chegou ao Brasil e tornou-se uma realidade no nosso mercado, portanto, aproveite e aprenda a criar aplicativos para o WP. Esta promoção tem duração até o dia 02/jan/2012 somente, portanto, aproveite e prepare-se para o mercado.

Windows Phone 7 - Treinamento Básico
De R$ 239,00 Por R$ 149,00

Windows Phone 7 - Treinamento Intermediário
De R$ 239,00 Por R$ 149,00

Windows Phone 7 - Treinamento Avançado
De R$ 239,00 Por R$ 149,00

Windows Phone 7 - Local Database
De R$ 299,00 Por R$ 199,00

A todos os clientes e desenvolvedores, desejo um excelente 2012 com muita alegria, paz, saúde, projetos e códigos. Que Deus continue nos dando força, inteligência e capacidade para ajudar as pessoas.

Renato Haddad
15 videos Gratuitos de dicas e truques do ASP.NET GridView
Olá desenvolvedores,
Aproveitando o final de semana que está chegando, gostaria de comunicá-los que a Microsoft publicou uma Série de 15 vídeos meus com dicas e truques sobre o controle GridView do ASP.NET web forms no channel9.msdn.com. Você pode usá-los em qualquer versão do ASP.NET e o objetivo é explorar este controle.

Série ASP.NET - GridView Básico - 6m29s
http://channel9.msdn.com/posts/Srie-ASPNET-GridView-Bsico

Série ASP.NET - Formatação de dados - 10m25s
http://channel9.msdn.com/posts/Srie-ASPNET-Formatao-de-dados

Série ASP.NET - Somatório no rodapé - 9m18s
http://channel9.msdn.com/posts/Srie-ASPNET-Somatrio-no-rodap

Série ASP.NET - Carrinho de compras - 20m31s
http://channel9.msdn.com/posts/Srie-ASPNET-Carrinho-de-compras

Série ASP.NET - Paginação no GridView via programação - 8m15s
http://channel9.msdn.com/posts/Srie-ASPNET-Paginao-no-GridView-via-programao

Série ASP.NET - GridView com imagem e função - 12m58s
http://channel9.msdn.com/posts/Srie-ASPNET-GridView-com-imagem-e-funo

Série ASP.NET - Customizando o template - 5m43s
http://channel9.msdn.com/posts/Srie-ASPNET-Customizando-o-template

Série ASP.NET - Modelo (Template) de GridView - 6m19s
http://channel9.msdn.com/posts/Srie-ASPNET-Modelo-Template-de-GridView

Série ASP.NET - GridView com Checkbox - 17m44s
http://channel9.msdn.com/posts/Srie-ASPNET-GridView-com-Checkbox

Série ASP.NET - Classificação de colunas - 9m50s
http://channel9.msdn.com/posts/Srie-ASPNET-Classificao-de-colunas

Série ASP.NET - Grids vinculados tipo Master/Detail - 12m40s
http://channel9.msdn.com/posts/Srie-ASPNET-Grids-vinculados-tipo-MasterDetail

Série ASP.NET - Ocultar dados no GridView - 17m30s
http://channel9.msdn.com/posts/Srie-ASPNET-Ocultar-dados-no-GridView

Série ASP.NET - Montar um GridView via programação - 7m33s
http://channel9.msdn.com/posts/Srie-ASPNET-Montar-um-GridView-via-programao

Série ASP.NET - Hyperlink e Botão no GridView - 14m40s
http://channel9.msdn.com/posts/Srie-ASPNET-Hyperlink-e-Boto-no-GridView

Série ASP.NET - Formatação de cores - 9m19s
http://channel9.msdn.com/posts/Srie-ASPNET-Formatao-de-cores

Caso queira aprimorar seus estudos não se esqueça dos treinamentos em vídeo em http://www.renatohaddad.com/loja.

Bons estudos no final de semana!.

Renato Haddad
Posted: Dec 09 2011, 03:43 PM by renatohaddad | with no comments
Filed under:
Provider Beta 3 da Oracle para o Entity Framework 4

Para quem usa o Oracle e deseja acessar o banco pelo EF 4 no VS 2010, o link para download é http://www.oracle.com/technetwork/topics/dotnet/downloads/oracleefbeta-302521.html . Sinceramente não entendo o pq a Oracle demora tanto tempo para lançar uma versão final :(

boa sorte!

Posted: Dec 02 2011, 07:47 AM by renatohaddad | with 1 comment(s)
Filed under:
Sintaxe do DataTemplate no ListBox com XAML

Olá pessoal, muitos devs me pedem uma forma de customizar a sintaxe para exibir dados nos controles ListBox, ComboBox no silverlight e windows phone. Na verdade, vc tem que customizar o XAML, então aqui está um exemplo do XAML:

<ListBox Name="lstDados" Width="200" Height="250">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal">
                            <Image Source="{Binding ImageName, Converter={StaticResource localImageConverter}}" Margin="2"/>
                            <StackPanel Orientation="Vertical">
                                <TextBlock Text="{Binding Title}" FontSize="20"/>
                                <TextBlock Text="{Binding Author}"/>
                                <TextBlock Text="{Binding Language}"/>
                            </StackPanel>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>

 

O Converter é uma classe que captura o local das imagens que está na app asp.net (host), sendo:

public class ImageConverter:IValueConverter
{
    private string baseUri = "http://localhost:5155/images/";

    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        if (value != null)
        {
            Uri imageUri = new Uri(baseUri + value);
            return new BitmapImage(imageUri);
        }
        else
            return "";
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    #endregion

 Boa sorte e se divirta com o layout que só a imaginação é o limite :)

 

Posted: Nov 28 2011, 12:16 PM by renatohaddad | with no comments
Filed under:
Dicas de Lambda Tree

Responda a seguinte pergunta: dada uma expressão texto, retornar a quantidade de caracteres da mesma. Como vc faria isto?

Provavelmente criaria um método que retorne um int, por exemplo:

static int letras(string exp)
{
    return exp.Length;
}

E em seguida, em qquer parte do código vc invoca o método e passa a expressão:

Console.WriteLine(letras("Visual C#"));

 

Agora, e se vc experimentar aprender o uso de Func na expressão Lambda? veja como ficaria o mesmo código:

Func<string, int> letras = (l) => l.Length;
Console.WriteLine(letras("Visual C#"));

Inicialmente é mais complicado de entender, mas saiba que o método letras não existe, será criado em tempo de execução, onde na declaração da Func<> a entrada é uma string e o retorno é um int. Se vc verificar o caracter => (lambda) significa exatamente a fórmula a ser aplicada. Cara, isto é muito mais elegante de escrever e vc jã se prepara para melhorar e muito o seu código. Sucesso e mais dicas veja em http://www.renatohaddad.com/loja/detalhesproduto.aspx?cod=9243a2d7-fe59-4b97-a4c9-1179fea7a436

[]s Renatão

Posted: Nov 25 2011, 07:13 AM by renatohaddad | with 3 comment(s)
Filed under:
Tipos Anônimos no C#

Olha só que louca esta declaração:
var produto = new
{
    ID = 12,
    nome = "bike",
    preco = 6500
};
Console.WriteLine("ID: {0} {1} - preço: {2:n2}", produto.ID, produto.nome, produto.preco );

O mais legal de tudo é que a classe produto não existe, ela é justamente declarada em tempo de execução. O melhor de tudo é que vc tem acesso as propriedades da mesma. Isto é o chamado tipo anônimo, que é usado em tudo em expressões lambda e linq.

[]s

Posted: Nov 25 2011, 07:09 AM by renatohaddad | with no comments
Filed under:
Tipos núlos int? decimal?

Olá pessoal, vc sabe pra que serve o ? na declaração dos tipos? Significa tipos núlos, ou seja, quando da declaração de uma variável com um tipo int, decimal, double ou DateTime, se vc usar o ? logo após o tipo, vc pode testar se há valor ou não. Com isto, se não houver valor inicializado, vc pode usar o GetValueOrDefault ou testar com o HasValue.

int? idade = null;
DateTime? hoje;
double? salario;
decimal? desconto;
           
if (idade.HasValue == true)
{
    Console.WriteLine("idade = " + idade.Value);
}
else
{
    Console.WriteLine("idade = null");
}

int idade2 = idade.GetValueOrDefault();

Boa sorte e não se esqueça de dominar bem o C# 4 para tirar proveito de tudo.

[]s

 

Posted: Nov 25 2011, 07:02 AM by renatohaddad | with 1 comment(s)
Filed under:
Dicas do C# 4 consumindo uma DLL da Daruma com o mestre Claudenir

Olá pessoal, recentemente tive o prazer de compartilhar o conhecimento com o time de desenvolvedores da Daruma e o Claudenir me convidou para gravar este vídeo mostrando como usar alguns recursos de parâmetros opcionais e expressões Lammmmmmbda no C# 4.

O código contou com a presença do Felipe, da equipe da Daruma, o qual me mostrou quais métodos poderiamos consumir. Como não conheço nada da DLLs deles, o Felipe indicou quais poderíamos consumir retornando dados, então montamos uma coleção com Genérics e aplicamos lambda para extrair infos.

Confira o vídeo em http://www.youtube.com/darumadeveloper#p/u/0/Ps2ddDYhkPU

Abração.

Posted: Nov 14 2011, 05:37 PM by renatohaddad | with no comments
Filed under:
More Posts Next page »