コード例 #1
0
        public async Task <IActionResult> RandomVariant(long key)
        {
            var variants = await _db.TaskVariants
                           .Where(variant => variant.TaskModule.Id == key)
                           .Select(variant => variant.Id)
                           .ToArrayAsync();


            if (variants.Length == 0)
            {
                return(new NotFoundResult());
            }

            var variantId       = variants[new Random().Next(0, variants.Length)];
            var selectedVariant = await _db.TaskVariants
                                  .Include(v => v.TaskModule)
                                  .SingleAsync(v => v.Id == variantId);

            var result = new ContentResult
            {
                StatusCode  = StatusCodes.Status200OK,
                ContentType = "application/json",
                Content     = TaskVariantConverter.ToJson(selectedVariant)
            };

            return(result);
        }
コード例 #2
0
 public TaskVariantsController(GraphLabsContext context, TaskVariantConverter taskVariantConverter)
 {
     _db = context;
     _taskVariantConverter = taskVariantConverter;
 }