miércoles, 5 de noviembre de 2014

Implementar el customError en MVC

A pedido de un lector, que hoy me escribio, solicitandome un ejemplo de como usar el Custom Error del web.config en MVC hoy tocare ese tema, pero de manera rápida por que no hay mucha ciencia y el motor ya hace muchas cosas por nosotros, salvo que customizemos algunas cosas y ya seria un post aparte. bueno manos a la obra.

Lo primero es agregar el tag customError en el web.config, esto es dentro de system.web y las Views que va a controlar los statusCode




Como hablamos de MVC, agregamos la clase Controller



Ahora trabajaremos con las vistas, pero no lo haremos de la manera tradicional, haciendo click derecho en el nombre del metodo ActionResult NotFount, add view ... no, nos vamos a la carpeta Shared y alli damos Add View (Saherd, compartido... todas paginas comunes al proyecto)


La estructura quedaria de la siguiente manera



Ahora, vamos aver si tanta mentira es verdad
llamemos a una vista existente (User), como muestro en la imagén


todo bien, y como hacemos para que funcione por ejemplo el famoso 404, llamemos a una vista que no existe por ejemplo User1111



Y listo, ya tenemos controlado algunas cosas , espero haya sido de ayuda


martes, 9 de septiembre de 2014

WCF MessageContract y DataContract

No hace mucho, me encontre con un problema donde a unas entidades para comunicacion Soap todo era MessageContract, y las estructuras no correspondian en el orden, nombre de atributos y Namespace.

Para ello hay que saber un poco de sus diferencias y saber que los MessageContract sirven para definir los mensajes que van a interactuar en el Servicio (Response, Request), mientras que los DataContract son para externalizar los Atributos en el Servicio.


por ejemplo se pide implementar las siguientes estructuras

Request:

Response:




Manos a la obra

CustomerRequest (MessageContract)



DataContract








Ahora para CustomerResponse (MessageContract)


DataContract




Con ello ya tenemos las estructuras definidas, y para probar lo implementamos en un servicio con datos de prueba




Levantamos el Servicio


Hacemos uso de la herramienta SoapUI, para ingresar los datos del Request a nuestro servicio




Al ejecutar comprobaremos que se ejecute


y el Response de nuestro servicio quedaria de la siguiente forma



jueves, 26 de junio de 2014

GenCode 2014 r 1.0 RELEASE

Amigos

Se Liberó, la nueva version de GenCode 2014 r 1.0, tiene significativas mejoras, y asu vez que es multi arquitectura.

cabe resaltar que se mantiene el uso de template, para que cada developer pueda manipularlo a sus necesidades dependiendo de la arquitectura y lenguaje de programación ( C#, VB.net, SQL)

el meta-lenguaje de GenCode se ha mejorado para que pueda generar por grupos de tablas seleccionadas, cuya información de proceso se muestra en la consola Output.

tambien se incluye una ayuda, con la lista de comandos y ejemplos de uso para crear los templates


Splash



Plantilla de Solucion, que contiene todos los proyectos con sus respectivas referencias entre los mismos





las ayudas








miércoles, 18 de diciembre de 2013

Nuevo GenCode 2014

Esta versión aún esta en construcción, las grandes mejoras es que es mas flexible, ya que los Templates de Proyectos es más dinámico, las variables de los mismos de la ventana Properties es mas robusta y configurable, y lo principal es que puede generar en lote todas las tablas que le asignemos así como también crear Plantillas de Proyectos ya definidos con la arquitectura de el software que se este desarrollando, asiendolo mas versatil y dinámico.

GC2014

 

Los comandos y funciones para programar los Templates están reescritos y mejorados para que el proceso sea mas rápido

Template

Se pueden agregar proyectos desde una platilla de los mismos, así se carga ya una estructura definida.

From

Al agregar proyectos desde una plantilla estos ya aparecen con sus respectivas referencias, y lo mas importante que la funcionalidad de ir agregando los proyectos de forma manual se mantiene.

Projects

Al generar el código se procesa en lote todas las tablas seleccionadas reduciendo los tiempos de desarrollo, además se le adiciono una ventada de Output donde se ve el proceso de Generación y los comandos y funciones de la plantilla a ejecutar y si existen errores estos se visualizan aquí.

 ouput 

La ventana Properties que contiene las variables del proceso de Generación, esta mas robusta de mas fácil acceso.

Properties

sábado, 19 de octubre de 2013

Personalizar Una Entidad con GenCode

 

El dia de ayer, conversando con un amigo que estaba probando el GenCode, me pregunto si se podia modificar para que genere una Clase de tipo Entidad para que tenga un constructor entre otras cosas y bueno yo le propuse algo mejor. Porque no modificar el contructor y le pasamos un DataReader …. etc etc.

 

01

El tema está que solo hay que modificar el Template para las entidades, quedando de esta manera:

02

Ahora generando la clase con GenCode, obtenemos el siguiente resultado:

03

Como verán con el meta lenguaje de GenCode, podemos personalizar los templates para que genere las clases a nuestra manera de desarrollo.

Nota:  La siguiente clase NullSafe.GetValueOrDefault, es una clase para manejar el tema de los NULL, y asi no tener errores, esta clase la adapte de un codigo que encontre navegando y se los comparto:

 

using System.Data;

namespace EmsvSoftware.ERP.Common
{
    public static class NullSafe
    {
        public static T GetValueOrDefault<T>(this IDataRecord row, string fieldName)
        {
            int ordinal = row.GetOrdinal(fieldName);
            return row.GetValueOrDefault<T>(ordinal);
        }

        public static T GetValueOrDefault<T>(this IDataRecord row, int ordinal)
        {
            return (T)(row.IsDBNull(ordinal) ? default(T) : row.GetValue(ordinal));
        }
    }
}

Saludos

Eloy

domingo, 24 de marzo de 2013

IntelliSense con GenCode 2012 r 3.1

 

Ahora se ha agregado funcionalidad de Intellisense, para ayudar a crear los Template, con el Meta Lenguaje de GenCode.

Con los templates ya definidos mas Intellisense es mas facil crear templates mas aun con el Soporte de EmsvSoftware

intellisense

miércoles, 5 de diciembre de 2012

Tranformando Contenido XML a HTML con XSL

En esta version, se ha mejorado considerablemente la transformacion de xml a html con XSL, pues ahora se maneja via un Database Object Type que puede ser un Table, View o un Stored Procedure.

el XSL se puede obtener de un archivo que tengamos en nuestro ordenador, o pedemos crear uno desde cero pues ahora se tiene un editor, y completado los pasos podemos ver el resultado en el navegador que tengamos por defecto.

Seleccionando un objeto:

lookup

Visualizando el xml:

xml

Obteniendo el XSL, en la cual podemos modificar y guardar los cambios

file

xsl

el resultado de la transformacion :

web

Esto tiene varias utilidades, como un visualizador de consultas o reportes, y exponerlo via web