Developeando C#.Net
Sitio profesional de Samuel Andreé Arellano Díaz
Sitio profesional de Samuel Andreé Arellano Díaz
4 abr

Hola que tal, antes de profundizar en el tema de LINQ to Excel, considero necesario que veamos los términos respecto a LINQ. Languaje Integrated Query (LINQ) básicamente es un lenguaje de consultas nativas semejantes a SQL soportada por los lenguajes de la plataforma .NET.
LINQ nos proporciona los operadores de consulta estándar que nos va a permiri filtar, enumerar, etc. Su objetivo principal de LINQ es permitir que todo el código hecho en Visual Studio como pueden ser los datasets, XML u objetos de bases de datos que sean también orientados a objetos.
Para poder desarrollar nuestra aplicación de LINQ to Excel, primeramente debemos de descargar el SDK de la siguiente dirección: http://code.google.com/p/linqtoexcel/
Con el fin de ejemplificar el uso de LINQ to SQL, realizaremos un proyecto de consola dentro del entorno de desarrollo de Visual Studio (ya sea 2010 o 11 beta).
En este caso vamos a crear un documento de Microsoft Excel 2010 con la siguiente estructura.
Posteriormente será necesario crear una clase denominada Personas, la cual contendrá las propiedades (o bien el nombre de las columnas) de nuestro documento de Excel, tal como se mira en la siguiente codificación:
1: namespace ConsoleApplication1
2: {
3: public class Persona
4: {
5: public string Nombre { get; set; }
6: public string Apellidos { get; set; }
7: }
8: }
Es necesario copiar el documento de Excel y darle la propiedad que deseamos una copia a la hora de compilar nuestro proyecto.
Las referencias de las Dlls que vamos a requerir son las siguientes:
Posteriormente escribimos la siguiente sintaxis:
1: using System;
2: using System.Linq;
3:
4: namespace ConsoleApplication1
5: {
6: class Program
7: {
8: static void Main(string[] args)
9: {
10: //Nos permite obtener el directorio donde se encuentra nuestra aplicación, seguida del nombre del documento de Excel
11: var directorio = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "Ejemplo.xls");
12: //Utilizamos Linq to Excel y asignamos al QueryFactorio el directorio donde se encuentra nuestro documento de Excel
13: //para comenzar a utilizarlo.
14: var book = new LinqToExcel.ExcelQueryFactory(directorio);
15: //Realizamos un query para obtener todos los registros que se encuentran en la hoja de Excel
16: //Recuerde que la clase Persona contiene las propiedades (columnas) que se encuentran dentro del archivo de Excel
17: var qry = from x in book.Worksheet<Persona>()
18: select x;
19: foreach(Persona p in qry)
20: {
21: //Mandamos imprimir a consola el nombre y el apellido
22: Console.WriteLine(p.Nombre + " " + p.Apellidos);
23: }
24: Console.ReadKey();
25: }
26: }
27: }
Al ejecutar la aplicación verá lo siguiente:
Espero que haya quedado clara la explicación/
Cualquier duda o comentario es bien recibido.
Saludos.
Samuel Arellano
30 mar

Hola que tal, el objetivo de este post es dar a conocer el uso de los Snippets, así como incluirlos dentro del manejador o administrador de Snippets y posteriormente utilizarlos en nuestros proyectos de C#.
El uso de los Snippets toma su importancia debido a que son fragmentos de código reutilizables, ya que mediante ellos se encapsulan tareas que resultan ser reptitivas dentro del proceso de desarrollo de software. Si bien Visual Studio ya incluye sus propios Snippets con tareas definidas, también nos brinda la posibilidad a nosotros los desarrolladores de crear los propios.
cabe mencionar que en Visual Studio 2010 contamos con dos características principales para los Snippets:
• Expansión (el código se inserta en el cursor)
• SurroundsWith (se coloca dentro del código existente)
En el siguiente videotutorial, te explico como hacer un Snippet sencillito y como poderlo consumir en un proyecto de consola.
Saludos
Samuel Arellano
26 mar


El Domingo 25 de Marzo tuve la oportunidad de estar charlando con los amigos de las comunidades de estudiantes de Perú acerca del programa Dreamspark, de Visual Studio y el sin fin de recursos que pueden encontrar en los portales de Microsoft para poder aprender y adentrarse al maravilloso mundo del desarrollo de software.
Recuerden instalar el Visual Studio 2010 y el SP1 para poder practicar amigos.
Saludos
Samuel Arellano
25 mar

