コード例 #1
0
        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());
        }