Mes: julio 2022
Ejercicio MVC
Crear un controlador ‘Trifulcas’ que en el index ponga ‘Trifulcas, la mejor página de programación’ y un enlace a esta misma web.
Y que tenga otro apartado ‘About’ con información de nosotros mismos.
Las dos opciones tienen que aparecer en el menú del Layout
MVC C#
Ejercicio reflection
Con las herramientas de reflection crear un método genérico al que le pasamos una lista de entidades y una cadena de texto y nos devuelva todas las entidades que en algún campo de tipo cadena tenga esa cadena.
Ejemplo
Alumnos{nombre,apellido}=[{“Juan”,”Pi”},{“Ana”,”Perez”},{“Pep”,”Buj”}]
Si yo a esta función le paso una lista con los alumnos de antes y la cadena “e” me devuelve Ana Perez y Pep Buj porque tienen una ‘e’ en una propiedad de tipo string.
Reflection
xUnit Agenda
Con el código de la agenda:
https://github.com/juanpablofuentes/Pasiona/tree/master/Ejemplos01/AgendaTelefonos
Pensad en qué pruebas unitarias podemos hacer para comprobar el funcionamiento.
Test unitarios a números complejos
Recuperamos el proyecto de números complejos que hicimos aquí:
Y vamos a añadir test unitarios sobre las funciones sumar, multiplicar e igual. Dejo a vuestra elección si es un ‘Fact’ o un ‘Theory’
xUnit
https://es.wikipedia.org/wiki/Prueba_unitaria
TDD: Todo lo que necesitas saber de esta metodología en 3 minutos
https://xunit.net/docs/getting-started/netfx/visual-studio
https://docs.microsoft.com/es-es/dotnet/core/testing/unit-testing-best-practices
https://docs.microsoft.com/es-es/dotnet/core/testing/unit-testing-with-dotnet-test
Comandos migraciones
https://www.entityframeworktutorial.net/efcore/pmc-commands-for-ef-core-migration.aspx
https://docs.microsoft.com/es-es/ef/core/cli/powershell
Get-Help entityframework | Displays information about entity framework commands. |
Add-Migration <migration name> | Creates a migration by adding a migration snapshot. |
Remove-Migration | Removes the last migration snapshot. |
Update-Database | Updates the database schema based on the last migration snapshot. |
Script-Migration | Generates a SQL script using all the migration snapshots. |
Scaffold-DbContext | Generates a DbContext and entity type classes for a specified database. This is called reverse engineering. |
Get-DbContext | Gets information about a DbContext type. |
Drop-Database | Drops the database. |
SOLID, interfaces, clases abstractas
Usar I en nombres de Interfaces
https://www.eiximenis.dev/posts/2022-07-04-prefijo-i-en-las-interfaces-si-o-no/
SOLID en C#
https://steven-giesel.com/blogPost/a252f2da-1ae8-4449-9b5f-43657308eabb
Clases abstractas vs Interfaces
https://steven-giesel.com/blogPost/3992a289-4cc9-460c-b484-0cc137cccafa