Ejemplo n.º 1
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                //Se agrega esta logica para ver si recibimos un guid del frontend, validar para no crear una nuevo
                Guid _cursoId = Guid.NewGuid();

                if (request.CursoId != null)
                {
                    _cursoId = request.CursoId ?? Guid.NewGuid();
                }
                //Inserta datos a la tabla Curso
                var curso = new Curso {
                    CursoId          = _cursoId,
                    Titulo           = request.Titulo,
                    Descripcion      = request.Descripcion,
                    FechaPublicacion = request.FechaPublicacion,
                    FechaCreacion    = DateTime.UtcNow //Que significa utc? Coodinated Universal Time (UTC) es una nomenclatura de tiempo stander
                };

                _context.Add(curso);

                //Inserta datos a la tabla CursoInstructor
                if (request.ListaInstructor != null)
                {
                    foreach (var id in request.ListaInstructor)
                    {
                        var cursoIsntructor = new CursoInstructor {
                            CursoId      = _cursoId,
                            InstructorId = id
                        };
                        _context.CursoInstructor.Add(cursoIsntructor);
                    }
                }

                //Insertar datos a la tabla Precio
                var precioEntidad = new Precio()
                {
                    CursoId         = _cursoId,
                    PrecioActual    = request.Precio,
                    PrecioPromocion = request.PrecioPromocion,
                    PrecioId        = Guid.NewGuid()
                };

                _context.Precio.Add(precioEntidad);

                var valor = await _context.SaveChangesAsync();//Devuelte el numero de operaciones que se esta realizando sobre la data en la db

                //Derrenpete estas insertando solo un curso y ningun instrcutor entonces el valor es 1
                //pero si se inserta un curso y ademas 3 instructor seria 4

                if (valor > 0)
                {
                    return(Unit.Value); //Es mandarle un flak una alerta ;
                }

                throw new Exception("No se Pudo Insertar el Curso");
            }
Ejemplo n.º 2
0
            public async Task <Unit> Handle(Ejecuta request, CancellationToken cancellationToken)
            {
                var curso = new Curso
                {
                    Titulo           = request.Titulo,
                    Descripcion      = request.Descripcion,
                    FechaPublicacion = request.FechaPublicacion
                };

                _context.Add(curso);
                var valor = await _context.SaveChangesAsync();

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

                throw new Exception("No se pudo agregar el curso");
            }