sábado, 8 de setembro de 2012

Introdução às consultas do LINQ

Uma query (consulta) é uma expressão que recupera dados de um fonte de dados. As consultas normalmente são expressas em uma linguagem especializada de consulta. Diferentes linguagens foram desenvolvidas ao longo do tempo para os diversos tipos de fontes de dados, como por exemplo SQL para bancos de dados relacionais e XQuery para XML. 

Portanto, os desenvolvedores tiveram que aprender uma nova linguagem de consulta para cada tipo de fonte de dados ou formato de dados que eles devem oferecer suporte. LINQ simplifica essa situação, oferecendo um modelo consistente para trabalhar com dados em vários tipos de fontes de dados e formatos. Em uma consulta LINQ, você está sempre trabalhando com objetos. Você usa a mesma codificação de padrões básicos para a query e transformar dados em documentos XML, bases de dados SQL, ADO.NET Datasets,coleções .NET, e qualquer outro formato para o qual um provedor LINQ esteja disponível.

Três Partes de uma consulta

Todas as operações de consulta LINQ consistem em três ações diferentes:
  1. Obter a origem de dados.
  2. Crie a consulta.
  3. executar a consulta.
O exemplo a seguir mostra como as três partes de uma operação de consulta são expressas em código-fonte. O exemplo usa uma matriz de inteiros como uma fonte de dados por conveniência; no entanto, os mesmos conceitos se aplicam a outras fontes de dados também.

class IntroToLINQ
{       
    static void Main()
    {
        // The Three Parts of a LINQ Query:
        //  1. Data source.
        int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 };

        // 2. Query creation.
        // numQuery is an IEnumerable<int>
        var numQuery =
            from num in numbers
            where (num % 2) == 0
            select num;

        // 3. Query execution.
        foreach (int num in numQuery)
        {
            Console.Write("{0,1} ", num);
        }
    }
}


Consulta

A consulta especifica quais informações recuperar a partir da (ou das) fonte de dados.Opcionalmente, uma consulta também especifica como as informações devem ser classificadas, agrupadas e moldadas antes que algo seja retornado.Uma consulta é armazenada em uma variável de consulta e inicializada com uma expressão de consulta. 

Para tornar mais fácil escrever consultas, translation from VPE for Csharp apresentou a nova sintaxe de consulta.

A consulta no exemplo anterior retorna todos os números pares da matriz de inteiros. A expressão de consulta contém três cláusulas: from, where e select. 

(Se você estiver familiarizado com SQL, você terá observado que a ordem das cláusulas é invertida da ordem em SQL.) 

A cláusula from especifica o fonte de dados, a cláusula where aplica o filtro, e a cláusula select especifica o tipo dos elementos retornados.Essas e outras cláusulas de consulta são discutidas em detalhes na seção http://msdn.microsoft.com/pt-br/library/bb397676.aspx. 

Por enquanto, o ponto importante é que no LINQ, a variável de consulta não pratica nenhuma ação e não retorna dados. Ela apenas armazena as informações que são necessárias para produzir os resultados quando a consulta for executada em algum momento posterior

Exemplos

 var evenNumQuery =
    from num in numbers
    where (num % 2) == 0
    select num;

int evenNumCount = evenNumQuery.Count();


List<int> numQuery2 =
    (from num in numbers
     where (num % 2) == 0
     select num).ToList();

// or like this:
// numQuery3 is still an int[]

var numQuery3 =
    (from num in numbers
     where (num % 2) == 0
     select num).ToArray();



 

Expressões de consulta LINQ

LINQ (consulta integrada à linguagem) é o nome de um conjunto de tecnologias baseadas na integração de recursos de consulta diretamente para o idioma translation from VPE for Csharp (também no Visual Basic e potencialmente qualquer Outros linguagem .NET). Com LINQ, uma consulta é agora uma linguagem de construção de primeira classe como classes, métodos, eventos e assim por diante.

Para um desenvolvedor que grava consultas, o máximo visível " Language-integrated" parte do LINQ é a expressão de consulta.Expressões de consulta são gravados em um declarativa consulta sintaxe introduzido no C# 3.0.Usando a sintaxe de consulta, você pode executar mesmo complexos filtragem, classificação e operações de agrupamento em Fonte de Dados com um mínimo de código.Você usa os mesmos padrões de expressão de consulta básica para consultar e transformar dados em bancos de dados SQL, ADO.NET DataSets, documentos XML e fluxos e coleções do .NET.

O exemplo a seguir mostra a operação de consulta completa. A operação completa inclui criar uma fonte de dados, definir a expressão de consulta e executar a consulta em uma instrução foreach.