Como ustedes saben, Visual Studio 2010 es una excelente herramienta de trabajo para nosotros los desarrolladores y nos brinda diversas posibilidades para hacer nuestro trabajo de manera productiva. Una de las características que podemos tener en la versión 2010 es generar automáticamente el esqueleto de nuestras clases, es decir consumir primeramente una clase que no tenemos implementada.
Para aquéllos colegas que les toco utilizar la versión 2008 de Visual Studio recordará que también contabamos con algo similar dentro del IDE, la cual nos permitía escribir el nombre de los métodos que no existían y presionando el conjunto de teclas Ctrl + la selección del método, este nos generaba el esqueleto de nuestro método.
Veamos el siguiente video donde explico la característica de como consumir una clase y posteriormente generar el código de la misma.
19 mar

Visual Studio suele ser un IDE que nos proporciona muchísimas herramientas a nosotros los desarrolladores para crear aplicaciones de cualquier índole, desde Web, Windows, Consola, etc. Creo que a veces de tanta facilidad que nos brinda, olvidamos ciertas cuestiones como puede ser el manejo adecuado y correcto de los usings.
La primera pregunta que puede surgir es, ¿Qué es un using?. La palabra using la podemos referir a dos ámbitos:
En nuestro ejemplo estaremos manejando a using desde el primer punto.
Cuando nosotros desarrollamos aplicaciones en .NET con Visual Studio 2010, este nos brinda ciertos espacios de nombre que considera básicos para comenzar a crear nuestros proyectos, pero la pregunta es ¿Realmente requerimos todos esos espacios de nombres? Veamos un ejemplo sumamente básico, sí el famoso Hola Mundo en Consola.
Espero que de ahora en adelante mediante esta explicación logremos hacer un código más legible y sobre todo que sea utilizando los espacios necesarios para el funcionamiento adecuado de nuestros proyectos.
Saludos,
Samuel Arellano
16 mar
El día 15 de Marzo del presente año, tuve la oportunidad de dictar una charla acerca del desarrollo de aplicaciones para Facebook, utilizando el SDK para C# de esta red social (el registro del evento en Microsoft lo encuentras Aquí.
Espero sea de utilidad este Screencasts y cualquier duda que tengan respecto al tema, no dejen de postear su comentario.
Diapositivas
También dejo el video de la charla.
16 mar

En este episodio traté el tema de Generación de código en proyectos desarrollados en Visual Studio con C#, compartí mi experiencia utilizando algunas herramientas y como podemos ser más productivos a la hora de desarrollar proyectos de software.
Entrando en materia, podemos comentar que el tema de generación de código viene desde la existencia de los primeros compiladores que se encontraron disponibles en el mercado. Hoy en día, sin temor a equivocarme los generadores de código toman un papel sumamente importante dentro de la ingeniería de software, ya que se encuentran muchos de ellos, por ejemplo para generar pantallas, reportes, así como la parte de acceso a datos de nuestros proyectos. Aunque cabe destacar que la mayoría de estas herramientas son de pago, también existen herramientas gratuitas que nos pueden facilitar la generación de código como puede ser MyGeneration, NHibernate o el mismo Entity Framework que podemos tener disponible desde la versión Express de Visual Studio 2010.
Sin duda alguna la ventaja de un generador de código es poder agilizar el desarrollo de software, ahorrar tiempos , etc.
A continuación el podcast. Recuerda que tus comentarios son importantes, déjalos en el post
Recursos:
GenCode: del buen amigo Eloy Silva (Perú)
Saludos,
Samuel Arellano
13 mar

Con la llegada de SQL Server 2012, la mayoría de los desarrolladores que día a día tenemos que convivir con el motor de base de datos, así como aquellos DBA’s (Administradores de Bases de Datos), nos hacemos la pregunta de si una versión actual soportará características anteriores de versiones como 2005 o 2008.
Todo cambio tecnológico tiene su riesgo, y no obstante con las versiones de SQL Server. A continuación les comparto las características que ya no tendrán disponibles en la versión 2012.
En el caso de Reporting Services en SQL Server de 64 bits, cabe mencionar que desde la versión SQL Server 2008 R2, el componente ya no admitía servidores basados en Itanium, los cuales se ejecutaban anteriormente en Windows Server 2003 (si mal no recuerdo). Esto es sumamente importante ya que si queremos instalar o actualizar SQL Server en un equipo con dichas características tendremos que empezar por actualizar nuestro sistema operativo por un Windows 2008 Server R2 como mínimo.
SQL-DMO de SQL Server Express Installation
Se ha eliminado este soporte que se encontraba anteriormente en las versiones de SQL Server 2008 Express, (es aquí donde entran los expertos de SQL Server, a aclarar bien esta característica jeje)
También se han eliminado ciertas herramientas que anteriormente contabamos con SQL Server 2008 como son:
Si quieres conocer más acerca de las consideraciones a tomar en cuenta sobre la instalación o actualización de tu SQL Server, puedes encontrar más detalle en el artículo de Discontinued SQL Server Features in SQL Server 2012 del cual es basado los comentarios emitidos en este post.
Cualquier duda o comentario es bien recibido
Samuel Arellano
13 mar

