예제 #1
0
        public ActionResult BulkCreate()
        {
            var vm = new BulkCreateViewModel();

            vm.CreateViewModels.Add(new CreateViewModel());
            return(View(vm));
        }
예제 #2
0
        public async Task <IActionResult> BulkCreate(
            BulkCreateViewModel bulkCreateViewModel)
        {
            IActionResult actionResult = null;

            if (this.ModelState.IsValid)
            {
                var usersCreated = 0;

                var selectedInstanceID = this.InstanceSelector.InstanceID;

                try
                {
                    for (var i = 0; i < bulkCreateViewModel.Amount; i++)
                    {
                        var user = new Attendee
                        {
                            InstanceID  = selectedInstanceID,
                            UserNumber  = DataUtils.GenerateNumber(),
                            CreatedDate = DateTime.UtcNow
                        };

                        user.ModifiedDate = user.CreatedDate;

                        this.DatabaseContext.Add(user);

                        await this.DatabaseContext.SaveChangesAsync();

                        usersCreated++;
                    }

                    bulkCreateViewModel.AmountCreated = usersCreated;

                    actionResult = this.RedirectToAction(
                        nameof(this.BulkCreateSuccess),
                        bulkCreateViewModel);
                }
                catch (Exception)
                {
                    bulkCreateViewModel.AmountCreated = usersCreated;

                    actionResult = this.RedirectToAction(
                        nameof(this.BulkCreateFailed),
                        bulkCreateViewModel);
                }
            }
            else
            {
                actionResult = this.View(bulkCreateViewModel);
            }

            return(actionResult);
        }
예제 #3
0
        public async Task <IActionResult> BulkCreateConfirmation(int amount)
        {
            var viewModel = new BulkCreateViewModel();

            viewModel.Amount = amount;
            int usersCreated = 0;
            int maxUsers     = 2000;

            try
            {
                if (amount < 1)
                {
                    throw new ApplicationException("Amount to create must be greater than 0");
                }

                if (amount > maxUsers)
                {
                    throw new ApplicationException($"Amount to create must be less than {maxUsers}");
                }


                for (var i = 0; i < amount; i++)
                {
                    var  dataUtils = new DataUtils();
                    User user      = new User();
                    user.UserNumber   = dataUtils.GenerateNumber();
                    user.CreatedDate  = DateTime.UtcNow;
                    user.ModifiedDate = user.CreatedDate;
                    _context.Add(user);
                    await _context.SaveChangesAsync();

                    usersCreated++;
                }

                viewModel.AmountCreated = usersCreated;
                viewModel.Success       = true;

                return(View("BulkCreateSuccess", viewModel));
            }catch (Exception ex)
            {
                viewModel.Success       = false;
                viewModel.AmountCreated = usersCreated;
                viewModel.ErrorMessage  = $"An error occurred while trying to Bulk Create Users. Error: {ex.Message}.";
                return(View("BulkCreateFailed", viewModel));
            }
        }
예제 #4
0
        public ActionResult BulkCreate(BulkCreateViewModel viewModel)
        {
            var userId = ClaimsPrincipal.Current.FindFirst("user_id").Value;

            foreach (var createViewModel in viewModel.CreateViewModels)
            {
                if (!string.IsNullOrEmpty(createViewModel.Name))
                {
                    var existing = Db.Single <Lift>(x => x.UserId == userId && x.Name == createViewModel.Name && !x.IsDeleted);
                    if (existing == null)
                    {
                        var lift = Mapper.Map <Lift>(createViewModel);
                        lift.UserId = userId;
                        Db.Insert(lift);
                    }
                }
            }

            return(RedirectToAction(nameof(Index)));
        }
예제 #5
0
 public IActionResult BulkCreateSuccess(
     BulkCreateViewModel bulkCreateViewModel)
 {
     return(this.View(bulkCreateViewModel));
 }
예제 #6
0
 public IActionResult BulkCreateFailed(
     BulkCreateViewModel bulkCreateViewModel)
 {
     return(this.View(bulkCreateViewModel));
 }
예제 #7
0
        public IActionResult BulkCreate()
        {
            var viewModel = new BulkCreateViewModel();

            return(this.View(viewModel));
        }