lunes, 22 de diciembre de 2014

Concatenar un Array C#

Hoy les traigo una pequeña utilidad.

Supongamos que necesitamos realizar quitarle la primera palabra a una cadena de texto, esto se pudiera realizar con un substring, pero no conocemos tamaño de esa primera palabra.

Para ellos podemos realizar un split a nuestro cadena, en mi caso estoy leyendo archivos y el nombre de mis archivos tienen una numeracion la cual no quiero mostrar al usuario mi cadena es archivo.Name, para lo cual le realizo un split con el espacio como separador de todo, es decir me regresara en un array todos las palabras separadas por un espacio en blanco.

Como notaran no lo agrego a un Array, lo hago de forma directa ya que Split me retorna un Array,
A esto le agrego la funcion Skip el cual toma el elemento de esa posicion y regresa los elementos restantes.

Todo esto dentro  de un string.Join, como parametro le regreso un espacion en blanco que es con el cual separe, y ya con esto me regresa mi cadena sin la primera palabra.


string.Join(" ", Path.GetFileNameWithoutExtension(archivo.Name).Split(' ').Skip(1))


Saludos cordiales!

miércoles, 5 de noviembre de 2014

Peticiones Ajax en MVC Parte 2

Bueno amigos Continuo con esta entrega de peticiones Ajax en MVC.

Lo que prosigue es crear nuestras peticiones Ajax para cada Botón, a lo cual tenemos dos opciones, crear un archivo .JS y agregar la referencia al archivo de configuración BundleConfig.cs. (Lo comentare en otro tema).

Para este ejemplo lo are de forma directa en mi vista agregando el script y creando dos funciones una para cada petición de mi ApiController.

continuación el código con su respectivo comentario:


<script>

    function saludar() {
        $.ajax({
            type: "POST",//Tipo de petición
            url: 'api/SaludarApi/Saludar?nombre=Gustavo',//Url a la que se hará la petición, en este caso pasamos un parámetro directo en la ruta
            contentType: "application/json; charset=utf-8",//Tipo en que irán nuestros datos
            dataType: "json", //Se define el tipo de dato que nos regresara nuestra petición
            beforeSend: function () {
                //Se ocupa para mostrar un loading o cualquier otra función, este se ejecutara mientras se realiza la petición. Aquí ocupo el plugin mencionado con anterioridad
                //Instrucion para indicar que muestre el loading
                $.blockUI();
            },
            success: function (result) {
                //Resultado de nuestra petición, dependiente de nuestro tipo de dato que regrese puede ser un objeto de tipo json, html, etc., donde el json puede ser un Array, un Objeto simple o un dato.
                alert(result); //En este caso mi método saludar concatena mi nombre con otra frase por lo tanto es un dato directo y lo muestro en un aler
                //Resultado:  "¡Saludos Gustavo!"
                //Instrucion para indicar que oculte el loading
                $.unblockUI();
            },
            error: function (xhr, textStatus, errorThrown) {//Función que cacha los errores ocurrido en nuestra petición
                //Este parámetro es el que cacha el error ocurrido es nuestra petición
                alert(errorThrown);
                //Instrucion para indicar que oculte el loading
                $.unblockUI();
            }
        });
    }


Peticiones Ajax en MVC Parte 1

Hola amigos!

El día de hoy les traigo la forma en como realizar una petición ajax. este ejemplo esta hecho con MVC, Razor y un ApiController, se utiliza Jquery un plugin llamado BlockUI que pueden descargar de aqui


Como les comente utilizaremos un ApiController que procese nuestra solicitud y nos retorne un mensaje.


A continuación les comparto dos métodos dentro de mi ApiController, el primero me regresa un string con un saludo, y el segundo me regreso un objeto con dos propiedades.



   /// <summary>
        /// Metodo de mi ApiController para saludar
        /// </summary>
        /// <param name="nombre">Nombre de a quien saluda</param>
        /// <returns>Regresa string con un saludo</returns>
        public string Saludar(string nombre)
        {
            return string.Format("!Saludos {0}!", nombre);
        }

