Пример #1
0
        private Task InsertUserQuestionsLog(string userId, int questionId, int points, ILogger log)
        {
            log.LogInformation($"Inserting new log : UserId {userId}, questionId {questionId}, points {points}");

            var toInsert = new UserQuestionsLog
            {
                Id            = Guid.NewGuid().ToString(),
                IdUser        = userId,
                IdQuestion    = questionId.ToString(),
                QuestionPoint = points,
                QuestionDone  = points > 0
            };

            _userQuestionLogContainer.CreateItemAsync(toInsert);
            return(Task.CompletedTask);
        }
Пример #2
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "question/abandon")] HttpRequest req,
            [CosmosDB(databaseName: Constants.DATABASE_NAME,
                      collectionName: Constants.USERS_QUESTIONS_COLLECTION_NAME,
                      ConnectionStringSetting = Constants.CONNECTION_STRING)] IAsyncCollector <object> userQuestionsLog,
            ILogger log)
        {
            try
            {
                log.LogInformation("C# HTTP trigger function processed a request.");

                string name = req.Query["name"];

                string  requestBody = await new StreamReader(req.Body).ReadToEndAsync();
                dynamic data        = JsonConvert.DeserializeObject(requestBody);
                string  userId      = data?.userId;
                int     questionId  = data?.questionId;

                var newUserQuestionsLog = new UserQuestionsLog
                {
                    Id            = Guid.NewGuid().ToString(),
                    IdUser        = userId,
                    IdQuestion    = questionId.ToString(),
                    QuestionDone  = false,
                    QuestionPoint = 0
                };

                await userQuestionsLog.AddAsync(newUserQuestionsLog);

                return(new OkObjectResult(newUserQuestionsLog));
            }
            catch (Exception ex)
            {
                log.LogError($"Couldn't insert item in userQuestionsLog. Exception thrown: {ex.Message}");
                return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
            }
        }