Exemple #1
0
        public async Task <IActionResult> Create([Bind("CodCategoria,Descripcion,Imagen,Fecha")] Categoria categoria)
        {
            if (ModelState.IsValid)
            {
                _context.Add(categoria);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(categoria));
        }
        public async Task <IActionResult> Create([Bind("CodCurso,Descripcion,CodCategoria,Destacado,Fecha")] Curso curso, IFormFile image)
        {
            if (ModelState.IsValid)
            {
                if (image != null)
                {
                    using (var memoryStream = new MemoryStream())
                    {
                        image.OpenReadStream().CopyTo(memoryStream);
                        curso.ImageMimeType = image.ContentType;
                        curso.Imagen        = new byte[memoryStream.Length];
                        curso.Imagen        = memoryStream.ToArray();
                    }
                }

                _context.Add(curso);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CodCategoria"] = new SelectList(_context.Categorias, "CodCategoria", "Descripcion", curso.CodCategoria);
            return(View(curso));
        }
Exemple #3
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                Guid _cursoId = Guid.NewGuid();
                var  crear    = new Curso
                {
                    CursoId          = _cursoId,
                    Titulo           = request.Titulo,
                    Descripcion      = request.Descripcion,
                    FechaPublicacion = request.FechaPublicacion
                };

                _context.Curso.Add(crear);
                if (request.ListaInstructor != null)
                {
                    foreach (var id in request.ListaInstructor)
                    {
                        var cursoInstructor = new CursoInstructor
                        {
                            CursoId      = _cursoId,
                            InstructorId = id
                        };
                        _context.CursoInstructor.Add(cursoInstructor);
                    }
                }

                //logica para insertar un prcio al curso creado
                var precioentidad = new Precio
                {
                    CursoId      = _cursoId,
                    PrecioActual = request.Precio,
                    Promocion    = request.Promocion,
                    PrecioId     = Guid.NewGuid()
                };

                _context.Precio.Add(precioentidad);

                var valor = await _context.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se Inserto el Curso");
            }
Exemple #4
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                //eliminar instructor antes de eliminar el curso
                var instrDB = _context.CursoInstructor.Where(x => x.CursoId == request.Id);

                foreach (var Int in instrDB)
                {
                    _context.CursoInstructor.Remove(Int);
                }

                var comtDB = _context.Comentario.Where(x => x.CursoId == request.Id);

                foreach (var cmt in comtDB)
                {
                    _context.Comentario.Remove(cmt);
                }
                var precioDB = _context.Precio.Where(x => x.CursoId == request.Id).FirstOrDefault();

                if (precioDB != null)
                {
                    _context.Precio.Remove(precioDB);
                }


                var eliminar = await _context.Curso.FindAsync(request.Id);

                if (eliminar == null)
                {
                    //throw new Exception("No se Puede Eliminar el Curso");
                    // excepcion creada en la carpeta middelware
                    throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { curso = "No se encontro el curso" });
                }

                _context.Remove(eliminar);
                var valor = await _context.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se Pudieron Guardar los Cambios");
            }
Exemple #5
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var editar = await _context.Curso.FindAsync(request.CursoId);

                if (editar == null)
                {
                    //throw new Exception("El Curso no Existe");
                    throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { curso = "No se encontro el curso" });
                }

                editar.Titulo           = request.Titulo ?? editar.Titulo;
                editar.Descripcion      = request.Descripcion ?? editar.Titulo;
                editar.FechaPublicacion = request.FechaPublicacion ?? editar.FechaPublicacion;

                //actualizar el precio del curso
                var precioentidad = _context.Precio.Where(x => x.CursoId == editar.CursoId).FirstOrDefault();

                if (precioentidad != null)
                {
                    precioentidad.Promocion    = request.Promocion ?? precioentidad.Promocion;
                    precioentidad.PrecioActual = request.Precio ?? precioentidad.PrecioActual;
                }
                else
                {
                    precioentidad = new Precio
                    {
                        PrecioId     = Guid.NewGuid(),
                        PrecioActual = request.Precio ?? 0,
                        Promocion    = request.Promocion ?? 0,
                        CursoId      = editar.CursoId
                    };
                    await _context.Precio.AddAsync(precioentidad);
                }
                ///fin


                if (request.ListaInstructor != null)
                {
                    if (request.ListaInstructor.Count > 0)
                    {
                        //Eliminar los instructores actuales de la base de
                        var instructorDB = _context.CursoInstructor.Where(x => x.CursoId == request.CursoId);
                        foreach (var instructoreliminar in instructorDB)
                        {
                            _context.CursoInstructor.Remove(instructoreliminar);
                        }
                        //fin del procedimeiento para eliminar inst

                        //Agregar instructores que provienen del cliente
                        foreach (var id in request.ListaInstructor)
                        {
                            var nuevoinstructor = new CursoInstructor
                            {
                                CursoId      = request.CursoId,
                                InstructorId = id,
                            }; _context.CursoInstructor.Add(nuevoinstructor);
                            //fin
                        }
                    }
                }
                var valor = await _context.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }
                throw new Exception("No se Edito el Curso");
            }