jueves, 30 de octubre de 2014

Error durante la serialización o deserialización mediante JavaScriptSerializer de JSON. La longitud de la cadena supera el valor establecido en la propiedad maxJsonLength

El dia de hoy les traigo dos formar de solucionar el error: "Error durante la serialización o deserialización mediante JavaScriptSerializer de JSON. La longitud de la cadena supera el valor establecido en la propiedad maxJsonLength"

Este surge al serializar un objeto (Lista, Arreglo, Etc) y este excede el maximo numero de caracteres configurado en el maxJsonLength.

Para ello tenemos dos opciones:

1.- La primera es agregar unas lineas a nuestro web config, de la aplicacion. 

<system.web.extensions>
   <scripting>
      <webServices>
         <jsonSerialization maxJsonLength="5000000"></jsonSerialization>
      </webServices>
   </scripting>
</system.web.extensions>


martes, 28 de octubre de 2014

Crear XML apartir de un archivo XSD (construccion del XSD) Primera Parte

Buenas tardes!

El dia de hoy les traigo un pequeño tutoría de como crear un archivo XML apartir de un archivo XSD (XML Schema Definition).

Primero empecemos con la construcción de nuestro Esquema XML (.xsd).

En nuestro proyecto damos click derecho y damos agregar nuevo elemento, en el cuadro de búsqueda escribimos Esquema XML como se muestra a continuación (Imagen 1), le damos el nombre que queramos en mi caso le pondré Prueba.xsd

Imagen 1.

sábado, 25 de octubre de 2014

Leer Archivos XML desde C#

Buenas tardes, el día de hoy les traigo la forma de como leer un archivo XML desde código C#. 

Esto es sencillo con una de las librerías que ya tiene Visual Studio integrada, System.Xml, para eso solo es necesario hacer un using en nuestro código “using System.Xml;” Y empezamos:

Tomando como base este pequeño XML con un nodo padre y uno hijo, donde hijo tiene una propieda, este debe de estar creado en una ruta y lo asignamos a una variable string ruta 
Ejemplo: 


string ruta = "C:\Prueba.xml";


<?xml version="1.0" encoding="UTF-8"?>
<Padre>
  <Hijo Saludar="Saludos"></Hijo>
</Padre>

sábado, 9 de agosto de 2014

Ejecutar Cadena varchar como query

Un pequeño tip de SQL server

Si alguna vez por necesidad necesitan hacer lo que hacemos en C# o en algun otro lenguaje, de ir concatenando en un string nuestro query y ejecutarlo, igual se puede hacer desde SQL ^^
Para ello tenemos esta pequeña instrucción de sql EXEC

--se declara la variable varchar dependiendo de cuanta informacion queramos utilizar le ponemos un tamaño
declare @sql varchar(1000)

--Se inicializa el query puede ser construido desde un cursor, o de validaciones, esta abierto a la imaginacion
SET @sqlt = 'Query'

--Con esta instrucción se ejecuta
EXEC (@sqlt)

Espero les sea util saludos cordiales

Creacion de PDF apartir de un GridView

Hoy les traigo otra ayuda de ITextsharp ^^. Manos a la obra.

Me vi en la necesidad de crear un reporte en itextsharp desde una grid, hubiera sido fácil renderizar y enviarlo al pdf, pero debido a la información se dividía en dos partes la hoja y no la podia personalizar, por lo cual tuve que hacerlo de forma manual con ITextSharp, para lo cual cree una clase que lo realiza, la cual les comparto dos metodos a continuacion.

Nota: Lo menejo en clases por que se pudiera volver a ocupar en otros lados del proyecto o en otros proyectos.

domingo, 27 de julio de 2014

Crear reporte con ItextSharp en C# con tabla


Un poco lejos desde mi último post. Les traigo la otra parte de cómo crear un reporte con ItextSharp pero ahora con uso de tablas de ItextSharp. 

Útiles cuando se necesita crear un documento con texto en columnas o texto a diferentes sangrías sin estar colocándolo con coordenadas.