├── .gitattributes ├── .gitignore ├── ASP.NET Core 2.2 ├── Modulo 10 - Despliegues │ └── WebApiModulo10 │ │ ├── WebApiModulo10.sln │ │ └── WebApiModulo10 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20190210144614_Initial.Designer.cs │ │ ├── 20190210144614_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ └── LibroDTO.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo10.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 3 - Nuestro Primer Web API │ └── MiPrimerWebApiM3 │ │ ├── MiPrimerWebApiM3.sln │ │ └── MiPrimerWebApiM3 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── LibrosController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── MiPrimerWebApiM3.csproj │ │ ├── Migrations │ │ ├── 20190116005006_Initial.Designer.cs │ │ ├── 20190116005006_Initial.cs │ │ ├── 20190116022346_Libros.Designer.cs │ │ ├── 20190116022346_Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 4 - Fundamentos de ASP.NET Core │ └── WebApiModulo4 │ │ ├── WebApiModulo4.sln │ │ └── WebApiModulo4 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ └── Autor.cs │ │ ├── Helpers │ │ ├── MiFiltroDeAccion.cs │ │ ├── MiFiltroDeExcepcion.cs │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── Migrations │ │ ├── 20190118023159_Initial.Designer.cs │ │ ├── 20190118023159_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ ├── ClaseA.cs │ │ ├── ClaseB.cs │ │ └── IClaseB.cs │ │ ├── Startup.cs │ │ ├── WebApiModulo4.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 5 - Manipulando Recursos │ └── WebApiModulo5 │ │ ├── WebApiModulo5.sln │ │ └── WebApiModulo5 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20190120142836_Initial.Designer.cs │ │ ├── 20190120142836_Initial.cs │ │ ├── 20190121123418_Datos-Libros.Designer.cs │ │ ├── 20190121123418_Datos-Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ └── LibroDTO.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo5.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 6 - Configuraciones │ └── WebApiModulo6 │ │ ├── WebApiModulo6.sln │ │ └── WebApiModulo6 │ │ ├── Controllers │ │ └── ValuesController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo6.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 7 - Seguridad │ └── WebApiModulo7 │ │ ├── WebApiModulo7.sln │ │ └── WebApiModulo7 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── CuentasController.cs │ │ ├── UsuariosController.cs │ │ └── ValuesController.cs │ │ ├── Migrations │ │ ├── 20190127132515_sistema_login.Designer.cs │ │ ├── 20190127132515_sistema_login.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── ApplicationUser.cs │ │ ├── HashResult.cs │ │ ├── UserInfo.cs │ │ └── UserToken.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── WebApiModulo7.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 8 - Escenarios Avanzados │ └── WebApiModulo8 │ │ ├── WebApiModulo8.sln │ │ └── WebApiModulo8 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── V1 │ │ │ ├── AutoresController.cs │ │ │ ├── RootController.cs │ │ │ └── ValuesController.cs │ │ └── V2 │ │ │ └── AutoresController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Helpers │ │ ├── GeneradorEnlaces.cs │ │ ├── HATEOASAuthorFilterAttribute.cs │ │ ├── HATEOASAuthorsFilterAttribute.cs │ │ ├── HATEOASFilterAttribute.cs │ │ └── HttpHeaderIsPresentAttribute.cs │ │ ├── Migrations │ │ ├── 20190203140707_Initial.Designer.cs │ │ ├── 20190203140707_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── ColeccionDeRecursos.cs │ │ ├── Enlace.cs │ │ ├── LibroDTO.cs │ │ └── Recurso.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo8.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json └── Modulo 9 - Pruebas Automaticas │ ├── Introduccion │ ├── Introduccion.sln │ ├── Introduccion │ │ ├── Entities │ │ │ └── Cuenta.cs │ │ ├── Introduccion.csproj │ │ ├── Program.cs │ │ └── Services │ │ │ ├── IServicioValidacionesDeTransferencias.cs │ │ │ ├── ServicioDeTransferencias.cs │ │ │ ├── ServicioDeTransferenciasSinMocks.cs │ │ │ └── ServicioValidacionesDeTransferencias.cs │ └── ProyectoPruebas │ │ ├── ProyectoPruebas.csproj │ │ ├── TransferenciasTestsConMocks.cs │ │ └── TransferenciasTestsSinMocks.cs │ └── WebApiModulo9 │ ├── WebApiModulo9.sln │ ├── WebApiModulo9 │ ├── Contexts │ │ └── ApplicationDbContext.cs │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ ├── Migrations │ │ ├── 20190318031249_Initial.Designer.cs │ │ ├── 20190318031249_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── IRepositorioAutores.cs │ │ └── RepositorioAutores.cs │ ├── Startup.cs │ ├── WebApiModulo9.csproj │ ├── appsettings.Development.json │ └── appsettings.json │ ├── WebApiPruebasDeIntegracion │ ├── AutoresControllerTests.cs │ ├── Filters │ │ └── FakeUserFilter.cs │ ├── Mocks │ │ └── RepositorioAutoresMock.cs │ ├── Properties │ │ └── launchSettings.json │ ├── ValuesControllerTests.cs │ └── WebApiPruebasDeIntegracion.csproj │ └── WebApiPruebasUnitarias │ ├── AutoresControllerTests.cs │ └── WebApiPruebasUnitarias.csproj ├── ASP.NET Core 3.0 ├── Modulo 10 - Despliegues │ └── WebApiModulo10 │ │ ├── WebApiModulo10.sln │ │ └── WebApiModulo10 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20190210144614_Initial.Designer.cs │ │ ├── 20190210144614_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ └── LibroDTO.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo10.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 3 - Nuestro Primer Web API │ └── MiPrimerWebApiM3 │ │ ├── MiPrimerWebApiM3.sln │ │ └── MiPrimerWebApiM3 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── LibrosController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── MiPrimerWebApiM3.csproj │ │ ├── Migrations │ │ ├── 20190116005006_Initial.Designer.cs │ │ ├── 20190116005006_Initial.cs │ │ ├── 20190116022346_Libros.Designer.cs │ │ ├── 20190116022346_Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 4 - Fundamentos de ASP.NET Core │ ├── WebApiModulo4 │ │ ├── WebApiModulo4.sln │ │ └── WebApiModulo4 │ │ │ ├── Contexts │ │ │ └── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ └── ValuesController.cs │ │ │ ├── Entities │ │ │ └── Autor.cs │ │ │ ├── Helpers │ │ │ ├── MiFiltroDeAccion.cs │ │ │ ├── MiFiltroDeExcepcion.cs │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── Migrations │ │ │ ├── 20190118023159_Initial.Designer.cs │ │ │ ├── 20190118023159_Initial.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Services │ │ │ ├── ClaseA.cs │ │ │ ├── ClaseB.cs │ │ │ └── IClaseB.cs │ │ │ ├── Startup.cs │ │ │ ├── WebApiModulo4.csproj │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ └── hostedService │ │ ├── hostedService.sln │ │ └── hostedService │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ └── HomeController.cs │ │ ├── Migrations │ │ ├── 20200502043602_primera.Designer.cs │ │ ├── 20200502043602_primera.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── ErrorViewModel.cs │ │ └── HostedServiceLog.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ ├── ConsumeScopedService.cs │ │ ├── WriteToFileHostedService.cs │ │ └── WriteToFileHostedService2.cs │ │ ├── Startup.cs │ │ ├── Views │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── Privacy.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── hostedService.csproj │ │ └── wwwroot │ │ ├── Archivo 1.txt │ │ ├── Archivo 2.txt │ │ ├── css │ │ └── site.css │ │ ├── favicon.ico │ │ └── js │ │ └── site.js ├── Modulo 5 - Manipulando Recursos │ └── WebApiModulo5 │ │ ├── WebApiModulo5.sln │ │ └── WebApiModulo5 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20190120142836_Initial.Designer.cs │ │ ├── 20190120142836_Initial.cs │ │ ├── 20190121123418_Datos-Libros.Designer.cs │ │ ├── 20190121123418_Datos-Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ └── LibroDTO.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo5.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 6 - Configuraciones │ └── WebApiModulo6 │ │ ├── WebApiModulo6.sln │ │ └── WebApiModulo6 │ │ ├── Controllers │ │ └── ValuesController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo6.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 7 - Seguridad │ └── WebApiModulo7 │ │ ├── WebApiModulo7.sln │ │ └── WebApiModulo7 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── CuentasController.cs │ │ ├── UsuariosController.cs │ │ └── ValuesController.cs │ │ ├── Migrations │ │ ├── 20190127132515_sistema_login.Designer.cs │ │ ├── 20190127132515_sistema_login.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── ApplicationUser.cs │ │ ├── HashResult.cs │ │ ├── UserInfo.cs │ │ └── UserToken.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── WebApiModulo7.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 8 - Escenarios Avanzados │ └── WebApiModulo8 │ │ ├── WebApiModulo8.sln │ │ └── WebApiModulo8 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── V1 │ │ │ ├── AutoresController.cs │ │ │ ├── RootController.cs │ │ │ └── ValuesController.cs │ │ └── V2 │ │ │ └── AutoresController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Helpers │ │ ├── GeneradorEnlaces.cs │ │ ├── HATEOASAuthorFilterAttribute.cs │ │ ├── HATEOASAuthorsFilterAttribute.cs │ │ ├── HATEOASFilterAttribute.cs │ │ └── HttpHeaderIsPresentAttribute.cs │ │ ├── Migrations │ │ ├── 20190203140707_Initial.Designer.cs │ │ ├── 20190203140707_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── ColeccionDeRecursos.cs │ │ ├── Enlace.cs │ │ ├── LibroDTO.cs │ │ └── Recurso.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo8.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json └── Modulo 9 - Pruebas Automaticas │ ├── Introduccion │ ├── Introduccion.sln │ ├── Introduccion │ │ ├── Entities │ │ │ └── Cuenta.cs │ │ ├── Introduccion.csproj │ │ ├── Program.cs │ │ └── Services │ │ │ ├── IServicioValidacionesDeTransferencias.cs │ │ │ ├── ServicioDeTransferencias.cs │ │ │ ├── ServicioDeTransferenciasSinMocks.cs │ │ │ └── ServicioValidacionesDeTransferencias.cs │ └── ProyectoPruebas │ │ ├── ProyectoPruebas.csproj │ │ ├── TransferenciasTestsConMocks.cs │ │ └── TransferenciasTestsSinMocks.cs │ └── WebApiModulo9 │ ├── WebApiModulo9.sln │ ├── WebApiModulo9 │ ├── Contexts │ │ └── ApplicationDbContext.cs │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ ├── Migrations │ │ ├── 20190318031249_Initial.Designer.cs │ │ ├── 20190318031249_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── IRepositorioAutores.cs │ │ └── RepositorioAutores.cs │ ├── Startup.cs │ ├── WebApiModulo9.csproj │ ├── appsettings.Development.json │ └── appsettings.json │ ├── WebApiPruebasDeIntegracion │ ├── AutoresControllerTests.cs │ ├── Mocks │ │ └── RepositorioAutoresMock.cs │ ├── Properties │ │ └── launchSettings.json │ ├── SaltarseRequerimientosHandle.cs │ ├── UsuarioFalsoFilter.cs │ ├── ValuesControllerTests.cs │ └── WebApiPruebasDeIntegracion.csproj │ └── WebApiPruebasUnitarias │ ├── AutoresControllerTests.cs │ └── WebApiPruebasUnitarias.csproj ├── ASP.NET Core 3.1 ├── Modulo 10 - Despliegues │ └── WebApiModulo10 │ │ ├── WebApiModulo10.sln │ │ └── WebApiModulo10 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20190210144614_Initial.Designer.cs │ │ ├── 20190210144614_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ └── LibroDTO.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo10.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 11 - Proyecto Final │ └── PeliculasAPI │ │ ├── PeliculasAPI.Tests │ │ ├── AllowAnonymousHandler.cs │ │ ├── BasePruebas.cs │ │ ├── LocalDbDatabaseInitializer.cs │ │ ├── PeliculasAPI.Tests.csproj │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── PruebasDeIntegracion │ │ │ ├── GenerosControllerTests.cs │ │ │ └── ReviewsControllerTests.cs │ │ ├── PruebasUnitarias │ │ │ ├── ActoresControllerTests.cs │ │ │ ├── CuentasControllerTests.cs │ │ │ ├── GenerosControllerTests.cs │ │ │ ├── PeliculasControllerTests.cs │ │ │ ├── ReviewsControllerTests.cs │ │ │ └── SalasDeCineControllerTests.cs │ │ └── UsuarioFalsoFiltro.cs │ │ ├── PeliculasAPI.sln │ │ └── PeliculasAPI │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── ActoresController.cs │ │ ├── CuentasController.cs │ │ ├── CustomBaseController.cs │ │ ├── GenerosController.cs │ │ ├── PeliculasController.cs │ │ ├── ReviewController.cs │ │ └── SalasDeCineController.cs │ │ ├── DTOs │ │ ├── ActorCreacionDTO.cs │ │ ├── ActorDTO.cs │ │ ├── ActorPatchDTO.cs │ │ ├── ActorPeliculaDetalleDTO.cs │ │ ├── ActorPeliculasCreacionDTO.cs │ │ ├── EditarRolDTO.cs │ │ ├── FiltroPeliculasDTO.cs │ │ ├── GeneroCreacionDTO.cs │ │ ├── GeneroDTO.cs │ │ ├── PaginacionDTO.cs │ │ ├── PeliculaCreacionDTO.cs │ │ ├── PeliculaDTO.cs │ │ ├── PeliculaDetallesDTO.cs │ │ ├── PeliculaPatchDTO.cs │ │ ├── PeliculasIndexDTO.cs │ │ ├── ReviewCreacionDTO.cs │ │ ├── ReviewDTO.cs │ │ ├── SalaDeCineCercanoDTO.cs │ │ ├── SalaDeCineCercanoFiltroDTO.cs │ │ ├── SalaDeCineCreacionDTO.cs │ │ ├── SalaDeCineDTO.cs │ │ ├── UserInfo.cs │ │ ├── UserToken.cs │ │ └── UsuarioDTO.cs │ │ ├── Entidades │ │ ├── Actor.cs │ │ ├── Genero.cs │ │ ├── IId.cs │ │ ├── Pelicula.cs │ │ ├── PeliculasActores.cs │ │ ├── PeliculasGeneros.cs │ │ ├── PeliculasSalasDeCine.cs │ │ ├── Review.cs │ │ └── SalaDeCine.cs │ │ ├── Helpers │ │ ├── AutoMapperProfiles.cs │ │ ├── CreateMap.cs │ │ ├── HttpContextExtensions.cs │ │ ├── PeliculaExisteAttribute.cs │ │ ├── QueryableExtensions.cs │ │ └── TypeBinder.cs │ │ ├── Migrations │ │ ├── 20200517133912_Initial.Designer.cs │ │ ├── 20200517133912_Initial.cs │ │ ├── 20200522005423_Actores.Designer.cs │ │ ├── 20200522005423_Actores.cs │ │ ├── 20200603001757_Peliculas.Designer.cs │ │ ├── 20200603001757_Peliculas.cs │ │ ├── 20200607191748_PeliculasActores_PeliculasGeneros.Designer.cs │ │ ├── 20200607191748_PeliculasActores_PeliculasGeneros.cs │ │ ├── 20200607201514_DataPrueba.Designer.cs │ │ ├── 20200607201514_DataPrueba.cs │ │ ├── 20200607201612_DataPrueba2.Designer.cs │ │ ├── 20200607201612_DataPrueba2.cs │ │ ├── 20200623233944_TablasSalasDeCine.Designer.cs │ │ ├── 20200623233944_TablasSalasDeCine.cs │ │ ├── 20200624011129_SalaDeCineUbicacion.Designer.cs │ │ ├── 20200624011129_SalaDeCineUbicacion.cs │ │ ├── 20200624012956_SalaDeCineData.Designer.cs │ │ ├── 20200624012956_SalaDeCineData.cs │ │ ├── 20200624020809_TablasIdentity.Designer.cs │ │ ├── 20200624020809_TablasIdentity.cs │ │ ├── 20200624021120_AdminData.Designer.cs │ │ ├── 20200624021120_AdminData.cs │ │ ├── 20200624023912_TablaReviews.Designer.cs │ │ ├── 20200624023912_TablaReviews.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── PeliculasAPI.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Servicios │ │ ├── AlmacenadorArchivosAzure.cs │ │ ├── AlmacenadorArchivosLocal.cs │ │ └── IAlmacenadorArchivos.cs │ │ ├── Startup.cs │ │ ├── Validaciones │ │ ├── GrupoTipoArchivo.cs │ │ ├── PesoArchivoValidacion.cs │ │ └── TipoArchivoValidacion.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 3 - Nuestro Primer Web API │ └── MiPrimerWebApiM3 │ │ ├── MiPrimerWebApiM3.sln │ │ └── MiPrimerWebApiM3 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── LibrosController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── MiPrimerWebApiM3.csproj │ │ ├── Migrations │ │ ├── 20190116005006_Initial.Designer.cs │ │ ├── 20190116005006_Initial.cs │ │ ├── 20190116022346_Libros.Designer.cs │ │ ├── 20190116022346_Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 4 - Fundamentos de ASP.NET Core │ ├── WebApiModulo4 │ │ ├── WebApiModulo4.sln │ │ └── WebApiModulo4 │ │ │ ├── Contexts │ │ │ └── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ └── ValuesController.cs │ │ │ ├── Entities │ │ │ └── Autor.cs │ │ │ ├── Helpers │ │ │ ├── MiFiltroDeAccion.cs │ │ │ ├── MiFiltroDeExcepcion.cs │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── Migrations │ │ │ ├── 20190118023159_Initial.Designer.cs │ │ │ ├── 20190118023159_Initial.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Services │ │ │ ├── ClaseA.cs │ │ │ ├── ClaseB.cs │ │ │ └── IClaseB.cs │ │ │ ├── Startup.cs │ │ │ ├── WebApiModulo4.csproj │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ └── hostedService │ │ ├── hostedService.sln │ │ └── hostedService │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ └── HomeController.cs │ │ ├── Migrations │ │ ├── 20200502043602_primera.Designer.cs │ │ ├── 20200502043602_primera.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── ErrorViewModel.cs │ │ └── HostedServiceLog.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ ├── ConsumeScopedService.cs │ │ ├── WriteToFileHostedService.cs │ │ └── WriteToFileHostedService2.cs │ │ ├── Startup.cs │ │ ├── Views │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── Privacy.cshtml │ │ ├── Shared │ │ │ ├── Error.cshtml │ │ │ ├── _Layout.cshtml │ │ │ └── _ValidationScriptsPartial.cshtml │ │ ├── _ViewImports.cshtml │ │ └── _ViewStart.cshtml │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ ├── hostedService.csproj │ │ └── wwwroot │ │ ├── Archivo 1.txt │ │ ├── Archivo 2.txt │ │ ├── css │ │ └── site.css │ │ ├── favicon.ico │ │ ├── js │ │ └── site.js │ │ └── librerias │ │ ├── bootstrap │ │ ├── LICENSE │ │ └── dist │ │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ └── bootstrap.min.css.map │ │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ │ ├── jquery-validation-unobtrusive │ │ ├── LICENSE.txt │ │ ├── jquery.validate.unobtrusive.js │ │ └── jquery.validate.unobtrusive.min.js │ │ ├── jquery-validation │ │ ├── LICENSE.md │ │ └── dist │ │ │ ├── additional-methods.js │ │ │ ├── additional-methods.min.js │ │ │ ├── jquery.validate.js │ │ │ └── jquery.validate.min.js │ │ └── jquery │ │ ├── LICENSE.txt │ │ └── dist │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ └── jquery.min.map ├── Modulo 5 - Manipulando Recursos │ └── WebApiModulo5 │ │ ├── WebApiModulo5.sln │ │ └── WebApiModulo5 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20190120142836_Initial.Designer.cs │ │ ├── 20190120142836_Initial.cs │ │ ├── 20190121123418_Datos-Libros.Designer.cs │ │ ├── 20190121123418_Datos-Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ └── LibroDTO.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo5.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 6 - Configuraciones │ └── WebApiModulo6 │ │ ├── WebApiModulo6.sln │ │ └── WebApiModulo6 │ │ ├── Controllers │ │ └── ValuesController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo6.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 7 - Seguridad │ └── WebApiModulo7 │ │ ├── WebApiModulo7.sln │ │ └── WebApiModulo7 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── CuentasController.cs │ │ ├── UsuariosController.cs │ │ └── ValuesController.cs │ │ ├── Migrations │ │ ├── 20190127132515_sistema_login.Designer.cs │ │ ├── 20190127132515_sistema_login.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── ApplicationUser.cs │ │ ├── HashResult.cs │ │ ├── UserInfo.cs │ │ └── UserToken.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Services │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── WebApiModulo7.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 8 - Escenarios Avanzados │ └── WebApiModulo8 │ │ ├── WebApiModulo8.sln │ │ └── WebApiModulo8 │ │ ├── Contexts │ │ └── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── V1 │ │ │ ├── AutoresController.cs │ │ │ ├── RootController.cs │ │ │ └── ValuesController.cs │ │ └── V2 │ │ │ └── AutoresController.cs │ │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Helpers │ │ ├── GeneradorEnlaces.cs │ │ ├── HATEOASAuthorFilterAttribute.cs │ │ ├── HATEOASAuthorsFilterAttribute.cs │ │ ├── HATEOASFilterAttribute.cs │ │ └── HttpHeaderIsPresentAttribute.cs │ │ ├── Migrations │ │ ├── 20190203140707_Initial.Designer.cs │ │ ├── 20190203140707_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Models │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── ColeccionDeRecursos.cs │ │ ├── Enlace.cs │ │ ├── LibroDTO.cs │ │ └── Recurso.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebApiModulo8.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json └── Modulo 9 - Pruebas Automaticas │ ├── Introduccion │ ├── Introduccion.sln │ ├── Introduccion │ │ ├── Entities │ │ │ └── Cuenta.cs │ │ ├── Introduccion.csproj │ │ ├── Program.cs │ │ └── Services │ │ │ ├── IServicioValidacionesDeTransferencias.cs │ │ │ ├── ServicioDeTransferencias.cs │ │ │ ├── ServicioDeTransferenciasSinMocks.cs │ │ │ └── ServicioValidacionesDeTransferencias.cs │ └── ProyectoPruebas │ │ ├── ProyectoPruebas.csproj │ │ ├── TransferenciasTestsConMocks.cs │ │ └── TransferenciasTestsSinMocks.cs │ └── WebApiModulo9 │ ├── WebApiModulo9.sln │ ├── WebApiModulo9 │ ├── Contexts │ │ └── ApplicationDbContext.cs │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── ValuesController.cs │ ├── Entities │ │ ├── Autor.cs │ │ └── Libro.cs │ ├── Migrations │ │ ├── 20190318031249_Initial.Designer.cs │ │ ├── 20190318031249_Initial.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ ├── Program.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Services │ │ ├── IRepositorioAutores.cs │ │ └── RepositorioAutores.cs │ ├── Startup.cs │ ├── WebApiModulo9.csproj │ ├── appsettings.Development.json │ └── appsettings.json │ ├── WebApiPruebasDeIntegracion │ ├── AutoresControllerTests.cs │ ├── Mocks │ │ └── RepositorioAutoresMock.cs │ ├── Properties │ │ └── launchSettings.json │ ├── SaltarseRequerimientosHandle.cs │ ├── UsuarioFalsoFilter.cs │ ├── ValuesControllerTests.cs │ └── WebApiPruebasDeIntegracion.csproj │ └── WebApiPruebasUnitarias │ ├── AutoresControllerTests.cs │ └── WebApiPruebasUnitarias.csproj ├── ASP.NET Core 6 ├── Modulo 10 - Despliegues │ └── WebAPIAutores │ │ ├── WebAPIAutores.Tests │ │ ├── Mocks │ │ │ ├── AuthorizationServiceMock.cs │ │ │ └── URLHelperMock.cs │ │ ├── PruebasUnitarias │ │ │ ├── PrimeraLetraMayusculaAttributeTests.cs │ │ │ └── RootControllerTests.cs │ │ └── WebAPIAutores.Tests.csproj │ │ ├── WebAPIAutores.sln │ │ ├── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ │ ├── V1 │ │ │ │ ├── AutoresController.cs │ │ │ │ ├── ComentariosController.cs │ │ │ │ ├── CuentasController.cs │ │ │ │ ├── LibrosController.cs │ │ │ │ └── RootController.cs │ │ │ └── V2 │ │ │ │ └── AutoresController.cs │ │ ├── DTOs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ColeccionDeRecursos.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── CredencialesUsuario.cs │ │ │ ├── DatoHATEOAS.cs │ │ │ ├── EditarAdminDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ ├── LibroPatchDTO.cs │ │ │ ├── PaginacionDTO.cs │ │ │ ├── Recurso.cs │ │ │ ├── RespuestaAutenticacion.cs │ │ │ └── ResultadoHash.cs │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ └── Libro.cs │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ ├── ServiceDependencies │ │ │ │ └── WebAPIAutores20210616113559 - Web Deploy │ │ │ │ │ ├── mssql1.arm.json │ │ │ │ │ └── profile.arm.json │ │ │ ├── launchSettings.json │ │ │ ├── serviceDependencies.WebAPIAutores20210616113559 - Web Deploy.json │ │ │ └── serviceDependencies.json │ │ ├── Servicios │ │ │ ├── GeneradorEnlaces.cs │ │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── Utilidades │ │ │ ├── AgregarParametroHATEOAS.cs │ │ │ ├── AgregarParametroXVersion.cs │ │ │ ├── AutoMapperProfiles.cs │ │ │ ├── CabeceraEstaPresenteAttribute.cs │ │ │ ├── HATEOASAutorFilterAttribute.cs │ │ │ ├── HATEOASFiltroAttribute.cs │ │ │ ├── HttpContextExtensions.cs │ │ │ ├── IQueryableExtensions.cs │ │ │ └── SwaggerAgrupaPorVersion.cs │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ │ └── azure-pipelines.yml ├── Modulo 11 - Proyecto Final │ └── PeliculasAPI │ │ ├── PeliculasAPI.Tests │ │ ├── AllowAnonymousHandler.cs │ │ ├── BasePruebas.cs │ │ ├── LocalDbDatabaseInitializer.cs │ │ ├── PeliculasAPI.Tests.csproj │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── PruebasDeIntegracion │ │ │ ├── GenerosControllerTests.cs │ │ │ └── ReviewsControllerTests.cs │ │ ├── PruebasUnitarias │ │ │ ├── ActoresControllerTests.cs │ │ │ ├── CuentasControllerTests.cs │ │ │ ├── GenerosControllerTests.cs │ │ │ ├── PeliculasControllerTests.cs │ │ │ ├── ReviewsControllerTests.cs │ │ │ └── SalasDeCineControllerTests.cs │ │ └── UsuarioFalsoFiltro.cs │ │ ├── PeliculasAPI.sln │ │ └── PeliculasAPI │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── ActoresController.cs │ │ ├── CuentasController.cs │ │ ├── CustomBaseController.cs │ │ ├── GenerosController.cs │ │ ├── PeliculasController.cs │ │ ├── ReviewController.cs │ │ └── SalasDeCineController.cs │ │ ├── DTOs │ │ ├── ActorCreacionDTO.cs │ │ ├── ActorDTO.cs │ │ ├── ActorPatchDTO.cs │ │ ├── ActorPeliculaDetalleDTO.cs │ │ ├── ActorPeliculasCreacionDTO.cs │ │ ├── EditarRolDTO.cs │ │ ├── FiltroPeliculasDTO.cs │ │ ├── GeneroCreacionDTO.cs │ │ ├── GeneroDTO.cs │ │ ├── PaginacionDTO.cs │ │ ├── PeliculaCreacionDTO.cs │ │ ├── PeliculaDTO.cs │ │ ├── PeliculaDetallesDTO.cs │ │ ├── PeliculaPatchDTO.cs │ │ ├── PeliculasIndexDTO.cs │ │ ├── ReviewCreacionDTO.cs │ │ ├── ReviewDTO.cs │ │ ├── SalaDeCineCercanoDTO.cs │ │ ├── SalaDeCineCercanoFiltroDTO.cs │ │ ├── SalaDeCineCreacionDTO.cs │ │ ├── SalaDeCineDTO.cs │ │ ├── UserInfo.cs │ │ ├── UserToken.cs │ │ └── UsuarioDTO.cs │ │ ├── Entidades │ │ ├── Actor.cs │ │ ├── Genero.cs │ │ ├── IId.cs │ │ ├── Pelicula.cs │ │ ├── PeliculasActores.cs │ │ ├── PeliculasGeneros.cs │ │ ├── PeliculasSalasDeCine.cs │ │ ├── Review.cs │ │ └── SalaDeCine.cs │ │ ├── Helpers │ │ ├── AutoMapperProfiles.cs │ │ ├── CreateMap.cs │ │ ├── HttpContextExtensions.cs │ │ ├── PeliculaExisteAttribute.cs │ │ ├── QueryableExtensions.cs │ │ └── TypeBinder.cs │ │ ├── Migrations │ │ ├── 20200517133912_Initial.Designer.cs │ │ ├── 20200517133912_Initial.cs │ │ ├── 20200522005423_Actores.Designer.cs │ │ ├── 20200522005423_Actores.cs │ │ ├── 20200603001757_Peliculas.Designer.cs │ │ ├── 20200603001757_Peliculas.cs │ │ ├── 20200607191748_PeliculasActores_PeliculasGeneros.Designer.cs │ │ ├── 20200607191748_PeliculasActores_PeliculasGeneros.cs │ │ ├── 20200607201514_DataPrueba.Designer.cs │ │ ├── 20200607201514_DataPrueba.cs │ │ ├── 20200607201612_DataPrueba2.Designer.cs │ │ ├── 20200607201612_DataPrueba2.cs │ │ ├── 20200623233944_TablasSalasDeCine.Designer.cs │ │ ├── 20200623233944_TablasSalasDeCine.cs │ │ ├── 20200624011129_SalaDeCineUbicacion.Designer.cs │ │ ├── 20200624011129_SalaDeCineUbicacion.cs │ │ ├── 20200624012956_SalaDeCineData.Designer.cs │ │ ├── 20200624012956_SalaDeCineData.cs │ │ ├── 20200624020809_TablasIdentity.Designer.cs │ │ ├── 20200624020809_TablasIdentity.cs │ │ ├── 20200624021120_AdminData.Designer.cs │ │ ├── 20200624021120_AdminData.cs │ │ ├── 20200624023912_TablaReviews.Designer.cs │ │ ├── 20200624023912_TablaReviews.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── PeliculasAPI.csproj │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Servicios │ │ ├── AlmacenadorArchivosAzure.cs │ │ ├── AlmacenadorArchivosLocal.cs │ │ └── IAlmacenadorArchivos.cs │ │ ├── Startup.cs │ │ ├── Validaciones │ │ ├── GrupoTipoArchivo.cs │ │ ├── PesoArchivoValidacion.cs │ │ └── TipoArchivoValidacion.cs │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 12 - API de Suscripciones │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── CreacionFacturas.sql │ │ │ ├── SetearMalaPaga.sql │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ ├── ComentariosController.cs │ │ │ ├── CuentasController.cs │ │ │ ├── CustomBaseController.cs │ │ │ ├── FacturasController.cs │ │ │ ├── LibrosController.cs │ │ │ ├── LlavesAPIController.cs │ │ │ ├── RestriccionesDominioController.cs │ │ │ └── RestriccionesIPController.cs │ │ │ ├── DTOs │ │ │ ├── ActualizarLlaveDTO.cs │ │ │ ├── ActualizarRestriccionDominioDTO.cs │ │ │ ├── ActualizarRestriccionIPDTO.cs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── CrearLlaveDTO.cs │ │ │ ├── CrearRestriccionIPDTO.cs │ │ │ ├── CrearRestriccionesDominioDTO.cs │ │ │ ├── CredencialesUsuario.cs │ │ │ ├── EditarAdminDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ ├── LibroPatchDTO.cs │ │ │ ├── LimitarPeticionesConfiguracion.cs │ │ │ ├── LlaveDTO.cs │ │ │ ├── PagarFacturaDTO.cs │ │ │ ├── RespuestaAutenticacion.cs │ │ │ ├── RestriccionDominioDTO.cs │ │ │ ├── RestriccionIPDTO.cs │ │ │ └── ResultadoHash.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ ├── Factura.cs │ │ │ ├── FacturaEmitida.cs │ │ │ ├── Libro.cs │ │ │ ├── LlaveAPI.cs │ │ │ ├── Peticion.cs │ │ │ ├── RestriccionDominio.cs │ │ │ ├── RestriccionIP.cs │ │ │ └── Usuario.cs │ │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ │ ├── Middlewares │ │ │ ├── LimitarPeticionesMiddlewareExtensions.cs │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ │ ├── 20210831142633_Llaves.Designer.cs │ │ │ ├── 20210831142633_Llaves.cs │ │ │ ├── 20210906140215_Peticiones.Designer.cs │ │ │ ├── 20210906140215_Peticiones.cs │ │ │ ├── 20210906150805_Restricciones.Designer.cs │ │ │ ├── 20210906150805_Restricciones.cs │ │ │ ├── 20210907135931_UsuarioMalaPaga.Designer.cs │ │ │ ├── 20210907135931_UsuarioMalaPaga.cs │ │ │ ├── 20210907141216_Facturas.Designer.cs │ │ │ ├── 20210907141216_Facturas.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Servicios │ │ │ ├── FacturasHostedService.cs │ │ │ ├── HashService.cs │ │ │ └── ServicioLlaves.cs │ │ │ ├── Startup.cs │ │ │ ├── Utilidades │ │ │ └── AutoMapperProfiles.cs │ │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ ├── prueba.html │ │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── ComentariosController.cs │ │ ├── CuentasController.cs │ │ └── LibrosController.cs │ │ ├── DTOs │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── AutorDTOConLibros.cs │ │ ├── ComentarioCreacionDTO.cs │ │ ├── ComentarioDTO.cs │ │ ├── CredencialesUsuario.cs │ │ ├── EditarAdminDTO.cs │ │ ├── LibroCreacionDTO.cs │ │ ├── LibroDTO.cs │ │ ├── LibroDTOConAutores.cs │ │ ├── LibroPatchDTO.cs │ │ ├── RespuestaAutenticacion.cs │ │ └── ResultadoHash.cs │ │ ├── Entidades │ │ ├── Autor.cs │ │ ├── AutorLibro.cs │ │ ├── Comentario.cs │ │ └── Libro.cs │ │ ├── Filtros │ │ └── FiltroDeExcepcion.cs │ │ ├── Middlewares │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ ├── 20210604205557_Inicial.Designer.cs │ │ ├── 20210604205557_Inicial.cs │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ ├── 20210604225138_Comentarios.cs │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ ├── 20210606130933_AutoresLibros.cs │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Servicios │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── Utilidades │ │ └── AutoMapperProfiles.cs │ │ ├── Validaciones │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ └── Archivo 1.txt ├── Modulo 2 - Configurando el Ambiente │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── Controllers │ │ └── WeatherForecastController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WeatherForecast.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 3 - Creando Nuestro Primer Web API │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ └── LibrosController.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ └── Libro.cs │ │ │ ├── Migrations │ │ │ ├── 20210518003816_Inicial.Designer.cs │ │ │ ├── 20210518003816_Inicial.cs │ │ │ ├── 20210519130531_Libros.Designer.cs │ │ │ ├── 20210519130531_Libros.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ └── appsettings.json │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── Controllers │ │ └── WeatherForecastController.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WeatherForecast.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 4 - Fundamentos de ASP.NET Core │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ └── LibrosController.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ └── Libro.cs │ │ │ ├── Filtros │ │ │ ├── FiltroDeExcepcion.cs │ │ │ └── MiFiltroDeAccion.cs │ │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ │ ├── Migrations │ │ │ ├── 20210518003816_Inicial.Designer.cs │ │ │ ├── 20210518003816_Inicial.cs │ │ │ ├── 20210519130531_Libros.Designer.cs │ │ │ ├── 20210519130531_Libros.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Servicios │ │ │ ├── EscribirEnArchivo.cs │ │ │ └── IServicio.cs │ │ │ ├── Startup.cs │ │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── LibrosController.cs │ │ ├── Entidades │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Migrations │ │ ├── 20210518003816_Inicial.Designer.cs │ │ ├── 20210518003816_Inicial.cs │ │ ├── 20210519130531_Libros.Designer.cs │ │ ├── 20210519130531_Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ └── appsettings.json ├── Modulo 5 - Manipulando Recursos │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ ├── ComentariosController.cs │ │ │ └── LibrosController.cs │ │ │ ├── DTOs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ └── LibroPatchDTO.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ └── Libro.cs │ │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── Utilidades │ │ │ └── AutoMapperProfiles.cs │ │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ └── LibrosController.cs │ │ ├── Entidades │ │ ├── Autor.cs │ │ └── Libro.cs │ │ ├── Filtros │ │ ├── FiltroDeExcepcion.cs │ │ └── MiFiltroDeAccion.cs │ │ ├── Middlewares │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ ├── 20210518003816_Inicial.Designer.cs │ │ ├── 20210518003816_Inicial.cs │ │ ├── 20210519130531_Libros.Designer.cs │ │ ├── 20210519130531_Libros.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Servicios │ │ ├── EscribirEnArchivo.cs │ │ └── IServicio.cs │ │ ├── Startup.cs │ │ ├── Validaciones │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ └── Archivo 1.txt ├── Modulo 6 - Configuraciones │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ ├── ComentariosController.cs │ │ │ └── LibrosController.cs │ │ │ ├── DTOs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ └── LibroPatchDTO.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ └── Libro.cs │ │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Startup.cs │ │ │ ├── Utilidades │ │ │ └── AutoMapperProfiles.cs │ │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── ComentariosController.cs │ │ └── LibrosController.cs │ │ ├── DTOs │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── AutorDTOConLibros.cs │ │ ├── ComentarioCreacionDTO.cs │ │ ├── ComentarioDTO.cs │ │ ├── LibroCreacionDTO.cs │ │ ├── LibroDTO.cs │ │ ├── LibroDTOConAutores.cs │ │ └── LibroPatchDTO.cs │ │ ├── Entidades │ │ ├── Autor.cs │ │ ├── AutorLibro.cs │ │ ├── Comentario.cs │ │ └── Libro.cs │ │ ├── Filtros │ │ └── FiltroDeExcepcion.cs │ │ ├── Middlewares │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ ├── 20210604205557_Inicial.Designer.cs │ │ ├── 20210604205557_Inicial.cs │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ ├── 20210604225138_Comentarios.cs │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ ├── 20210606130933_AutoresLibros.cs │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── Utilidades │ │ └── AutoMapperProfiles.cs │ │ ├── Validaciones │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ └── Archivo 1.txt ├── Modulo 7 - Seguridad │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── AutoresController.cs │ │ │ ├── ComentariosController.cs │ │ │ ├── CuentasController.cs │ │ │ └── LibrosController.cs │ │ │ ├── DTOs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── CredencialesUsuario.cs │ │ │ ├── EditarAdminDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ ├── LibroPatchDTO.cs │ │ │ ├── RespuestaAutenticacion.cs │ │ │ └── ResultadoHash.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ └── Libro.cs │ │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Servicios │ │ │ └── HashService.cs │ │ │ ├── Startup.cs │ │ │ ├── Utilidades │ │ │ └── AutoMapperProfiles.cs │ │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── ComentariosController.cs │ │ └── LibrosController.cs │ │ ├── DTOs │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── AutorDTOConLibros.cs │ │ ├── ComentarioCreacionDTO.cs │ │ ├── ComentarioDTO.cs │ │ ├── LibroCreacionDTO.cs │ │ ├── LibroDTO.cs │ │ ├── LibroDTOConAutores.cs │ │ └── LibroPatchDTO.cs │ │ ├── Entidades │ │ ├── Autor.cs │ │ ├── AutorLibro.cs │ │ ├── Comentario.cs │ │ └── Libro.cs │ │ ├── Filtros │ │ └── FiltroDeExcepcion.cs │ │ ├── Middlewares │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ ├── 20210604205557_Inicial.Designer.cs │ │ ├── 20210604205557_Inicial.cs │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ ├── 20210604225138_Comentarios.cs │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ ├── 20210606130933_AutoresLibros.cs │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Startup.cs │ │ ├── Utilidades │ │ └── AutoMapperProfiles.cs │ │ ├── Validaciones │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ └── Archivo 1.txt ├── Modulo 8 - Escenarios Avanzados │ ├── Fin │ │ └── WebAPIAutores │ │ │ ├── WebAPIAutores.sln │ │ │ └── WebAPIAutores │ │ │ ├── ApplicationDbContext.cs │ │ │ ├── Controllers │ │ │ ├── V1 │ │ │ │ ├── AutoresController.cs │ │ │ │ ├── ComentariosController.cs │ │ │ │ ├── CuentasController.cs │ │ │ │ ├── LibrosController.cs │ │ │ │ └── RootController.cs │ │ │ └── V2 │ │ │ │ └── AutoresController.cs │ │ │ ├── DTOs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ColeccionDeRecursos.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── CredencialesUsuario.cs │ │ │ ├── DatoHATEOAS.cs │ │ │ ├── EditarAdminDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ ├── LibroPatchDTO.cs │ │ │ ├── PaginacionDTO.cs │ │ │ ├── Recurso.cs │ │ │ ├── RespuestaAutenticacion.cs │ │ │ └── ResultadoHash.cs │ │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ └── Libro.cs │ │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ │ ├── Program.cs │ │ │ ├── Properties │ │ │ └── launchSettings.json │ │ │ ├── Servicios │ │ │ ├── GeneradorEnlaces.cs │ │ │ └── HashService.cs │ │ │ ├── Startup.cs │ │ │ ├── Utilidades │ │ │ ├── AgregarParametroHATEOAS.cs │ │ │ ├── AgregarParametroXVersion.cs │ │ │ ├── AutoMapperProfiles.cs │ │ │ ├── CabeceraEstaPresenteAttribute.cs │ │ │ ├── HATEOASAutorFilterAttribute.cs │ │ │ ├── HATEOASFiltroAttribute.cs │ │ │ ├── HttpContextExtensions.cs │ │ │ ├── IQueryableExtensions.cs │ │ │ └── SwaggerAgrupaPorVersion.cs │ │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ │ ├── WebAPIAutores.csproj │ │ │ ├── appsettings.Development.json │ │ │ ├── appsettings.json │ │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ └── Inicio │ │ └── WebAPIAutores │ │ ├── WebAPIAutores.sln │ │ └── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ ├── AutoresController.cs │ │ ├── ComentariosController.cs │ │ ├── CuentasController.cs │ │ └── LibrosController.cs │ │ ├── DTOs │ │ ├── AutorCreacionDTO.cs │ │ ├── AutorDTO.cs │ │ ├── AutorDTOConLibros.cs │ │ ├── ComentarioCreacionDTO.cs │ │ ├── ComentarioDTO.cs │ │ ├── CredencialesUsuario.cs │ │ ├── EditarAdminDTO.cs │ │ ├── LibroCreacionDTO.cs │ │ ├── LibroDTO.cs │ │ ├── LibroDTOConAutores.cs │ │ ├── LibroPatchDTO.cs │ │ ├── RespuestaAutenticacion.cs │ │ └── ResultadoHash.cs │ │ ├── Entidades │ │ ├── Autor.cs │ │ ├── AutorLibro.cs │ │ ├── Comentario.cs │ │ └── Libro.cs │ │ ├── Filtros │ │ └── FiltroDeExcepcion.cs │ │ ├── Middlewares │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ ├── 20210604205557_Inicial.Designer.cs │ │ ├── 20210604205557_Inicial.cs │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ ├── 20210604225138_Comentarios.cs │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ ├── 20210606130933_AutoresLibros.cs │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ └── launchSettings.json │ │ ├── Servicios │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── Utilidades │ │ └── AutoMapperProfiles.cs │ │ ├── Validaciones │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ └── Archivo 1.txt └── Modulo 9 - Pruebas Automaticas │ ├── Fin │ └── WebAPIAutores │ │ ├── WebAPIAutores.Tests │ │ ├── Mocks │ │ │ ├── AuthorizationServiceMock.cs │ │ │ └── URLHelperMock.cs │ │ ├── PruebasUnitarias │ │ │ ├── PrimeraLetraMayusculaAttributeTests.cs │ │ │ └── RootControllerTests.cs │ │ └── WebAPIAutores.Tests.csproj │ │ ├── WebAPIAutores.sln │ │ ├── WebAPIAutores │ │ ├── ApplicationDbContext.cs │ │ ├── Controllers │ │ │ ├── V1 │ │ │ │ ├── AutoresController.cs │ │ │ │ ├── ComentariosController.cs │ │ │ │ ├── CuentasController.cs │ │ │ │ ├── LibrosController.cs │ │ │ │ └── RootController.cs │ │ │ └── V2 │ │ │ │ └── AutoresController.cs │ │ ├── DTOs │ │ │ ├── AutorCreacionDTO.cs │ │ │ ├── AutorDTO.cs │ │ │ ├── AutorDTOConLibros.cs │ │ │ ├── ColeccionDeRecursos.cs │ │ │ ├── ComentarioCreacionDTO.cs │ │ │ ├── ComentarioDTO.cs │ │ │ ├── CredencialesUsuario.cs │ │ │ ├── DatoHATEOAS.cs │ │ │ ├── EditarAdminDTO.cs │ │ │ ├── LibroCreacionDTO.cs │ │ │ ├── LibroDTO.cs │ │ │ ├── LibroDTOConAutores.cs │ │ │ ├── LibroPatchDTO.cs │ │ │ ├── PaginacionDTO.cs │ │ │ ├── Recurso.cs │ │ │ ├── RespuestaAutenticacion.cs │ │ │ └── ResultadoHash.cs │ │ ├── Entidades │ │ │ ├── Autor.cs │ │ │ ├── AutorLibro.cs │ │ │ ├── Comentario.cs │ │ │ └── Libro.cs │ │ ├── Filtros │ │ │ └── FiltroDeExcepcion.cs │ │ ├── Middlewares │ │ │ └── LoguearRespuestaHTTPMiddleware.cs │ │ ├── Migrations │ │ │ ├── 20210604205557_Inicial.Designer.cs │ │ │ ├── 20210604205557_Inicial.cs │ │ │ ├── 20210604225138_Comentarios.Designer.cs │ │ │ ├── 20210604225138_Comentarios.cs │ │ │ ├── 20210606130933_AutoresLibros.Designer.cs │ │ │ ├── 20210606130933_AutoresLibros.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ │ │ ├── 20210606185500_FechaPublicacionLibro.cs │ │ │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ │ │ ├── 20210610151744_SistemaUsuarios.cs │ │ │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ │ │ ├── 20210610193244_ComentarioUsuario.cs │ │ │ └── ApplicationDbContextModelSnapshot.cs │ │ ├── Program.cs │ │ ├── Properties │ │ │ └── launchSettings.json │ │ ├── Servicios │ │ │ ├── GeneradorEnlaces.cs │ │ │ └── HashService.cs │ │ ├── Startup.cs │ │ ├── Utilidades │ │ │ ├── AgregarParametroHATEOAS.cs │ │ │ ├── AgregarParametroXVersion.cs │ │ │ ├── AutoMapperProfiles.cs │ │ │ ├── CabeceraEstaPresenteAttribute.cs │ │ │ ├── HATEOASAutorFilterAttribute.cs │ │ │ ├── HATEOASFiltroAttribute.cs │ │ │ ├── HttpContextExtensions.cs │ │ │ ├── IQueryableExtensions.cs │ │ │ └── SwaggerAgrupaPorVersion.cs │ │ ├── Validaciones │ │ │ └── PrimeraLetraMayusculaAttribute.cs │ │ ├── WebAPIAutores.csproj │ │ ├── appsettings.Development.json │ │ ├── appsettings.json │ │ └── wwwroot │ │ │ └── Archivo 1.txt │ │ └── WebAPIAutores2.Tests2 │ │ ├── UnitTest1.cs │ │ └── WebAPIAutores2.Tests2.csproj │ └── Inicio │ └── WebAPIAutores │ ├── WebAPIAutores.sln │ └── WebAPIAutores │ ├── ApplicationDbContext.cs │ ├── Controllers │ ├── V1 │ │ ├── AutoresController.cs │ │ ├── ComentariosController.cs │ │ ├── CuentasController.cs │ │ ├── LibrosController.cs │ │ └── RootController.cs │ └── V2 │ │ └── AutoresController.cs │ ├── DTOs │ ├── AutorCreacionDTO.cs │ ├── AutorDTO.cs │ ├── AutorDTOConLibros.cs │ ├── ColeccionDeRecursos.cs │ ├── ComentarioCreacionDTO.cs │ ├── ComentarioDTO.cs │ ├── CredencialesUsuario.cs │ ├── DatoHATEOAS.cs │ ├── EditarAdminDTO.cs │ ├── LibroCreacionDTO.cs │ ├── LibroDTO.cs │ ├── LibroDTOConAutores.cs │ ├── LibroPatchDTO.cs │ ├── PaginacionDTO.cs │ ├── Recurso.cs │ ├── RespuestaAutenticacion.cs │ └── ResultadoHash.cs │ ├── Entidades │ ├── Autor.cs │ ├── AutorLibro.cs │ ├── Comentario.cs │ └── Libro.cs │ ├── Filtros │ └── FiltroDeExcepcion.cs │ ├── Middlewares │ └── LoguearRespuestaHTTPMiddleware.cs │ ├── Migrations │ ├── 20210604205557_Inicial.Designer.cs │ ├── 20210604205557_Inicial.cs │ ├── 20210604225138_Comentarios.Designer.cs │ ├── 20210604225138_Comentarios.cs │ ├── 20210606130933_AutoresLibros.Designer.cs │ ├── 20210606130933_AutoresLibros.cs │ ├── 20210606185500_FechaPublicacionLibro.Designer.cs │ ├── 20210606185500_FechaPublicacionLibro.cs │ ├── 20210610151744_SistemaUsuarios.Designer.cs │ ├── 20210610151744_SistemaUsuarios.cs │ ├── 20210610193244_ComentarioUsuario.Designer.cs │ ├── 20210610193244_ComentarioUsuario.cs │ └── ApplicationDbContextModelSnapshot.cs │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── Servicios │ ├── GeneradorEnlaces.cs │ └── HashService.cs │ ├── Startup.cs │ ├── Utilidades │ ├── AgregarParametroHATEOAS.cs │ ├── AgregarParametroXVersion.cs │ ├── AutoMapperProfiles.cs │ ├── CabeceraEstaPresenteAttribute.cs │ ├── HATEOASAutorFilterAttribute.cs │ ├── HATEOASFiltroAttribute.cs │ ├── HttpContextExtensions.cs │ ├── IQueryableExtensions.cs │ └── SwaggerAgrupaPorVersion.cs │ ├── Validaciones │ └── PrimeraLetraMayusculaAttribute.cs │ ├── WebAPIAutores.csproj │ ├── appsettings.Development.json │ ├── appsettings.json │ └── wwwroot │ └── Archivo 1.txt └── README.md /ASP.NET Core 2.2/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo10.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo10.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo10.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "defaultConnection": "Data Source=(localDb)\\MSSQLLocalDb;Initial Catalog=WebApi_Modulo10;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/Entities/Autor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace MiPrimerWebApiM3.Entities 8 | { 9 | public class Autor 10 | { 11 | public int Id { get; set; } 12 | [Required] 13 | public string Nombre { get; set; } 14 | public List Libros { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/MiPrimerWebApiM3.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.2 5 | InProcess 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=MiPrimerWebApiM3DB;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Helpers/MiFiltroDeExcepcion.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.Filters; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo4.Helpers 8 | { 9 | public class MiFiltroDeExcepcion: ExceptionFilterAttribute 10 | { 11 | public override void OnException(ExceptionContext context) 12 | { 13 | 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Services/ClaseB.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo4.Services 7 | { 8 | public class ClaseB : IClaseB 9 | { 10 | public void HacerAlgo() 11 | { 12 | } 13 | } 14 | 15 | public class ClaseB2 : IClaseB 16 | { 17 | public void HacerAlgo() 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Services/IClaseB.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo4.Services 7 | { 8 | public interface IClaseB 9 | { 10 | void HacerAlgo(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo4;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo5.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo5.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo5.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo5;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 2.2/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.Development.json -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 2.2/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.json -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/ApplicationUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo7.Models 8 | { 9 | public class ApplicationUser: IdentityUser 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/HashResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class HashResult 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Salt { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/UserInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class UserInfo 9 | { 10 | public string Email { get; set; } 11 | public string Password { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/UserToken.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class UserToken 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiration { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/WebApiModulo7.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.2 5 | InProcess 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo7;Integrated Security=True" 4 | }, 5 | "JWT": { 6 | "key": "aKLMSLK3I4JNKNDKJFNKJN545N4J5N4J54H4G44H5JBSSDBNF3453S2223KJNF" 7 | }, 8 | "Logging": { 9 | "LogLevel": { 10 | "Default": "Warning" 11 | } 12 | }, 13 | "AllowedHosts": "*" 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo8.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class ColeccionDeRecursos : Recurso where T : Recurso 9 | { 10 | public List Valores { get; set; } 11 | public ColeccionDeRecursos(List valores) 12 | { 13 | Valores = valores; 14 | } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo8;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Entities/Cuenta.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Introduccion.Entities 6 | { 7 | public class Cuenta 8 | { 9 | public decimal Fondos { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Introduccion.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.2 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Introduccion 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | Console.WriteLine("Hello World!"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Services/IServicioValidacionesDeTransferencias.cs: -------------------------------------------------------------------------------- 1 | using Introduccion.Entities; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Introduccion.Services 7 | { 8 | public interface IServicioValidacionesDeTransferencias 9 | { 10 | string RealizarValidaciones(Cuenta origen, Cuenta destino, decimal montoATransferir); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/Introduccion/ProyectoPruebas/TransferenciasTestsSinMocks.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/Introduccion/ProyectoPruebas/TransferenciasTestsSinMocks.cs -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo9.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/Services/IRepositorioAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using WebApiModulo9.Entities; 6 | 7 | namespace WebApiModulo9.Services 8 | { 9 | public interface IRepositorioAutores 10 | { 11 | Autor ObtenerPorId(int id); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/WebApiModulo9.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.2 5 | InProcess 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo9;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasDeIntegracion/ValuesControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasDeIntegracion/ValuesControllerTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasUnitarias/AutoresControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 2.2/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasUnitarias/AutoresControllerTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo10.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo10.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo10.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "defaultConnection": "Data Source=(localDb)\\MSSQLLocalDb;Initial Catalog=WebApi_Modulo10;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/Entities/Autor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace MiPrimerWebApiM3.Entities 8 | { 9 | public class Autor 10 | { 11 | public int Id { get; set; } 12 | [Required] 13 | public string Nombre { get; set; } 14 | public List Libros { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=MiPrimerWebApiM3DB2;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Helpers/MiFiltroDeExcepcion.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.Filters; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo4.Helpers 8 | { 9 | public class MiFiltroDeExcepcion: ExceptionFilterAttribute 10 | { 11 | public override void OnException(ExceptionContext context) 12 | { 13 | 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Services/ClaseB.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo4.Services 7 | { 8 | public class ClaseB : IClaseB 9 | { 10 | public void HacerAlgo() 11 | { 12 | } 13 | } 14 | 15 | public class ClaseB2 : IClaseB 16 | { 17 | public void HacerAlgo() 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Services/IClaseB.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo4.Services 7 | { 8 | public interface IClaseB 9 | { 10 | void HacerAlgo(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo4;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Models/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace hostedService.Models 4 | { 5 | public class ErrorViewModel 6 | { 7 | public string RequestId { get; set; } 8 | 9 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Models/HostedServiceLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace hostedService.Models 7 | { 8 | public class HostedServiceLog 9 | { 10 | public int Id { get; set; } 11 | public string Message { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |
6 |

Welcome

7 |

Learn about building Web apps with ASP.NET Core.

8 |
9 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |

@ViewData["Title"]

5 | 6 |

Use this page to detail your site's privacy policy.

7 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using hostedService 2 | @using hostedService.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=DemoIHostedService;Trusted_Connection=True;MultipleActiveResultSets=true" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Information", 8 | "Microsoft": "Warning", 9 | "Microsoft.Hosting.Lifetime": "Information" 10 | } 11 | }, 12 | "AllowedHosts": "*" 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your JavaScript code. 5 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo5.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo5.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo5.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo5;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/WebApiModulo6.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.0 5 | InProcess 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.Development.json -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.json -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/ApplicationUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo7.Models 8 | { 9 | public class ApplicationUser: IdentityUser 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/HashResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class HashResult 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Salt { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/UserInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class UserInfo 9 | { 10 | public string Email { get; set; } 11 | public string Password { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/UserToken.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class UserToken 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiration { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo7;Integrated Security=True" 4 | }, 5 | "JWT": { 6 | "key": "aKLMSLK3I4JNKNDKJFNKJN545N4J5N4J54H4G44H5JBSSDBNF3453S2223KJNF" 7 | }, 8 | "Logging": { 9 | "LogLevel": { 10 | "Default": "Warning" 11 | } 12 | }, 13 | "AllowedHosts": "*" 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo8.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class ColeccionDeRecursos : Recurso where T : Recurso 9 | { 10 | public List Valores { get; set; } 11 | public ColeccionDeRecursos(List valores) 12 | { 13 | Valores = valores; 14 | } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo8;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Entities/Cuenta.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Introduccion.Entities 6 | { 7 | public class Cuenta 8 | { 9 | public decimal Fondos { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Introduccion.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | netcoreapp3.0 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Introduccion 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | Console.WriteLine("Hello World!"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Services/IServicioValidacionesDeTransferencias.cs: -------------------------------------------------------------------------------- 1 | using Introduccion.Entities; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Introduccion.Services 7 | { 8 | public interface IServicioValidacionesDeTransferencias 9 | { 10 | string RealizarValidaciones(Cuenta origen, Cuenta destino, decimal montoATransferir); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/Introduccion/ProyectoPruebas/TransferenciasTestsSinMocks.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/Introduccion/ProyectoPruebas/TransferenciasTestsSinMocks.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo9.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/Services/IRepositorioAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using WebApiModulo9.Entities; 6 | 7 | namespace WebApiModulo9.Services 8 | { 9 | public interface IRepositorioAutores 10 | { 11 | Autor ObtenerPorId(int id); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo9;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasDeIntegracion/ValuesControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasDeIntegracion/ValuesControllerTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasUnitarias/AutoresControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.0/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasUnitarias/AutoresControllerTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo10.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo10.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo10.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 10 - Despliegues/WebApiModulo10/WebApiModulo10/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "defaultConnection": "Data Source=(localDb)\\MSSQLLocalDb;Initial Catalog=WebApi_Modulo10;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ActorPatchDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class ActorPatchDTO 10 | { 11 | [Required] 12 | [StringLength(120)] 13 | public string Nombre { get; set; } 14 | public DateTime FechaNacimiento { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ActorPeliculaDetalleDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class ActorPeliculaDetalleDTO 9 | { 10 | public int ActorId { get; set; } 11 | public string Personaje { get; set; } 12 | public string NombrePersona { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ActorPeliculasCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class ActorPeliculasCreacionDTO 9 | { 10 | public int ActorId { get; set; } 11 | public string Personaje { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/EditarRolDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class EditarRolDTO 9 | { 10 | public string UsuarioId { get; set; } 11 | public string NombreRol { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/GeneroCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class GeneroCreacionDTO 10 | { 11 | [Required] 12 | [StringLength(40)] 13 | public string Nombre { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/GeneroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class GeneroDTO: GeneroCreacionDTO 10 | { 11 | public int Id { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/PeliculaDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class PeliculaDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public bool EnCines { get; set; } 13 | public DateTime FechaEstreno { get; set; } 14 | public string Poster { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/PeliculaDetallesDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class PeliculaDetallesDTO: PeliculaDTO 9 | { 10 | public List Generos { get; set; } 11 | public List Actores { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/PeliculasIndexDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class PeliculasIndexDTO 9 | { 10 | public List FuturosEstrenos { get; set; } 11 | public List EnCines { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ReviewCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class ReviewCreacionDTO 10 | { 11 | public string Comentario { get; set; } 12 | [Range(1, 5)] 13 | public int Puntuacion { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/SalaDeCineCercanoDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class SalaDeCineCercanoDTO: SalaDeCineDTO 9 | { 10 | public double DistanciaEnMetros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/SalaDeCineDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class SalaDeCineDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | public double Latitud { get; set; } 13 | public double Longitud { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/UserInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class UserInfo 10 | { 11 | [Required] 12 | public string Email { get; set; } 13 | [Required] 14 | public string Password { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/UserToken.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class UserToken 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/UsuarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class UsuarioDTO 9 | { 10 | public string Id { get; set; } 11 | public string Email { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Entidades/IId.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Entidades 7 | { 8 | public interface IId 9 | { 10 | public int Id { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Entidades/PeliculasGeneros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Entidades 7 | { 8 | public class PeliculasGeneros 9 | { 10 | public int GeneroId { get; set; } 11 | public int PeliculaId { get; set; } 12 | public Genero Genero { get; set; } 13 | public Pelicula Pelicula { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Entidades/PeliculasSalasDeCine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Entidades 7 | { 8 | public class PeliculasSalasDeCine 9 | { 10 | public int PeliculaId { get; set; } 11 | public int SalaDeCineId { get; set; } 12 | public Pelicula Pelicula { get; set; } 13 | public SalaDeCine SalaDeCine { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Helpers/CreateMap.cs: -------------------------------------------------------------------------------- 1 | namespace PeliculasAPI.Helpers 2 | { 3 | internal class CreateMap 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Validaciones/GrupoTipoArchivo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Validaciones 7 | { 8 | public enum GrupoTipoArchivo 9 | { 10 | Imagen 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/Entities/Autor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace MiPrimerWebApiM3.Entities 8 | { 9 | public class Autor 10 | { 11 | public int Id { get; set; } 12 | [Required] 13 | public string Nombre { get; set; } 14 | public List Libros { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 3 - Nuestro Primer Web API/MiPrimerWebApiM3/MiPrimerWebApiM3/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=MiPrimerWebApiM3DB2;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Helpers/MiFiltroDeExcepcion.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Mvc.Filters; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo4.Helpers 8 | { 9 | public class MiFiltroDeExcepcion: ExceptionFilterAttribute 10 | { 11 | public override void OnException(ExceptionContext context) 12 | { 13 | 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Services/ClaseB.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo4.Services 7 | { 8 | public class ClaseB : IClaseB 9 | { 10 | public void HacerAlgo() 11 | { 12 | } 13 | } 14 | 15 | public class ClaseB2 : IClaseB 16 | { 17 | public void HacerAlgo() 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/Services/IClaseB.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo4.Services 7 | { 8 | public interface IClaseB 9 | { 10 | void HacerAlgo(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/WebApiModulo4/WebApiModulo4/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "DefaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo4;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Models/ErrorViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace hostedService.Models 4 | { 5 | public class ErrorViewModel 6 | { 7 | public string RequestId { get; set; } 8 | 9 | public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Models/HostedServiceLog.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace hostedService.Models 7 | { 8 | public class HostedServiceLog 9 | { 10 | public int Id { get; set; } 11 | public string Message { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | } 4 | 5 |
6 |

Welcome

7 |

Learn about building Web apps with ASP.NET Core.

8 |
9 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/Home/Privacy.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Privacy Policy"; 3 | } 4 |

@ViewData["Title"]

5 | 6 |

Use this page to detail your site's privacy policy.

7 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/Shared/_ValidationScriptsPartial.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using hostedService 2 | @using hostedService.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=DemoIHostedService;Trusted_Connection=True;MultipleActiveResultSets=true" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Information", 8 | "Microsoft": "Warning", 9 | "Microsoft.Hosting.Lifetime": "Information" 10 | } 11 | }, 12 | "AllowedHosts": "*" 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/wwwroot/favicon.ico -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 4 - Fundamentos de ASP.NET Core/hostedService/hostedService/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification 2 | // for details on configuring this project to bundle and minify static web assets. 3 | 4 | // Write your JavaScript code. 5 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo5.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo5.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo5.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 5 - Manipulando Recursos/WebApiModulo5/WebApiModulo5/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo5;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/WebApiModulo6.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | netcoreapp3.1 5 | InProcess 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.Development.json -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 6 - Configuraciones/WebApiModulo6/WebApiModulo6/appsettings.json -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/ApplicationUser.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Identity; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo7.Models 8 | { 9 | public class ApplicationUser: IdentityUser 10 | { 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/HashResult.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class HashResult 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Salt { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/UserInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class UserInfo 9 | { 10 | public string Email { get; set; } 11 | public string Password { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/Models/UserToken.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo7.Models 7 | { 8 | public class UserToken 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiration { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 7 - Seguridad/WebApiModulo7/WebApiModulo7/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "connectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo7;Integrated Security=True" 4 | }, 5 | "JWT": { 6 | "key": "aKLMSLK3I4JNKNDKJFNKJN545N4J5N4J54H4G44H5JBSSDBNF3453S2223KJNF" 7 | }, 8 | "Logging": { 9 | "LogLevel": { 10 | "Default": "Warning" 11 | } 12 | }, 13 | "AllowedHosts": "*" 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/AutorCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebApiModulo8.Models 8 | { 9 | public class AutorCreacionDTO 10 | { 11 | [Required] 12 | public string Nombre { get; set; } 13 | public DateTime FechaNacimiento { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class ColeccionDeRecursos : Recurso where T : Recurso 9 | { 10 | public List Valores { get; set; } 11 | public ColeccionDeRecursos(List valores) 12 | { 13 | Valores = valores; 14 | } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/Models/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo8.Models 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 8 - Escenarios Avanzados/WebApiModulo8/WebApiModulo8/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo8;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Entities/Cuenta.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Introduccion.Entities 6 | { 7 | public class Cuenta 8 | { 9 | public decimal Fondos { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Introduccion.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | netcoreapp3.1 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Introduccion 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | Console.WriteLine("Hello World!"); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/Introduccion/Introduccion/Services/IServicioValidacionesDeTransferencias.cs: -------------------------------------------------------------------------------- 1 | using Introduccion.Entities; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Introduccion.Services 7 | { 8 | public interface IServicioValidacionesDeTransferencias 9 | { 10 | string RealizarValidaciones(Cuenta origen, Cuenta destino, decimal montoATransferir); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/Introduccion/ProyectoPruebas/TransferenciasTestsSinMocks.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/Introduccion/ProyectoPruebas/TransferenciasTestsSinMocks.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/Entities/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebApiModulo9.Entities 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/Services/IRepositorioAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using WebApiModulo9.Entities; 6 | 7 | namespace WebApiModulo9.Services 8 | { 9 | public interface IRepositorioAutores 10 | { 11 | Autor ObtenerPorId(int id); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiModulo9/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "ConnectionStrings": { 3 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=WebApi2_2_Modulo9;Integrated Security=True" 4 | }, 5 | "Logging": { 6 | "LogLevel": { 7 | "Default": "Warning" 8 | } 9 | }, 10 | "AllowedHosts": "*" 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasDeIntegracion/ValuesControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasDeIntegracion/ValuesControllerTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasUnitarias/AutoresControllerTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 3.1/Modulo 9 - Pruebas Automaticas/WebApiModulo9/WebApiPruebasUnitarias/AutoresControllerTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores.Tests/PruebasUnitarias/PrimeraLetraMayusculaAttributeTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores.Tests/PruebasUnitarias/PrimeraLetraMayusculaAttributeTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO: Recurso 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ColeccionDeRecursos: Recurso where T: Recurso 9 | { 10 | public List Valores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.Extensions.Logging; 3 | using WebAPIAutores; 4 | 5 | var builder = WebApplication.CreateBuilder(args); 6 | 7 | var startup = new Startup(builder.Configuration); 8 | 9 | startup.ConfigureServices(builder.Services); 10 | 11 | var app = builder.Build(); 12 | 13 | var logger = app.Services.GetService(typeof(ILogger)) as ILogger; 14 | startup.Configure(app, app.Environment, logger); 15 | 16 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/Properties/serviceDependencies.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "mssql1": { 4 | "type": "mssql", 5 | "connectionId": "defaultConnection" 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 10 - Despliegues/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ActorPatchDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class ActorPatchDTO 10 | { 11 | [Required] 12 | [StringLength(120)] 13 | public string Nombre { get; set; } 14 | public DateTime FechaNacimiento { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ActorPeliculaDetalleDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class ActorPeliculaDetalleDTO 9 | { 10 | public int ActorId { get; set; } 11 | public string Personaje { get; set; } 12 | public string NombrePersona { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ActorPeliculasCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class ActorPeliculasCreacionDTO 9 | { 10 | public int ActorId { get; set; } 11 | public string Personaje { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/EditarRolDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class EditarRolDTO 9 | { 10 | public string UsuarioId { get; set; } 11 | public string NombreRol { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/GeneroCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class GeneroCreacionDTO 10 | { 11 | [Required] 12 | [StringLength(40)] 13 | public string Nombre { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/GeneroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class GeneroDTO: GeneroCreacionDTO 10 | { 11 | public int Id { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/PeliculaDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class PeliculaDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public bool EnCines { get; set; } 13 | public DateTime FechaEstreno { get; set; } 14 | public string Poster { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/PeliculaDetallesDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class PeliculaDetallesDTO: PeliculaDTO 9 | { 10 | public List Generos { get; set; } 11 | public List Actores { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/PeliculasIndexDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class PeliculasIndexDTO 9 | { 10 | public List FuturosEstrenos { get; set; } 11 | public List EnCines { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/ReviewCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class ReviewCreacionDTO 10 | { 11 | public string Comentario { get; set; } 12 | [Range(1, 5)] 13 | public int Puntuacion { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/SalaDeCineCercanoDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class SalaDeCineCercanoDTO: SalaDeCineDTO 9 | { 10 | public double DistanciaEnMetros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/SalaDeCineDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class SalaDeCineDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | public double Latitud { get; set; } 13 | public double Longitud { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/UserInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace PeliculasAPI.DTOs 8 | { 9 | public class UserInfo 10 | { 11 | [Required] 12 | public string Email { get; set; } 13 | [Required] 14 | public string Password { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/UserToken.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class UserToken 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/DTOs/UsuarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.DTOs 7 | { 8 | public class UsuarioDTO 9 | { 10 | public string Id { get; set; } 11 | public string Email { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Entidades/IId.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Entidades 7 | { 8 | public interface IId 9 | { 10 | public int Id { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Entidades/PeliculasGeneros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Entidades 7 | { 8 | public class PeliculasGeneros 9 | { 10 | public int GeneroId { get; set; } 11 | public int PeliculaId { get; set; } 12 | public Genero Genero { get; set; } 13 | public Pelicula Pelicula { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Entidades/PeliculasSalasDeCine.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Entidades 7 | { 8 | public class PeliculasSalasDeCine 9 | { 10 | public int PeliculaId { get; set; } 11 | public int SalaDeCineId { get; set; } 12 | public Pelicula Pelicula { get; set; } 13 | public SalaDeCine SalaDeCine { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Helpers/CreateMap.cs: -------------------------------------------------------------------------------- 1 | namespace PeliculasAPI.Helpers 2 | { 3 | internal class CreateMap 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using PeliculasAPI; 3 | 4 | var builder = WebApplication.CreateBuilder(args); 5 | 6 | var startup = new Startup(builder.Configuration); 7 | 8 | startup.ConfigureServices(builder.Services); 9 | 10 | var app = builder.Build(); 11 | 12 | startup.Configure(app, app.Environment); 13 | 14 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/Validaciones/GrupoTipoArchivo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace PeliculasAPI.Validaciones 7 | { 8 | public enum GrupoTipoArchivo 9 | { 10 | Imagen 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 11 - Proyecto Final/PeliculasAPI/PeliculasAPI/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/CreacionFacturas.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/CreacionFacturas.sql -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/SetearMalaPaga.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/SetearMalaPaga.sql -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Controllers/CustomBaseController.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.AspNetCore.Mvc; 3 | 4 | namespace WebAPIAutores.Controllers; 5 | public class CustomBaseController: ControllerBase 6 | { 7 | protected string ObtenerUsuarioId() 8 | { 9 | var usuarioClaim = HttpContext.User.Claims.Where(x => x.Type == "id").FirstOrDefault(); 10 | var usuarioId = usuarioClaim.Value; 11 | return usuarioId; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ActualizarLlaveDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.DTOs; 3 | public class ActualizarLlaveDTO 4 | { 5 | public int LlaveId { get; set; } 6 | public bool ActualizarLlave { get; set; } 7 | public bool Activa { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ActualizarRestriccionDominioDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.ComponentModel.DataAnnotations; 3 | 4 | namespace WebAPIAutores.DTOs; 5 | public class ActualizarRestriccionDominioDTO 6 | { 7 | [Required] 8 | public string Dominio { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ActualizarRestriccionIPDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.ComponentModel.DataAnnotations; 3 | 4 | namespace WebAPIAutores.DTOs; 5 | public class ActualizarRestriccionIPDTO 6 | { 7 | [Required] 8 | public string IP { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/CrearLlaveDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | using WebAPIAutores.Entidades; 3 | 4 | namespace WebAPIAutores.DTOs; 5 | public class CrearLlaveDTO 6 | { 7 | public TipoLlave TipoLlave { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/CrearRestriccionIPDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.ComponentModel.DataAnnotations; 3 | 4 | namespace WebAPIAutores.DTOs; 5 | public class CrearRestriccionIPDTO 6 | { 7 | public int LlaveId { get; set; } 8 | [Required] 9 | public string IP { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/CrearRestriccionesDominioDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | using System.ComponentModel.DataAnnotations; 3 | 4 | namespace WebAPIAutores.DTOs; 5 | public class CrearRestriccionesDominioDTO 6 | { 7 | public int LlaveId { get; set; } 8 | [Required] 9 | public string Dominio { get; set; } 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/LimitarPeticionesConfiguracion.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.DTOs; 3 | public class LimitarPeticionesConfiguracion 4 | { 5 | public int PeticionesPorDiaGratuito { get; set; } 6 | public string[] ListaBlancaRutas { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/LlaveDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.DTOs; 3 | public class LlaveDTO 4 | { 5 | public int Id { get; set; } 6 | public string Llave { get; set; } 7 | public bool Activa { get; set; } 8 | public string TipoLlave { get; set; } 9 | public List RestriccionesDominio { get; set; } 10 | public List RestriccionesIP { get; set; } 11 | } 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/PagarFacturaDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.DTOs; 3 | public class PagarFacturaDTO 4 | { 5 | public int FacturaId { get; set; } 6 | } 7 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/RestriccionDominioDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.DTOs; 3 | public class RestriccionDominioDTO 4 | { 5 | public int Id { get; set; } 6 | public string Dominio { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/RestriccionIPDTO.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.DTOs; 3 | public class RestriccionIPDTO 4 | { 5 | public int Id { get; set; } 6 | public string IP { get; set; } 7 | } 8 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/Factura.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.Entidades; 3 | public class Factura 4 | { 5 | public int Id { get; set; } 6 | public string UsuarioId { get; set; } 7 | public Usuario Usuario { get; set; } 8 | public bool Pagada { get; set; } 9 | public decimal Monto { get; set; } 10 | public DateTime FechaEmision { get; set; } 11 | public DateTime FechaLimiteDePago { get; set; } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/FacturaEmitida.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.Entidades; 3 | public class FacturaEmitida 4 | { 5 | public int Id { get; set; } 6 | public int Mes { get; set; } 7 | public int Año { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/Peticion.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.Entidades; 3 | public class Peticion 4 | { 5 | public int Id { get; set; } 6 | public int LlaveId { get; set; } 7 | public DateTime FechaPeticion { get; set; } 8 | public LlaveAPI Llave { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/RestriccionDominio.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.Entidades; 3 | public class RestriccionDominio 4 | { 5 | public int Id { get; set; } 6 | public int LlaveId { get; set; } 7 | public string Dominio { get; set; } 8 | public LlaveAPI Llave { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/RestriccionIP.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace WebAPIAutores.Entidades; 3 | public class RestriccionIP 4 | { 5 | public int Id { get; set; } 6 | public int LlaveId { get; set; } 7 | public string IP { get; set; } 8 | public LlaveAPI Llave { get; set; } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/Usuario.cs: -------------------------------------------------------------------------------- 1 |  2 | using Microsoft.AspNetCore.Identity; 3 | 4 | namespace WebAPIAutores.Entidades; 5 | public class Usuario: IdentityUser 6 | { 7 | public bool MalaPaga { get; set; } 8 | } 9 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Fin/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 12 - API de Suscripciones/Inicio/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 2 - Configurando el Ambiente/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using WebAPIAutores; 3 | 4 | var builder = WebApplication.CreateBuilder(args); 5 | 6 | var startup = new Startup(builder.Configuration); 7 | 8 | startup.ConfigureServices(builder.Services); 9 | 10 | var app = builder.Build(); 11 | 12 | startup.Configure(app, app.Environment); 13 | 14 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 2 - Configurando el Ambiente/WebAPIAutores/WebAPIAutores/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebAPIAutores 4 | { 5 | public class WeatherForecast 6 | { 7 | public DateTime Date { get; set; } 8 | 9 | public int TemperatureC { get; set; } 10 | 11 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 12 | 13 | public string Summary { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 2 - Configurando el Ambiente/WebAPIAutores/WebAPIAutores/WebAPIAutores.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net6.0 5 | disable 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 2 - Configurando el Ambiente/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 2 - Configurando el Ambiente/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Fin/WebAPIAutores/WebAPIAutores/Entidades/Autor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Autor 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | public List Libros { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Fin/WebAPIAutores/WebAPIAutores/Entidades/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Fin/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using WebAPIAutores; 3 | 4 | var builder = WebApplication.CreateBuilder(args); 5 | 6 | var startup = new Startup(builder.Configuration); 7 | 8 | startup.ConfigureServices(builder.Services); 9 | 10 | var app = builder.Build(); 11 | 12 | startup.Configure(app, app.Environment); 13 | 14 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Fin/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "connectionStrings": { 10 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=CursoWebApis;Integrated Security=True" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Inicio/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using WebAPIAutores; 3 | 4 | var builder = WebApplication.CreateBuilder(args); 5 | 6 | var startup = new Startup(builder.Configuration); 7 | 8 | startup.ConfigureServices(builder.Services); 9 | 10 | var app = builder.Build(); 11 | 12 | startup.Configure(app, app.Environment); 13 | 14 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Inicio/WebAPIAutores/WebAPIAutores/WeatherForecast.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace WebAPIAutores 4 | { 5 | public class WeatherForecast 6 | { 7 | public DateTime Date { get; set; } 8 | 9 | public int TemperatureC { get; set; } 10 | 11 | public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 12 | 13 | public string Summary { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Inicio/WebAPIAutores/WebAPIAutores/WebAPIAutores.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | net6.0 5 | enable 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Inicio/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 3 - Creando Nuestro Primer Web API/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Fin/WebAPIAutores/WebAPIAutores/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Fin/WebAPIAutores/WebAPIAutores/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Fin/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "WebAPIAutores": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | }, 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=CursoWebApis;Integrated Security=True" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Inicio/WebAPIAutores/WebAPIAutores/Entidades/Autor.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Autor 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | public List Libros { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Inicio/WebAPIAutores/WebAPIAutores/Entidades/Libro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Libro 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public int AutorId { get; set; } 13 | public Autor Autor { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Inicio/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using WebAPIAutores; 3 | 4 | var builder = WebApplication.CreateBuilder(args); 5 | 6 | var startup = new Startup(builder.Configuration); 7 | 8 | startup.ConfigureServices(builder.Services); 9 | 10 | var app = builder.Build(); 11 | 12 | startup.Configure(app, app.Environment); 13 | 14 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Inicio/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "connectionStrings": { 10 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=CursoWebApis;Integrated Security=True" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 4 - Fundamentos de ASP.NET Core/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/Entidades/Comentario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Comentario 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | public int LibroId { get; set; } 13 | public Libro Libro { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "WebAPIAutores": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | }, 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=CursoWebApis;Integrated Security=True" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Fin/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Inicio/WebAPIAutores/WebAPIAutores/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Inicio/WebAPIAutores/WebAPIAutores/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Inicio/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "WebAPIAutores": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | }, 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=CursoWebApis;Integrated Security=True" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 5 - Manipulando Recursos/Inicio/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/Entidades/Comentario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Comentario 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | public int LibroId { get; set; } 13 | public Libro Libro { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/appsettings.Development.json -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Fin/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/Entidades/Comentario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Comentario 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | public int LibroId { get; set; } 13 | public Libro Libro { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "WebAPIAutores": "Information", 6 | "Microsoft": "Warning", 7 | "Microsoft.Hosting.Lifetime": "Information" 8 | } 9 | }, 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=(localdb)\\mssqllocaldb;Initial Catalog=CursoWebApis;Integrated Security=True" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*" 10 | } 11 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 6 - Configuraciones/Inicio/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.Extensions.Logging; 3 | using WebAPIAutores; 4 | 5 | var builder = WebApplication.CreateBuilder(args); 6 | 7 | var startup = new Startup(builder.Configuration); 8 | 9 | startup.ConfigureServices(builder.Services); 10 | 11 | var app = builder.Build(); 12 | 13 | var logger = app.Services.GetService(typeof(ILogger)) as ILogger; 14 | startup.Configure(app, app.Environment, logger); 15 | 16 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Fin/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/Entidades/Comentario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class Comentario 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | public int LibroId { get; set; } 13 | public Libro Libro { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/Program.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.AspNetCore.Builder; 2 | using Microsoft.Extensions.Logging; 3 | using WebAPIAutores; 4 | 5 | var builder = WebApplication.CreateBuilder(args); 6 | 7 | var startup = new Startup(builder.Configuration); 8 | 9 | startup.ConfigureServices(builder.Services); 10 | 11 | var app = builder.Build(); 12 | 13 | var logger = app.Services.GetService(typeof(ILogger)) as ILogger; 14 | startup.Configure(app, app.Environment, logger); 15 | 16 | app.Run(); -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/appsettings.Development.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/appsettings.Development.json -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 7 - Seguridad/Inicio/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO: Recurso 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ColeccionDeRecursos: Recurso where T: Recurso 9 | { 10 | public List Valores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Fin/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 8 - Escenarios Avanzados/Inicio/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores.Tests/PruebasUnitarias/PrimeraLetraMayusculaAttributeTests.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores.Tests/PruebasUnitarias/PrimeraLetraMayusculaAttributeTests.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO: Recurso 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ColeccionDeRecursos: Recurso where T: Recurso 9 | { 10 | public List Valores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Fin/WebAPIAutores/WebAPIAutores2.Tests2/UnitTest1.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.VisualStudio.TestTools.UnitTesting; 2 | 3 | namespace WebAPIAutores2.Tests2 4 | { 5 | [TestClass] 6 | public class UnitTest1 7 | { 8 | [TestMethod] 9 | public void TestMethod1() 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTO: Recurso 9 | { 10 | public int Id { get; set; } 11 | public string Nombre { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/AutorDTOConLibros.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class AutorDTOConLibros: AutorDTO 9 | { 10 | public List Libros { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ColeccionDeRecursos.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ColeccionDeRecursos: Recurso where T: Recurso 9 | { 10 | public List Valores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioCreacionDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioCreacionDTO 9 | { 10 | public string Contenido { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ComentarioDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ComentarioDTO 9 | { 10 | public int Id { get; set; } 11 | public string Contenido { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/CredencialesUsuario.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class CredencialesUsuario 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | [Required] 15 | public string Password { get; set; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/EditarAdminDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel.DataAnnotations; 4 | using System.Linq; 5 | using System.Threading.Tasks; 6 | 7 | namespace WebAPIAutores.DTOs 8 | { 9 | public class EditarAdminDTO 10 | { 11 | [Required] 12 | [EmailAddress] 13 | public string Email { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTO.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTO 9 | { 10 | public int Id { get; set; } 11 | public string Titulo { get; set; } 12 | public DateTime FechaPublicacion { get; set; } 13 | //public List Comentarios { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/LibroDTOConAutores.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class LibroDTOConAutores: LibroDTO 9 | { 10 | public List Autores { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/Recurso.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class Recurso 9 | { 10 | public List Enlaces { get; set; } = new List(); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/RespuestaAutenticacion.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class RespuestaAutenticacion 9 | { 10 | public string Token { get; set; } 11 | public DateTime Expiracion { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/DTOs/ResultadoHash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.DTOs 7 | { 8 | public class ResultadoHash 9 | { 10 | public string Hash { get; set; } 11 | public byte[] Sal { get; set; } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/Entidades/AutorLibro.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | 6 | namespace WebAPIAutores.Entidades 7 | { 8 | public class AutorLibro 9 | { 10 | public int LibroId { get; set; } 11 | public int AutorId { get; set; } 12 | public int Orden { get; set; } 13 | public Libro Libro { get; set; } 14 | public Autor Autor { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/Startup.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CSharpWizard/CursoRESTfulAPIsASPNETCore/c2f6f5f0de4526b9fe4e70dd99bb892328a9f1c3/ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/Startup.cs -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | "AllowedHosts": "*", 10 | "connectionStrings": { 11 | "defaultConnection": "Data Source=url_servidor_azure;Initial Catalog=CursoWebApis;Mis credenciales" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ASP.NET Core 6/Modulo 9 - Pruebas Automaticas/Inicio/WebAPIAutores/WebAPIAutores/wwwroot/Archivo 1.txt: -------------------------------------------------------------------------------- 1 | Proceso iniciado 2 | Proceso en ejecución: 01-06-2021 12:03:37 3 | Proceso en ejecución: 01-06-2021 12:03:42 4 | Proceso en ejecución: 01-06-2021 12:03:47 5 | Proceso en ejecución: 01-06-2021 12:03:52 6 | Proceso en ejecución: 01-06-2021 12:03:57 7 | Proceso en ejecución: 01-06-2021 12:04:02 8 | Proceso en ejecución: 01-06-2021 12:04:07 9 | Proceso en ejecución: 01-06-2021 12:04:12 10 | Proceso en ejecución: 01-06-2021 12:04:17 11 | Proceso finalizado 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Repositorio del curso: Construyendo Web APIs con ASP.NET Core 6 2 | 3 | Link del curso: https://felipe-gavilan.azurewebsites.net/api/Redireccion?curso=asp-net-core-web-apis-esp 4 | 5 | En este repositorio encontrarás el código fuente de lo enseñado en el curso de desarrollo de Web APIs con ASP.NET Core 6 6 | 7 | Gracias! 8 | --------------------------------------------------------------------------------