Curso gratis Vue y C# .Net CORE

Este es un curso gratuito donde veremos cómo combinar el framework progresivo Vue con la tecnología .Net Core.

El curso está en progreso por lo cual te sugiero que te suscribas a mi canal de youtube, de esta manera estarás notificado cada que se suba un nuevo video.

1.- Integración

2.- Programación reactiva, directiva v-model

3.- Solicitudes AJAX Get, controladores en MVC .Net

4.- Base de datos con Entity Framework, directiva v-for

Métodos de extensión en C# .Net, Agrega métodos a tus clases ya compiladas

En .Net tú puedes agregar métodos a tus clases ya compiladas, a las de .Net o a cualquier dll que descargues para tus proyectos. Esto es útil para darle más dinamismos a .Net y puedas tener mayor flexibilidad para crear funcionalidades.

En este video te mostrare como puedes agregar métodos a tus clases ya compiladas.

¿Cómo obligar al comando xsd.exe a poner el nombre que deseemos a nuestra clase de c# creada a partir de archivos xsd?

Para todos los que hemos trabajado con facturación electrónica nos resulta común crear nuestras clases a partir de los archivos xsd otorgados por hacienda.

Hay un bug cuando creamos nuestra clase a partir de muchos xsd con la aplicación xsd.exe ya que esta le agrega al nombre final la concatenación de los nombres de todos los archivos utilizados, pero en Windows tenemos una limitante de 248 caracteres.

Por ejemplo para la facturación electrónica de Colombia tenemos que utilizar más de 10 archivos xsd y lo normal es que utilizáramos un comando así:

xsd 
DIAN_UBL.xsd DIAN_UBL_Structures.xsd xmldsig-core-schema.xsd CodeList_CurrencyCode_ISO_7_04.xsd CodeList_LanguageCode_ISO_7_04.xsd CodeList_MIMEMediaTypeCode_IANA_7_04.xsd CodeList_UnitCode_UNECE_7_04.xsd UBL-CommonAggregateComponents-2.0.xsd UBL-CommonBasicComponents-2.0.xsd UBL-CommonExtensionComponents-2.0.xsd UBL-ExtensionContentDatatype-2.0.xsd UBL-QualifiedDatatypes-2.0.xsd UnqualifiedDataTypeSchemaModule-2.0.xsd /classes

El cual nos dará un error ya que la concatenación del nombre del archivo resultante supera los 248 caracteres.
Para otorgarle un nombre de salida debemos hacer lo siguiente:

xsd DIAN_UBL_Structures.xsd xmldsig-core-schema.xsd CodeList_CurrencyCode_ISO_7_04.xsd CodeList_LanguageCode_ISO_7_04.xsd CodeList_MIMEMediaTypeCode_IANA_7_04.xsd CodeList_UnitCode_UNECE_7_04.xsd UBL-CommonAggregateComponents-2.0.xsd UBL-CommonBasicComponents-2.0.xsd UBL-CommonExtensionComponents-2.0.xsd UBL-ExtensionContentDatatype-2.0.xsd UBL-QualifiedDatatypes-2.0.xsd UnqualifiedDataTypeSchemaModule-2.0.xsd .\DIAN_UBL.xsd /classes

Poniendo .\DIAN_UBL.xsd antes del parámetro /clases hará que nuestro archivo final se llame DIAN_UBL.cs.

Video explicando paso a paso:

Crear CRUD en MVC .Net con C#, Entity Framework y Sql Server

En este video te enseñare a crear un CRUD con la tecnología MVC .Net sin utilizar javascript, es decir, con solicitudes propias de la tecnología.

Un CRUD es el acrónimo de Create, Read, Update y Delete, en español: crear, leer, modificar y eliminar, y es en si la creación de un módulo básico en programación.

Descargar código fuente

LINQ en C# .Net intermedio en 10 minutos, take, skip, select, union, count

En este video veremos LINQ a nivel intermedio, haremos ejercicios prácticos con los cuales te explicare como puedes utilizar las funciones take, skip, select, union y count en tus consultas de LINQ.

Código


  class Program
    {
        static void Main(string[] args)
        {
            List<Persona> lst = new List<Persona>() {
                new Persona() { Edad = 40, Nombre = "Pancho" },
                new Persona() { Edad = 30, Nombre = "Juan" },
                new Persona() { Edad = 11, Nombre = "Mario" },
                new Persona() { Edad = 18, Nombre = "Juana" },
                new Persona() { Edad = 6, Nombre = "Memo" },
            };

            List<Persona> lstSoloTexto = new List<Persona>() {
                 new Persona() { Edad = 30, Nombre = "Héctor" },
                 new Persona() { Edad = 38, Nombre = "Fernando" },
                 new Persona() { Edad = 12, Nombre = "Miguel" }

            };

            List<string> lstOrdenadosSoloNombres = (
                                                    from a in 
                                                        (from d in lst
                                                       select d )
                                                       .Union(
                                                        from d in lstSoloTexto
                                                        select d
                                                        )
                                                    orderby a.Nombre
                                                    select a.EdadYNombre
                                                    )
                                                   .ToList();

            int numerodepersonas = lstOrdenadosSoloNombres.Count;

            foreach (var Nombre in lstOrdenadosSoloNombres)
            {
                Console.WriteLine(Nombre);
            }

        }

        public class Persona
        {
            public int Edad { get; set; }
            public string Nombre { get; set; }

            public string EdadYNombre
            {
                get {
                    return Edad + " - " + Nombre;
                }
            }

        }
    }

Nuevo esquema de cancelación de facturas electrónicas en C# .Net, CFDI 3.3 SAT

En este video abarcare todo lo que debes saber cómo programador para cancelar bajo el nuevo esquema del SAT para la cancelación de facturas electrónicas que entro en vigor este pasado 1 de noviembre del 2018.