viernes, 9 de enero de 2009

Como utilizar Distinct en una consulta LINQ en C#

Hola a todos, les dejo un ejemplo de como realizar una consulta utilizando LINQ en C# para obtener solo los registros diferentes utilizando Linq.Distinct().


var xxx = (from sucursal in listaSucursales
select new { sucursal.CodigoDeposito, sucursal.CodigoSucursal,
sucursal.DenominacionSucursal })
.Distinct()
.OrderBy(n => n.DenominacionSucursal);

Posterior a eso podemos asignar el resultado de la consulta a un control, por ejemplo un combo.

comboBox1.DataSource = xxx.ToList();
comboBox1.DisplayMember = "DenominacionSucursal";
comboBox1.ValueMember = "CodigoSucursal";


Espero que les sea útil.

Luis Ferrario

jueves, 8 de enero de 2009

Dundas Map - Importar un archivo Shapefile

Cuando queremos importar un archivo con formato .shp (shapefile) para generar un mapa en Dundas, estos son los pasos que debemos seguir.
En primer lugar se debe arrastrar el control de Dundas Map al formulario y posteriormente presionar click derecho sobre el control y seleccionar "Import Shapefile".

En ese momento comienza un asistente en el cual en el primer paso lo que hay que hacer es buscar la ubicación del archivo .shp que estamos tratando de importar.

El siguiente paso es seleccionar si los nuevos elementos se asignan a la capa existente o si se generan en una nueva capa.



Posterior a esto, lo que se debe hacer es elegir cual de las columnas va a generar el nombre del elemento para llamarlo desde las colecciones, ya sea de shapes, paths o symbols.


Como último paso lo que se debe hacer es seleccionar todas las columnas que quieran importarse y listo.


Espero que les haya servido el ejemplo.

Luis Ferrario

martes, 6 de enero de 2009

Invocar a un WS de SAP desde .NET

Hace unos días me toco invocar un WS de SAP desde una aplicación hecha en .NET.
Al principio pensé que si era un WS, la forma de invocarlo sería igual a cualquier WS, pero me encontre con que no respondía y me generaba excepciones al invocar al método del servicio.
Investigando un poco encontré en que hay que hacer algunas modificaciones a la forma estandar en que visual studio los genera de manera estandar.
Vamos a ver un paso a paso de como se debería configurar.
En primer lugar se agrega una referencia a un servicio desde el Solution Explorer.

Ingresamos la URL del servicio de SAP y le damos OK.

Con eso ya tenemos la referencia del servicio creada de manera correcta. Cuando vamos a abrir el app.config y revisamos la configuracion del binding fijense que dentro del tag por defecto el valor del atributo mode="none" y realm=""


Lo que tenemos que hacer es remplazar todo el tag Security por el que figura en la imágen de abajo, y poniendo en el atributo realm el nombre del server de SAP.



De esa manera cuando instanciamos el cliente que crea, funciona correctamente y se puede acceder a los métodos que expone el servicio.



Espero que les sirva el ejemplo.

Luis Ferrario