public async Task <ActionResult> PostRespostasAsync(int id, [FromBody] ColetaDto dados)
        {
            var idUsuario = User.GetUserId();

            var coleta = new Coleta
            {
                Data           = dados.Data,
                IdQuestionario = id,
                IdUsuario      = idUsuario,
                Latitude       = dados.Latitude,
                Longitude      = dados.Longitude
            };


            db.Coleta.Add(coleta);

            foreach (var resposta in dados.Respostas)
            {
                db.RespostaColeta.Add(new RespostaColeta
                {
                    IdColetaNavigation = coleta,
                    IdOpcaoResposta    = resposta.IdOpcaoResposta,
                    IdPergunta         = resposta.IdPergunta,
                    Valor = resposta.Valor
                });
            }

            await db.SaveChangesAsync();

            return(NoContent());
        }
示例#2
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='dados'>
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task PostRespostasAsync(this IColetaApiClient operations, int id, ColetaDto dados = default(ColetaDto), CancellationToken cancellationToken = default(CancellationToken))
 {
     await operations.PostRespostasWithHttpMessagesAsync(id, dados, null, cancellationToken).ConfigureAwait(false);
 }
示例#3
0
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='id'>
 /// </param>
 /// <param name='dados'>
 /// </param>
 public static void PostRespostas(this IColetaApiClient operations, int id, ColetaDto dados = default(ColetaDto))
 {
     Task.Factory.StartNew(s => ((IColetaApiClient)s).PostRespostasAsync(id, dados), operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }