El blog de Javier Torrecilla

[Tip] Extendiendo TypeConverter para tratar con nulos

Introducción En este mini post voy a definir un método extensor al tipo TypeConverter para el tratamiento de valores nulos provenientes de la BD. Al Lio Como todos sabeis ( y sino muy mal...) un nulo proveniente de la Base de Datos va a ser DbNull.Value (no es el mismo null que en c#), bien para evitar problemas con el uso de TypeConverter, vamos a definir la siguiente extensión: public static class TypeConverterExtensions { public static object ConvertToWithNullableValues(this...

[MVC] Editando Colleciones con un Template

Introduccion El otro día el Gran Eduard (@Eiximenis) me resolvió una duda que tenia acerca del modelBinder y el potente enlace de datos que presenta ASP.NET MVC. Ha raíz de este post y del comentario de “ar7uro”, en el que planteaba la posibilidad de evitar las llamadas al servidor para ir agregando elementos a la colección. Como resolverlo Podríamos definir una variable javascript donde escribiéramos todo el código o hacerlo a través de la obtención del Html de la vista. Yo me he decantado por esta...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,,

[TIP] Renderizando una Vista Parcial dentro de un WebForm

Introducción Actualmente estoy en un proyecto donde están conviviendo formularios Web (tradicionales WebForms) y vistas de MVC (de ahí mi primera entrada de ayer). Bien, mi problema ha venido al tener distintas MasterPages (como es comprensible) para los WebForms y para las Vistas, por eso de que implementan una página base distinta. Bueno en definitiva el problema era para usar el mismo menú sin tener que rescribir el código de la vista parcial. Solución Dentro de la vista de mi WebForm, he definido...

[Tip Rápido] Convivencia de WebForms dentro de MVC.

  Introducción En este pequeño post, vamos a ver un pequeño consejo rápido para ver como dentro de un mismo proyecto ASP.NET pueden coincidir páginas WebForms tradicionales con las Vistas de MVC. Al Jaleo Bien, el “truco” consiste en definir una ruta a ignorar dentro de nuestra tabla de rutas (en el fichero Global.asax) dentro de la función “RegisterRoutes”: routes.IgnoreRoute( "Carpeta" ); De está manera todas los formularios Web existentes dentro de dicha “Carpeta”, no van a intentar...
Publicado por Javier Torrecilla | 1 comment(s)
Archivado en: ,,,

[Básico]Enumerados con tipo distinto de Int

Introducción: En este post vamos a ver como utilizar otros tipos de datos numéricos dentro de una enumeración. Si bien, no es un problema que nos vayamos a encontrar a menudo, pero que podamos realizarlo si lo necesitamos. Al lio: A la hora de definir nuestro enumerado tendremos que indicar uno de los siguientes valores: - Byte - SByte - Short - UShort - Long - ULong - UInt Ejemplo: 1: public enum MyLongEnum : long 2: { 3: Value = 1569874585236L 4: } Para que posteriormente podamos utilizar dicho...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,

WinRT: Establecer un estilo Condicional (2) #Metro #Win8

Introducción Ayer publique una entrada en la que hablaba de aplicar un estilo condicional a un control en xaml. Después de revisar si se puede utilizar StyleSelector o DataTemplateSelector , ambos son válidos a aplicar para un control como el ListBox, pero no por ejemplo para un TextBox o un TextBlock. Código V2: Dandole una pequeña vuelta de tuerca, y a pesar que me sigue pareciendo un “Bad Code Smell”, me he creado un nuevo converter: 1: public class...
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,,,,,

WinRT: Establecer un estilo Condicional #Metro #Win8

Introducción Estoy realizando una pequeña app para Windows8 con WinRT y Metro. Pese a que no soy ningun experto en WPF, creo que condicionar el estilo a un elemento de Binding era algo trivial en WPF o Silverlight, en WinRT, (espero que de momento) no lo es. Solución que hemos hablado por Twitter En una conversación mantenida con @Antiocool y con @CorsarioVasco, hablabamos de definir 2 bloques de texto, uno para cada estilo (puesto que el condicional era para un booleano) y cada uno tuviera el estilo...
Publicado por Javier Torrecilla | 1 comment(s)
Archivado en: ,,,,

Win8: Serializar y Deserializar con WinRT C#

Introducción En este breve post vamos a ver como llevar a cabo la serialización de objetos dentro de una aplicación metro con WinRT y C#. Código Partiendo de una clase tipo:   1: public class Employee 2: { 3: public int Id { get; set; } 4: public string FirstName { get; set; } 5: public string LastName { get; set; } 6: public DateTime BirthDate { get; set; } 7: } Serializando un objeto: 1: Employee obj; 2: using (var fileStream = await ApplicationData.Current.RoamingFolder.OpenStreamForWriteAsync...
Publicado por Javier Torrecilla | con no comments

MVC: Trabajando con campos con etiquetas HTML

Introducción: En este post vamos a ver como trabajar con un modelo donde una de nuestras propiedades va a almacenar valores de tipo HTML, como por ejemplo el contenido del post de un blog: 1: <p>Este el texto del post, con un enlace <a href= 'http://bing.com' >bing</a></p> Abordando el problema: Partiendo de un modelo sencillo: 1: public class Post 2: { 3: public Guid ID { get; set; } 4: public string Title { get; set; } 5: public string Content { get; set; } 6: }...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,

Convertir un IEnumerable<T> a DataTable

Introducción En este post vamos a ver como llevar a cabo la exportación de un objeto IEnumerable<T> a un DataTable. Pero, espera!!! Ya existe un método extensor CopyToDataTable , que parece realizar esta acción. Todo parece que sí, pero parece demasiado bonito. Si nos fijamos en la firma del método: 1: public static DataTable CopyToDataTable<T>( 2: this IEnumerable<T> source 3: ) 4: where T : DataRow Veremos que este método, solo lo podremos utilizar en el caso de que T sea de tipo...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,

Usando Enumeraciones en Entity Framework 5.0

Introducción Es bastante probable que en alguna de las tablas de vuestras bases de datos tengas alguna propiedad de tipo Integer para representar una clave ajena de una tabla que no suele cambiar. ¿Por qué no utilizar una enumeración en lugar de otra tabla en la Base de Datos? Bien, con Entity Framework 5.0 Beta 1 podemos hacer uso de enumeraciones en nuestras entidades sin tener que hacer ninguna chapuza. Esta versión es para VS11 con .NET 4.5. El trabajo con Enums ya se pudo probar con una CTP...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,,,

[TIP] Exportar Word a PDF desde Código

Mini artículo para exportar un fichero word a PDF desde código c# y VB.NET. Al Lio Para poder trabajar con documentos de Word en nuestro código es necesario que agreguemos la referencia “Microsoft.Office.Interop.Word.dll”. Sin mas dilación el código: VB.NET 1: Dim app As New Microsoft.Office.Interop.Word.Application() 2:   3: Dim missing As Object = System.Type.Missing 4: Try 5:   6: Dim document As Microsoft.Office.Interop.Word.Document = app.Documents.Open(RutaCarta) 7: Dim nombre As...
Publicado por Javier Torrecilla | 4 comment(s)
Archivado en: ,,,,,,

DbMigration y Code First

Introducción Una de las novedades que se introdujo con la versión 4.3 de Entity Framework son las llamadas Database Migration (DbMigration), que vienen a satisfacer las necesidades de los desarrolladores a la hora de realizar cambios en la estructura de la base de datos, como por ejemplo: - Creación o borrado de Tablas. - Cambiar o quitar columnas. - entre otras cosas :) La principal problemática venía a la hora de tener nuestra aplicación instalada en varios...
Publicado por Javier Torrecilla | 6 comment(s)
Archivado en: ,,,,,

