👋¡Hola a todos los programadores que buscan código fuente libre!👋 Te invito a visitar nuestro canal: ⏩ www.youtube.com/@codigoestudiante Encontrarás sistemas gratuitos ,tutoriales y cursos los cuales podrás descargarlos y aprenderlos ☝
@noxius354 Жыл бұрын
Hermano sos un crack!!
@TheTry_Cat Жыл бұрын
exelente explicacion en todo
@SofiaSoto-mr1qs Жыл бұрын
Que bien explicado, gracias por tu tiempo!
@codigoestudiante Жыл бұрын
Gracias por comentar
@SofiaSoto-mr1qs Жыл бұрын
crack!
@bacongamerYT-i8z Жыл бұрын
Muito bom o curso, vou ser membro!! Canal top
@DavidMares-dc3yk Жыл бұрын
Muy buen video. Gracias. Una pregunta. El curso dice que es nivel académico, Que le hace falta para ser considerado nivel profesional ? Gracias
@luisfernandodeolazabalsche3317 Жыл бұрын
Muchísimas gracias, una consulta para los generic utilizas AddTransiet y los no genéricos utilizas AddScoped esto a que se debe, es que yo suelo utilizar para las Apis AddScoped y no se si es lo correcto.
@codigoestudiante Жыл бұрын
En el caso genérico, su contenido cambia (modelo) por cada solicitud o misma, es por eso que utilizamos el AddTransient para crear una nueva instancia. Con el AddScoped utilizamos la misma instancia por solicitud. Saludos.
@luisfernandodeolazabalsche3317 Жыл бұрын
@@codigoestudiante Muchas gracias por la aclaración ;-)
@alexandreribon5180 Жыл бұрын
Porque o 4 video está oculto?
@codigoestudiante Жыл бұрын
Cada video subido le toma un tiempo en renderizarse en calidad 1080, finalizado ese tiempo se hace publico. Saludos.
@alexandreribon5180 Жыл бұрын
@@codigoestudiante ok, e parabéns pelo trabalho, muito bom!!!!
@Pinbipeluza7 ай бұрын
Hola, quisiera preguntarte qué tan eficiente es una interface genérica? Donde 20 endpoints apunten a el y reciba un objeto de tipo TModel
@matius404 Жыл бұрын
Alguien sabe si en este curso se aplican dizque los principios SOLID?
@jodsuesanchez47852 ай бұрын
Ambos enfoques son complementarios, puedes aplicar SOLID en la implementación de cada capa dentro de una arquitectura en N Capas ... saludos!!
@andresjurgensenalzate5727 Жыл бұрын
Hola Tengo un Error Revise todo el Codigo pero al momento de ejecutar me sale lo siguiente Excepción no controlada System.ArgumentException: 'Cannot instantiate implementation type 'SistemaVenta.DAL.Repositorios.Contrato.IVentaRepository' for service type 'SistemaVenta.DAL.Repositorios.Contrato.IVentaRepository'.' Gracias si me pueden ayudar!!
@EstebanMontoyaHerrera Жыл бұрын
en IOC - Dependencia services.AddTransient(typeof(IGenericRepository), typeof(GenericRepository)); services.AddScoped();
@JohnGalloSilva8 ай бұрын
@@EstebanMontoyaHerrera me sale el mismo error pero ya lo revisé está igual y me sale error
@GM02087 ай бұрын
Verifica que las interfaces sean publicas
@juangabrielchuratapaco71617 ай бұрын
tambien verifica que la herencia este implementada correctamente el parte de VentaRepository : using SistemaVenta.DAL.DBContext; using SistemaVenta.DAL.Repositorios.Contrato; using SistemaVenta.Model; using System.Linq; using System.Threading.Tasks; namespace SistemaVenta.DAL.Repositorios { public class VentaRepository : GenericRepository, IVentaRepository { private readonly DbventaContext _dbContext; //ESTA PARTE DONDE ESTA BASE DBCONTEXT public VentaRepository(DbventaContext dbContext) : base(dbContext) { _dbContext = dbContext; } public async Task Registrar(Venta modelo) { Venta ventaGenerada = new Venta(); using (var transaction = _dbContext.Database.BeginTransaction()) { try { foreach (DetalleVenta dv in modelo.DetalleVenta) { Producto producto_encontrado = _dbContext.Productos.Where(p => p.IdProducto == dv.IdProducto).First(); producto_encontrado.Stock = producto_encontrado.Stock - dv.Cantidad; _dbContext.Productos.Update(producto_encontrado); } await _dbContext.SaveChangesAsync(); NumeroDocumento correlativo = _dbContext.NumeroDocumentos.First(); correlativo.UltimoNumero = correlativo.UltimoNumero + 1; correlativo.FechaRegistro = DateTime.Now; _dbContext.NumeroDocumentos.Update(correlativo); await _dbContext.SaveChangesAsync(); int CantidadDigitos = 4; string ceros = string.Concat(Enumerable.Repeat("0", CantidadDigitos)); string numeroVenta = ceros + correlativo.UltimoNumero.ToString(); numeroVenta = numeroVenta.Substring(numeroVenta.Length - CantidadDigitos, CantidadDigitos); modelo.NumeroDocumento = numeroVenta; await _dbContext.Venta.AddAsync(modelo); await _dbContext.SaveChangesAsync(); ventaGenerada = modelo; transaction.Commit(); } catch { transaction.Rollback(); throw; } return ventaGenerada; } } } }