Beispiel #1
0
        public async Task <IActionResult> Create(DtoCurso curso)
        {
            byte[] imagen          = null;
            string extensionImagen = null;

            if (curso.Imagen?.Length > 0)
            {
                using (var memstream = new MemoryStream())
                {
                    curso.Imagen.OpenReadStream().CopyTo(memstream);
                    imagen          = memstream.ToArray();
                    extensionImagen = curso.Imagen.ContentType;
                }
            }

            if (ModelState.IsValid)
            {
                var newDbItem = new Curso
                {
                    CodCurso        = curso.CodCurso,
                    Descripcion     = curso.Descripcion,
                    Imagen          = imagen,
                    ExtensionImagen = extensionImagen,
                    CodCategoria    = curso.CodCategoria,
                    Destacado       = curso.Destacado,
                    Fecha           = curso.Fecha
                };

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

                return(RedirectToAction(nameof(Index)));
            }
            return(View(curso));
        }
Beispiel #2
0
        public async Task <IActionResult> Create([Bind("ID,LastName,FirstMidName,EnrollmentDate")] Student student)
        {
            if (ModelState.IsValid)
            {
                _context.Add(student);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(student));
        }
Beispiel #3
0
        public async Task <IActionResult> Create([Bind("CourseID,Title,Credits")] Course course)
        {
            if (ModelState.IsValid)
            {
                _context.Add(course);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(course));
        }
Beispiel #4
0
        public async Task <IActionResult> Create([Bind("EnrollmentID,CourseID,StudentID,Grade")] Enrollment enrollment)
        {
            if (ModelState.IsValid)
            {
                _context.Add(enrollment);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CourseID"]  = new SelectList(_context.Set <Course>(), "CourseID", "CourseID", enrollment.CourseID);
            ViewData["StudentID"] = new SelectList(_context.Student, "ID", "ID", enrollment.StudentID);
            return(View(enrollment));
        }
Beispiel #5
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var comentario = new Comentario
                {
                    ComentarioId    = Guid.NewGuid(),
                    Alumna          = request.Alumno,
                    ComentarioTexto = request.Comentario,
                    CursoId         = request.CursoId
                };



                _cursosContext.Comentario.Add(comentario);



                var result = await _cursosContext.SaveChangesAsync();

                if (result > 0)
                {
                    return(Unit.Value);
                }


                throw new Exception("No se pudo insertar el comentario");
            }
Beispiel #6
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var comentario = await _cursosContext.Comentario.FindAsync(request.Id);


                if (comentario == null)
                {
                    throw new ManejadorExcepcion(System.Net.HttpStatusCode.NotFound, new
                    {
                        mensaje = "No se encontró el comentario"
                    });
                }

                _cursosContext.Remove(comentario);



                var result = await _cursosContext.SaveChangesAsync();


                if (result > 0)
                {
                    return(Unit.Value);
                }



                throw new Exception("No se pudo eliminar el comentario");
            }
Beispiel #7
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                Guid _cursoId = Guid.NewGuid();

                var curso = new Curso()
                {
                    CursoId          = _cursoId,
                    Titulo           = request.Titulo,
                    Descripcion      = request.Descripcion,
                    FechaPublicacion = request.FechaPublicacion,
                    FechaCreacion    = DateTime.UtcNow
                };

                _cursosContext.Curso.Add(curso);


                //Instructores
                if (request.ListaInstructor != null)
                {
                    CursoInstructor cursoInstructor = null;
                    foreach (var id in request.ListaInstructor)
                    {
                        cursoInstructor = new CursoInstructor
                        {
                            CursoId      = _cursoId,
                            InstructorId = id
                        };

                        _cursosContext.CursoInstructor.Add(cursoInstructor);
                    }
                }


                //Precio
                var precioEntidad = new Precio
                {
                    CursoId      = _cursoId,
                    PrecioActual = request.Precio,
                    Promocion    = request.Promocion,
                    PrecioId     = Guid.NewGuid()
                };

                _cursosContext.Precio.Add(precioEntidad);


                var valor = await _cursosContext.SaveChangesAsync();

                if (valor > 0)
                {
                    return(Unit.Value);
                }


                throw new Exception("No se puede insertar el curso");
            }
Beispiel #8
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                //Instructores
                var instructoresBD = _cursosContext.CursoInstructor.Where(c => c.CursoId == request.Id);

                foreach (var instructor in instructoresBD)
                {
                    _cursosContext.CursoInstructor.Remove(instructor);
                }


                //Comentarios
                var comentariosBD = _cursosContext.Comentario.Where(x => x.CursoId == request.Id);

                foreach (var comentario in comentariosBD)
                {
                    _cursosContext.Comentario.Remove(comentario);
                }


                //Precio
                var precioBD = _cursosContext.Precio.Where(x => x.CursoId == request.Id).FirstOrDefault();

                if (precioBD != null)
                {
                    _cursosContext.Precio.Remove(precioBD);
                }


                //Cursos
                var curso = await _cursosContext.Curso.FindAsync(request.Id);

                if (curso == null)
                {
                    throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { Mensaje = "No se encontró el curso" });
                }

                _cursosContext.Remove(curso);

                var resultado = await _cursosContext.SaveChangesAsync();

                if (resultado > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se pudieron guardar los cambios");
            }
Beispiel #9
0
            /// <summary>
            ///
            /// </summary>
            /// <param name="request"></param>
            /// <param name="cancellationToken"></param>
            /// <returns></returns>
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var curso = await _cursosContext.Curso.FindAsync(request.CursoId);


                if (curso == null)
                {
                    throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { Mensaje = "No se encontró el curso" });
                }

                curso.Titulo           = request.Titulo ?? curso.Titulo;
                curso.Descripcion      = request.Descripcion ?? curso.Descripcion;
                curso.FechaPublicacion = request.FechaPublicacion ?? curso.FechaPublicacion;
                curso.FechaCreacion    = DateTime.UtcNow;



                //Precio
                var precioEntidad = _cursosContext.Precio.Where(x => x.CursoId == request.CursoId).FirstOrDefault();

                if (precioEntidad != null)
                {
                    precioEntidad.Promocion    = request.Promocion ?? precioEntidad.Promocion;
                    precioEntidad.PrecioActual = request.Precio ?? precioEntidad.PrecioActual;
                }
                else // Si no tiene un precio, se le agregamos
                {
                    precioEntidad = new Precio
                    {
                        PrecioId     = Guid.NewGuid(),
                        PrecioActual = request.Precio ?? 0,
                        Promocion    = request.Promocion ?? 0,
                        CursoId      = request.CursoId
                    };

                    _cursosContext.Precio.Add(precioEntidad);
                }



                //Instructor
                if (request.ListaInstructor != null)
                {
                    if (request.ListaInstructor.Count > 0)
                    {
                        var instructorBD = _cursosContext.CursoInstructor.Where(c => c.CursoId == request.CursoId);

                        foreach (var instructorEliminar in instructorBD)
                        {
                            _cursosContext.CursoInstructor.Remove(instructorEliminar);
                        }

                        foreach (var id in request.ListaInstructor)
                        {
                            var nuevoInstructor = new CursoInstructor
                            {
                                CursoId      = request.CursoId,
                                InstructorId = id
                            };

                            _cursosContext.CursoInstructor.Add(nuevoInstructor);
                        }
                    }
                }


                var result = await _cursosContext.SaveChangesAsync();

                if (result > 0)
                {
                    return(Unit.Value);
                }

                throw new Exception("No se guardaron los cambios en el curso");
            }