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 })); } }
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 })); } }