//
        // GET: /DataGenerator/
        public ActionResult GenerateData()
        {
            var repo = RepositoryFactory.GetRepository();
            var model = new DataGeneratorViewModel
                            {
                                DatabaseStatistic = repo.GetDatabaseStatistic()
                            };

            ViewBag.Result = repo.CurrentGeneratorOperationResult;
            return View( model );
        }
        ActionResult DoRepositoryAction( DataGeneratorViewModel model, Func<IRepository, RepositoryOperationResult> action )
        {
            var repo = RepositoryFactory.GetRepository();
            var result = repo.CurrentGeneratorOperationResult;
            if (ModelState.IsValid && result.State != RepositoryOperationResultState.InProcess)
            {
                result = action( repo );
                model.DatabaseStatistic = repo.GetDatabaseStatistic();
            }
            ViewBag.Result = result;

            return View( "GenerateData", model );
        }
 public ActionResult RemoveAllUsers( DataGeneratorViewModel model )
 {
     return DoRepositoryAction( model, repo => repo.RemoveAllUsers() );
 }
 public ActionResult GenerateUserRecords( DataGeneratorViewModel model )
 {
     return DoRepositoryAction(model, repo => repo.GenerateUserRecords( model.UsersNumberForGeneration ));
 }
 public ActionResult GenerateFriendshipRelations( DataGeneratorViewModel model )
 {
     return DoRepositoryAction( model, repo => repo.GenerateFriendshipRelations( model.MinFriends, model.MaxFriends ) );
 }
 public ActionResult GenerateFavoriteMovies( DataGeneratorViewModel model )
 {
     return DoRepositoryAction( model, repo => repo.GenerateFavoriteMovies( model.MinFavoriteMovies, model.MaxFavoriteMovies ) );
 }