class LINQQueryExpressions
{
    static void Main()
    {

        // Specify the data source.
        int[] scores = new int[] { 97, 92, 81, 60 };

        // Define the query expression.
        IEnumerable<int> scoreQuery =
            from score in scores
            where score > 80
            select score;

        // Execute the query.
        foreach (int i in scoreQuery)
        {
            Console.Write(i + " ");
        }           
    }
}
// Output: 97 92 81



Necessidade de Metodologia para o sucesso de um Software


Analisando os dados abaixo.
Segundo estatísticas da Scientific American [Filho, 2000] que demonstram que o tempo empenhado nos projetos de softwares excede em 50% o prazo planejado no cronograma, e da estatitica Standish Groups [Standish, 2004] onde revela que apenas 16% dos projetos de software atingem seu objetivo dentro do cronograma e do orçamento previstos.

Diante desses números podemos considerar que mesmo nos dias de hoje com tanto avanço tecnologico e método para desenvolver software ainda temos um grande desavio pela frente no que refere-se a desenvolvimento de software.

Agora você que está lendo esse artigo pode estar se questioanando, "nossa eu pensei que apenas meus projetos atrasavam ou estorava o custo!!! Mas como resolver isso???"

Podemos dizer que existem diversos processos, métodos e etc para auxiliar você nessa tarefa, porem hoje vou aprensentar um site onde podemos obter um guia prático de como proceder na tarefa de construir um software sendo que tudo está de graça e ainda com diversos templates para vocÊ que nem sabe por onde começar.

Esse site aborda a metodologia de desenvolvimento de software baseado no RUP. Você irá se deparar com diversas informações, segue a dica faça uma análise exploratória dos assuntos. Feito isso garimpe as informações que no seu projeto será util, assim vocÊ não precisa entender todos os processos ou templates logo no inicio.

Dentro do RUP vocÊ poderá trabalhar seu projeto dentro das disciplinas abaixo:

Requisitos, Arquitetura, Desenvolvimento, Testes, Gestão de Projeto, Gestão de Configuração e Implantação.

Acredito que de posse deste material você terá subsidios para iniciar uma gestão confiavel durante todo o ciclo de vida de seu projeto, lembrando que isso não será a sua receita do sucesso, porem já serve de base para você ter uma metodologia com forte aceitação no mercado se adequando a esse mundo que tenta se organizar no que refere-se a desenvolvimento de software.

Segue o link.


 


terça-feira, 4 de setembro de 2012

Exibindo Mensagem de Notificação com Jquery - MessageBox

Olá

Nesse artigo vamos aprender como apresentar mensagens de notificação em nossas paginas web, diferente da maneira convencional.

Quem não se lembra do famoso window.Altert('Hello World'). Pois é nesse caso aqui vamos fazer alguma coisa diferente.

Para esse artigo vamos utilizar o plugin jquery, que podemos obter no link abaixo:

https://github.com/akquinet/jquery-toastmessage-plugin

Abaixo segue exemplo das mensagens

Podemos observar como é diferente do padrão utilizado, o melhor é que temos como apresenta-las de maneira fixa ou temporaria.

Agora para que quebrar a cabeça se eu já fiz isso,segue o código fonte.

Para funcionar basta salvar o codigo como HTML e fazer o download do link acima no mesmo diretório, caso fiquem com alguma duvida de como fazer funcionar mandem e-mail.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>IF Consulters Solutions</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
   
    <script src="jquery.toastmessage.js" type="text/javascript"></script>
   
    <link href="jquery.toastmessage.css" rel="stylesheet" type="text/css" />
   
    <script type="text/javascript">

        function showSuccessToast() {
            $().toastmessage('showSuccessToast', "Dialogo Exibido com Sucesso...");
        }
        function showStickySuccessToast() {
            $().toastmessage('showToast', {
                text: 'Dialogo Exibido com Sucesso - Dialogo Fixo',
                sticky: true,
                position: 'top-right',
                type: 'success',
                closeText: '',
                close: function () {
                    console.log("toast is closed ...");
                }
            });

        }
        function showNoticeToast() {
            $().toastmessage('showNoticeToast', "Notice  Dialog ");
        }
        function showStickyNoticeToast() {
            $().toastmessage('showToast', {
                text: 'Notice Dialog Fixo',
                sticky: true,
                position: 'top-left',
                type: 'notice',
                closeText: '',
                close: function () { console.log("toast is closed ..."); }
            });
        }
        function showWarningToast() {
            $().toastmessage('showWarningToast', "Warning Dialog ");
        }
        function showStickyWarningToast() {
            $().toastmessage('showToast', {
                text: 'Warning Dialog Fixo',
                sticky: true,
                position: 'middle-right',
                type: 'warning',
                closeText: '',
                close: function () {
                    console.log("toast is closed ...");
                }
            });
        }
        function showErrorToast() {
            $().toastmessage('showErrorToast', "Error Dialog  ...");
        }
        function showStickyErrorToast() {
            $().toastmessage('showToast', {
                text: 'Error Dialog Fixo',
                sticky: true,
                position: 'center',
                type: 'error',
                closeText: '',
                close: function () {
                    console.log("toast is closed ...");
                }
            });
        }