Como definición de Windows Azure podemos decir que es la plataforma de cómputo en la nube que ofrece Microsoft. Si recordamos el post anterior de la serie de Windows Azure, podemos concluir que se trata de una nube pública de tipo plataforma como servicio (PaaS).
Podemos entender por servicio un sitio web o bien valga la redundancia, un servicio que realice el procesamiento de información. Un punto importante a considerar es que podemos acceder a los servicios o a los datos almacenados mediante una API HTTP dentro de los centros de datos de Microsoft o bien fuera de ellos. Por si fuera poco, otra de las ventajas que nos ofrece Windows Azure es que de manera transparente para el usuario nos crean 3 replicas de las aplicaciones y los datos, en caso de un conflicto (o catástrofe) se puedan recuperar de manera automática la información contenida en los centros de datos.

Los centros de datos de Microsoft proporcionan el hardware, redes y la infraestructura de hospedaje de aplicaciones y datos. Podemos decir que Microsoft cuenta con una diversidad de centros de datos los cuales contienen miles de servidores que ejecutan una versión de Hyper-V modificado para Windows Azure. Es importante explicar que Hyper-V nos proporcionará la virtualización para el servidor, siento esta una característica de ejecutar diversos Sistemas Operativos en el servidor. Como nota podemos decir que cada máquina virtual corren una versión de Windows 2008 modificada y adaptada para los servicios de cómputo en la nube.
Por otro lado podemos decir que Windows Azure proporciona kits de desarrollo para crear servicios y almacenamiento de datos que utilizan la nube. Windows Azure SDK y Tool for Visual Studio proporcionan las plantillas que se encontrarán disponibles en Visual Studio para el desarrollo sencillo de cómputo en la nube. El SDK incluye APIS para acceder a los datos y los servicios disponibles en la nube W.A. También se incluye un emulador para poder realizar pruebas de manera local.
Recurso: Descarga el SDK de Windows Azure para .NET
Cabe mencionar que también podemos contar con el portal de WIndows Azure el cual nos permitira realizar la publicación de nuestras aplicaciones de cómputo en la nube de Windows Azure. A su vez Windows Azure también proporciona las herramientas para los desarrolladores Open Source (PHP y Java), con los SDK’s para cada una de las diversas plataformas.
Por último podemos concluir que Windows Azure es una plataforma pensada para que aprovechemos nuestros conocimientos en desarrollo de software con tecnologías como .NET, PHP o Java, y partiendo e esos conocimientos montar nuestras aplicaciones en la nube de Microsoft. Como un toque final se puede enumerar una de las ventajas respecto a la competencia es el SLA (contrato), el cual únicamente nos dará de cargo lo que se consuma en nuestra aplicación.
Espero que esta información sea de utilidad.
Saludos
Samuel Arellano
8 mar
Qué tal amig@s,

Windows 8 Customer Preview ha llegado y con el un sin fin de nuevas características que pueden ser una ventaja competitiva tanto para los consumidores, así como para nosotros los Desarrolladores de Software. Un punto importante de este nuevo sistema operativo, es el cambio de paradigma respecto al escritorio tradicional, al cual estabamos sumamente acostumbrados a visualizar. Ahora debemos de entender y comprender el funcionamiento del estilo metro y de como podemos aprovechar las bondades de Windows 8 para ofrecer a los usuarios o consumidores de nuestros desarrollo, la mejor experiencia de usuario posible.
A continuación les dejo un listado de recursos, los cuales servirán de parte aguas para que puedan adentrarse al maravilloso mundo del desarrollo sobre Windows 8.

Recursos Iniciales:
* Windows 8 Customer Preview (ISO)
* SDK y Herramientas de Desarrollo
* Aprenda a crear aplicaciones estilo Metro
Recursos en Inglés para ponerse * Differentiating Metro style apps * Tools for Metro style app development * End-to-end examples and white papers * Developing basic Metro style apps * 
super pro a un nivel medio:
* Tools for Metro style app development
Espero que estos recursos les sirvan para crear su curiosidad y empiecen a desarrollar aplicaciones para Windows 8
Saludos,
Samuel Arellano