WebCast Entity Framework

Buenos Tardes, El viernes pasado iba a realizar un evento online acerca de Entity Framework, por motivos ajenos a GuseNET no pudimos realizar dicho evento de forma online. Lo primero a todos los que estabais interesados en verlo, Lo siento!! Voy a realizarlo como tenia previsto este Viernes 09 de Marzo a las 16:30 hora de Madrid. El enlace de registro: https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032508198&Culture=es-ES Un saludo
Publicado por Javier Torrecilla | con no comments
Archivado en:

[GuseNET] WebCast Entity Framework

Buenos días,   Hace un tiempo publique un Evento presencial en el que voy a hablar acerca de Entity Framework para el grupo de usuarios GUSNET.   En vista de que varías personas han preguntado si lo ibamos a grabar o si lo ibamos a emitir de alguna manera online, y gracias a la gente de MS, tenemos la posibilidad de emitirlo vía Live Meeting.   La URL de registro del evento: aquí .   Un saludo
Publicado por Javier Torrecilla | con no comments
Archivado en:

[UOC] Materiales WebCast Async y Await

Buenos días,   Desde este post lo primero que quiero hacer es daros las gracias por asistir a la charla sobre Async y Await que tuve el placer de impartir ayer.   Os dejo los materiales para que los descarguéis y podáis hacer vuestras pruebas.   - Presentación - Demos   En breve también podréis acceder a la grabación de la misma para aquellos que no pudisteis asistir. Si tenéis cualquier cosa, no dudéis en enviarme un correo o Tweet. Un saludo. PD: Las demos están realizadas con...
Publicado por Javier Torrecilla | con no comments
Archivado en: ,,