</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>

   
    <p>
        <span class="description">Dialogo de Sucesso</span> <a href="javascript:showSuccessToast();"> Temporario </a>|<a href="javascript:showStickySuccessToast();"> Fixo </a>
        </p>

        <p>
            <span class="description">Dialogo de Informação</span> <a href="javascript:showNoticeToast();"> Temporario </a>|<a
                href="javascript:showStickyNoticeToast();"> Fixo </a>
        </p>

        <p>
            <span class="description">Dialogo de Atenção </span> <a href="javascript:showWarningToast();"> Temporario </a>|<a href="javascript:showStickyWarningToast();">Fixo</a>
        </p>

        <p>
            <span class="description">Dialogo de Erro </span> <a href="javascript:showErrorToast();"> Temporario </a>|<a
                href="javascript:showStickyErrorToast();"> Fixo </a>
        </p>
       
    </div>
    </form>
</body>
</html>

fonte original: http://www.ashishblog.com/blog/display-notification-messages-using-jquery/





sábado, 1 de setembro de 2012

Curso online SQL Server 2008 Gratis - 1 Aula

Olá,

Vamos iniciar uma série de vídeo aula mostrando como trabalhar com consultas no SQL Server 2008.

Nesse artigo segue a primeira aula dessa série que no final estaremos aptos para trabalhar com consultas SQL.


  • Usando T-SQL Select
  • Filtrando Dados
  • Trabalhando com valores Nulos
  • Formatando Resultados



quarta-feira, 29 de agosto de 2012

Comparando Vantanges de Web MVC e Web Forms

Você deve considerar cuidadosamente se a implementar um aplicativo da Web usando o ASP.NET MVC ou o Web ASP.NET modelo de formulários. O framework MVC não substitui o modelo de Web Forms, você pode usar um framework para aplicações web. (Se você já tiver Web aplicativos baseados em formulários, estes continuam a funcionar exatamente como sempre.)
Antes de você decidir usar o framework MVC ou o modelo de Web Forms para um site específico, devemos pesar as vantagens de cada abordagem.

Vantagens de uma aplicação Web MVC-Based

O ASP.NET MVC oferece as seguintes vantagens:
  • Ela torna mais fácil para gerenciar a complexidade, dividindo uma aplicação para o modelo, a vista, e do controlador.

  • Ele não usa o estado de exibição ou baseados em servidor formas. Isso torna o ideal framework MVC para desenvolvedores que querem o controle total sobre o comportamento de um aplicativo.

  • Ele usa um padrão Front Controller que processa as solicitações de aplicativos da Web através de um único controlador. Isso permite que você crie um aplicativo que suporte uma infra-estrutura de roteamento rico. Para mais informações, consulte Front Controller .

  • Ele oferece melhor suporte para desenvolvimento orientado a testes (TDD).

  • Ele funciona bem para aplicativos da Web que são suportados por grandes equipes de desenvolvedores e para Web designers que precisam de um alto grau de controle sobre o comportamento do aplicativo.

Vantagens de um aplicativo Web Web Forms-Based

O framework web baseado em formulários oferece as seguintes vantagens:
  • Ele suporta um modelo de evento que preserva estatal sobre HTTP, que beneficia de linha de negócios, desenvolvimento de aplicações web. O aplicativo Web baseado em formulários oferece dezenas de eventos que são suportados em centenas de controles de servidor.

  • Ele usa um padrão Controller Page que adiciona funcionalidade a páginas individuais. Para mais informações, consulte Controller Page .

  • Ele usa o estado de exibição em formulários baseados em servidor, o que pode tornar mais fácil gerir as informações de estado.

  • Ele funciona bem para pequenas equipes de desenvolvedores da Web e designers que querem aproveitar o grande número de componentes disponíveis para o desenvolvimento rápido de aplicações.

  • De um modo geral, ela é menos complexa para o desenvolvimento de aplicações, porque os componentes (a página de classe, os controlos, e assim por diante) são integrados e geralmente requerem menos código do que o modelo MVC.

Referencia: http://msdn.microsoft.com/en-us/library/dd381412(v=vs.108)