public async Task <IActionResult> Registrar(DadosRegistro dados)
        {
            await using var transaction = await _aulasContext.Database.BeginTransactionAsync();

            try
            {
                _aulasContext.Users.Add(dados.User);
                await _aulasContext.SaveChangesAsync();

                dados.Class.IdUser = dados.User.Id;
                _aulasContext.Classes.Add(dados.Class);
                await _aulasContext.SaveChangesAsync();

                foreach (var schedule in dados.ClassSchedule)
                {
                    schedule.IdClass = dados.Class.Id;
                }

                _aulasContext.AddRange(dados.ClassSchedule);
                await _aulasContext.SaveChangesAsync();

                await transaction.CommitAsync();

                return(Ok());
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                return(StatusCode(500, new { Error = "Não foi possível registrar o usuário.", Exception = ex }));
            }
        }
        public async Task <IActionResult> Registrar(ClassSchedule classSchedule)
        {
            try
            {
                _aulasContext.ClassSchedules.Add(classSchedule);
                await _aulasContext.SaveChangesAsync();

                return(Ok(classSchedule));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { Error = "Não foi possível registrar os detalhes da aula.", Exception = ex }));
            }
        }
예제 #3
0
        public async Task <IActionResult> Registrar(Connections connections)
        {
            try
            {
                _aulasContext.Connections.Add(connections);
                await _aulasContext.SaveChangesAsync();

                return(Ok(connections));
            }
            catch (Exception ex)
            {
                return(StatusCode(500, new { Error = "Não foi possível registrar a conexão.", Exception = ex }));
            }
        }