[GuseNET] Evento Sobre Entity Framework + Mesa Redonda

Hoy os quiero anunciar una charla que voy a impartir para el Grupo de Usuarios GUSENET. La Agenda del Evento es: 16:30 – 19:00:   USO Y VENTAJAS DE ENTITY FRAMEWORK 4: ASÍ COMO TRUCOS PARA ENFRENTARSE A CUESTIONES HABITUALES DEL USO DIARIO 19:00 – 20:00:   Mesa redonda para debatir reuniones futuras del grupo. ¿Dónde? Universidad de Murcia, Facultad de Informática Aula 1.01   El enlace de registro: Aquí   Saludos
Publicado por Javier Torrecilla | 3 comment(s)
Archivado en: ,

#ORAPOCO: V2.1

Continuando con mi particular cruzada de crear un Mini ORM para trabajar con ORACLE, publico una nueva versión de ORAPOCO. Historia: OraPoco V2.0 OraPoco Update 2 OraPoco Primer Update OraPoco 1.0 ¿Qué incluye esta nueva versión? - Corrección de un pequeño bug. - Mejora en el rendimiento de la obtención de resultados de la base de Datos. - BulkInsert: Permite la inserción de datos a través de OracleBulkInsert. Es bastante más rápido que ejecutar las inserciones por separados, pero no tan rápido que...

[UOC] WebCast sobre Async y Await

Alex Casquete me preguntó hace un tiempo si me apetecía dar una charlita sobre el nuevo paradigma de programación asíncrona, que se va a introducir con C# 5.0 y que ya podemos probar con VS 11 y la Async CTP 11, ASYNC y AWAIT. Mi respuesta fue que si :D Así que se queréis ver de que va todo esto el Jueves 23 de Febrero haré este WebCast en colaboración con UoC Dot Net Club . Enlace al registro del evento. Registro . Saludos
Publicado por Javier Torrecilla | con no comments
Archivado en: ,,,,

ORAPOCO: V2.0

Introducción Bueno, como habréis podido notar ando creando un ORM “ligero” para trabajar contra Oracle (Serie ORAPOCO ). Bien, en la segunda actualización , tanto @Eiximenis como @Juanma, me indicaban algo que las clases POCO no debía implementar ninguna clase Base, algo que a mi tampoco me convencía haberlo agregado. Además de ello Eduard comentaba la posibilidad de hacer configuración de los Mapeos, para evitar hacer uso de Atributos...
Publicado por Javier Torrecilla | 5 comment(s)
Archivado en: ,,,,,
Más artículos < Página anterior - Página siguiente >