public async Task <IActionResult> OnPostAsync() { // fetch and populate data Input.CreatedStudents = await CreateUsers(Constants.StudentRole, Input.Students); Input.CreatedLandlords = await CreateUsers(Constants.LandlordRole, Input.Landlords); Input.CreatedAdverts = new List <Advert>(); // create adverts if (Input.Adverts > 0 && string.IsNullOrEmpty(Input.AdvertPlaceholder)) { ModelState.AddModelError("Input.AdvertPlaceholder", "A default advert image must be given if adverts are to be created."); return(Page()); } List <RandomUserDotMeResult> results = GetRandomData(Input.Adverts); foreach (RandomUserDotMeResult result in results) { var userId = await GetRandomUserId(Constants.LandlordRole); var submit = random.NextDouble() >= 0.33; // 2/3 times var accept = random.NextDouble() >= 0.5; // half of the submit times // => 1/3 not submitted, 1/3 not moderated, 1/3 accepted var advert = result.GetAdvert(userId, submit, accept); _context.Advert.Add(advert); // create an upload with the required image var upload = ModelCreator.GetUrlUpload(Input.AdvertPlaceholder, advert, "placeholder"); _context.Upload.Add(upload); Input.CreatedAdverts.Add(advert); } await _context.SaveChangesAsync(); return(Page()); }