Un blog con consejos y sugerencias sobre programación en Csharp que he aprendido a lo largo de los años
Link List
miércoles, 18 de mayo de 2022
miércoles, 13 de abril de 2022
Paginación desde WebApi
Paginación desde WebApi
Vamos a explicarla, primero obtenemos el total de todas las páginas con una operación matemática basándonos entre el total de registros a entregar
con esta línea vamos a entregar solo la información de la página solicitada y con el tamaño solicitado
lunes, 28 de marzo de 2022
Operaciones en base de datos con NuGet
Operaciones en base de datos con NuGet
Que tal amigos, ya he hecho una entrada donde creamos unas funciones para realizar operaciones en base de datos SQL pero esta ocasión realizaremos una mejora mediante un paquete NuGet (de mi autoría)
Instalación
Vamos a descargar primeramente nuestro paquete, para eso vamos al administrador de paquetes NuGet en nuestro visual studio y buscamos UMB.DataBaseOperations, como se muestra
viernes, 25 de marzo de 2022
Envío de correo con NuGet
Envío de correo con NuGet
Hoy vamos a ver algo que ya es muy común, el envío de correo mediante código de CSharp pero esta vez no lo haremos de la forma convencional, larga y aburrida. Para nuestro ejemplo utilizaremos un paquete NuGet.
Instalación del paquete NuGet
En nuestro Visual Studio, abrimos el administrador de paquete NuGet y buscamos el paquete llamado UMB.SendMail (es de mi autoría)
Les debe aparecer 2 versiones, una que está es obsoleta y la más actual con el framework Net 4.8 instalamos esta última; la que tiene
Deberá aparecer el espacio de nombres en nuestra sección de referencias de esta manera:
Configuración
Ya tenemos todo lo necesario para poder enviar un correo, solo hay que configurar los parámetros de destino y SMTP. Para ello necesitamos una instancia de:
Después cargaremos toda nuestra información, en lo personal siempre hago una función que sea la encargada de esta tarea, así podremos darle mejor mantenimiento.
Obviamente es un ejemplo de una función que puedes tomar como base pero también mejórala a tu gusto, la meta es llenar nuestro mailConfig con los parámetros requeridos.
Regresamos a nuestro código y mira, es muy sencillo:
En 5 minutos haz implementado el envío de correo que podrá ser utilizado en cualquiera de tus proyectos como una función encapsuladaEspero que haya sido de ayuda y como nota final, este paquete es capaz de recibir un html como cuerpo del mensaje, adjuntar archivos y trabajar con certificado de seguridad.
Si tienes alguna duda, déjame un comentario y con gusto trataré de ayudarte en lo que pueda.
Saludos
martes, 15 de marzo de 2022
Leer y escribir en un archivo de texto
Leer y escribir en un archivo de texto
Esta entrada la realizo porque tengo personas a mi cargo que aún no tienen esa experiencia leyendo archivos de texto y escribir en ellos, ya sea como bitácora, como resultado de una operación o porque comúnmente un fichero contiene información que debe ser leída a diario para entregar un reporte.
Bien pues empecemos con realizar una lectura de un archivo. Se van a sorprender pero tanto Net Framework en su versión 4.5 en adelante como Net Core en su versión 6 tienen una enorme ayuda con LINQ.
Leer un archivo de texto línea por línea
Para leer un archivo de texto utilizaremos la siguiente instrucción que nos entregará una instancia enumerable
Ya que tenemos las lineas en una lista se pueden trabajar de la forma que gustes, igual con LINQ; por ejemplo:
Sencillo, ¿No?, en versiones anteriores utilizamos la instrucción Using para usar el recurso y luego liberarlo pero con LINQ es cosa del pasado
martes, 8 de marzo de 2022
Json. ¿Qué es y cómo se utiliza?
Formato Json. ¿Qué es y cómo se utiliza?
Vamos a empezar por saber que son sus siglas JSON: JavaScript Object Notation. Pero no es más que un formato que se utiliza para intercambiar información entre sistemas. Los archivos json contienen solo texto y usan la extensión .json.
¿Por qué es tan mencionado?
Básicamente porque el formato JSON es más ligero que el formato XML lo que reduce el tiempo de carga y la complejidad para leer una respuesta
¿Dónde se usa?
Json es el formato que más se está adoptando dado que es muy liviano trabajar con él cuando se trata de peticiones asíncronas o comúnmente AJAX (JavaScript asíncrono) y como más sitios web utilizan las librerías y lenguaje Javascript por esta razón JSON se ha vuelto tan popular.
¿Cuál es la estructura de un objeto JSON?
Hay dos conceptos que debes saber como regla para definir cualquier variable en un formato JSON, la clave (key) y su valor (value)
Las Keys deben ser cadenas de caracteres (strings) y por consiguiente deben estar entre comillas y los valores que puede tener son de un arreglo (array), objeto, cadena (string), booleano, número o hasta un nulo.
Tranquilo, vamos a ver con ejemplos lo anterior pero antes no debes olvidar que un objeto JSON comienza y termina con llaves {}. Puede tener dos o más pares de claves/valor dentro, con una coma para separarlos. Así mismo, cada key es seguida por dos puntos para distinguirla del valor.
Tipos de valores en un objeto JSON
Veamos primero lo básico
Strings. Cadenas de caracteres, es decir, un valor alfanumérico; ejemplo
"Nombre":"Uriel"
Número. Como su nombre lo indica serán valores enteros o flotantes; ejemplo:
"Edad":37
Booleano. Aquí no hay más, solo es true (verdadero) o false (falso); ejemplo:
"Soltero": "true"
Nulo. Sencillo, valor null; ejemplo:
"Calle":"null"
Objeto:
Un objeto lo podemos entender como una instancia de clase donde podemos tener tantas key/values que queramos separados por comas:
Arreglos
por último los arreglos que no es más que una colección de valores dentro de corchetes [] que se pueden anidar; es decir, que podrán almacenar más valores dentro que deben cumplir con key/value; ejemplo:
Array sencillo
Arreglo complejo
Aquí podemos hacer un sin fin de ejemplos pero para entender el tema lo expondré así:
Espero que les haya servido, cualquier duda trataré de responderla en los comentarios.
Saludos!!!!
martes, 1 de marzo de 2022
Versionamiento NET vs Core
Versionamiento NET vs Core
Formato básico
Versión en proyecto .NET
Versión en proyecto .NET Core
Edición del archivo del proyecto
<PropertyGroup><OutputType>WinExe</OutputType><TargetFramework>net6.0-windows</TargetFramework><Nullable>enable</Nullable><UseWindowsForms>true</UseWindowsForms><ImplicitUsings>enable</ImplicitUsings><PackageReleaseNotes></PackageReleaseNotes><Company>UMB</Company><Version>2.1.0</Version><Description>alguna descripcion</Description><Copyright>UMB</Copyright><AssemblyVersion>1.0.0</AssemblyVersion><FileVersion>1.0.0</FileVersion></PropertyGroup>