Ejemplo n.º 1
0
        public async Task RemoveTeacherFromCourse(TeacherCourseAssociation association)
        {
            await using var connection =
                            new NpgsqlConnection(Environment.GetEnvironmentVariable("DATABASE"));

            await connection.OpenAsync();

            var result = await connection.QueryFirstAsync <Teach>(
                "DELETE FROM _teaches WHERE teacher_id = @teacher AND course_id = @course",
                new { teacher = association.TeacherId, course = association.CourseId });

            await connection.CloseAsync();
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddTeacherToCourse([FromServices] IAssociationRepository repository,
                                                             [FromBody] TeacherCourseAssociation association)
        {
            try
            {
                var result = await repository.AddTeacherToCourse(association);

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> RemoveTeacherFromCourse([FromServices] IAssociationRepository repository,
                                                                  [FromBody] TeacherCourseAssociation association)
        {
            try
            {
                await repository.RemoveTeacherFromCourse(association);

                return(Ok());
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Ejemplo n.º 4
0
        public async Task <Teach> AddTeacherToCourse(TeacherCourseAssociation association)
        {
            await using var connection =
                            new NpgsqlConnection(Environment.GetEnvironmentVariable("DATABASE"));

            await connection.OpenAsync();

            var result = await connection.QueryFirstAsync <Teach>(
                "INSERT INTO _teaches(teacher_id, course_id) VALUES (@teacher, @course)",
                new { teacher = association.TeacherId, course = association.CourseId });

            await connection.CloseAsync();

            return(result);
        }
Ejemplo n.º 5
0
        public async Task RemoveTeacherFromCourse(TeacherCourseAssociation association)
        {
            if (await _dbContext.Teachers.FindAsync(association.TeacherId) == null)
            {
                return;
            }

            if (await _dbContext.Courses.FindAsync(association.CourseId) == null)
            {
                return;
            }

            var result = await _dbContext.Teaches.FirstAsync(teach =>
                                                             teach.TeacherId == association.TeacherId && teach.CourseId == association.CourseId);

            _dbContext.Entry(result).State = EntityState.Deleted;

            await _dbContext.SaveChangesAsync();
        }
Ejemplo n.º 6
0
        public async Task <Teach> AddTeacherToCourse(TeacherCourseAssociation association)
        {
            if (await _dbContext.Teachers.FindAsync(association.TeacherId) == null)
            {
                return(null);
            }

            if (await _dbContext.Courses.FindAsync(association.CourseId) == null)
            {
                return(null);
            }


            var result = await _dbContext.Teaches.AddAsync(new Teach
            {
                TeacherId = association.TeacherId,
                CourseId  = association.CourseId
            });

            await _dbContext.SaveChangesAsync();

            return(result.Entity);
        }