Ejemplo n.º 1
0
        public ActionResult Index()
        {
            var users     = RavenSession.Query <User>().Take(100);
            var onboarder = new UserOnboardProcess(RavenSession);

            RavenSession.Advanced.MaxNumberOfRequestsPerSession = 10000;
            foreach (var user in users)
            {
                if (!user.Roles.Contains(UserRoles.AccountAdmin.ToString()))
                {
                    user.Roles.Add(UserRoles.AccountAdmin.ToString());
                }

                if (user.AccountId == 0)
                {
                    var accountId = onboarder.CreateNewAccount();
                    user.AccountId = accountId;

                    if (!user.ClinicIds.Any())
                    {
                        var clinicId = onboarder.CreateNewClinic(accountId, "My Clinic");
                        user.ClinicIds.Add(clinicId);
                    }
                }
            }

            RavenSession.SaveChanges();

            return(View());
        }
Ejemplo n.º 2
0
        public bool Exer()
        {
            //DeleteOldExercises();


            var accounts = RavenSession.Query <Account>().Where(x => !x.ExercisesUpToDate);

            foreach (Account account in accounts)
            {
                var onboardProcess = new UserOnboardProcess(RavenSession);

                onboardProcess.CopyExercises(account.Id);

                account.LastMasterPush    = DateTime.Now;
                account.ExercisesUpToDate = true;

                RavenSession.SaveChanges();
            }



            //var enumerator = RavenSession.Advanced.Stream(exercises);


            //using (var bulkInsert = MvcApplication.Store.BulkInsert())
            //{

            //    while (enumerator.MoveNext())
            //    {
            //        var exer = enumerator.Current.Document;

            //        var copy = exer.Copy();
            //        copy.Id = 0;
            //        copy.AccountId = accountId;
            //        copy.OriginalExercise = exer.Id;
            //        //_ravenSession.Store(copy);

            //        bulkInsert.Store(copy);
            //    }

            //    //_ravenSession.SaveChanges();

            //}

            return(true);
        }
Ejemplo n.º 3
0
        public ActionResult Register(RegisterModel postedModel)
        {
            if (RavenSession.Query <User>().Any(x => x.Email == postedModel.Email))
            {
                ModelState.AddModelError("Email", "An account is already created for this email.");
            }

            if (!ModelState.IsValid)
            {
                return(View(postedModel));
            }

            var onboardProcess = new UserOnboardProcess(RavenSession);
            var user           = onboardProcess.RegisterNewTrial(postedModel.Name, postedModel.Email, Hash(postedModel.Password));

            try
            {
                var emailer = new Emailer(null);
                emailer.SendEmail(EmailEnum.NewAccountOpen, postedModel.Email, string.Empty, 0);
                emailer.SendEmail(EmailEnum.CompanyNewUserNotification, postedModel.Email, string.Empty, 0);

                //SendGridEmailer.NewAccountOpened(postedModel.Email);
                //SendGridEmailer.CompanyNewUserNotification(postedModel.Email);

                var mc = new MailchimpApi();

                if (postedModel.SubscribeToGeneral)
                {
                    mc.SubscribeToGeneralUpdates(postedModel.Email);
                }

                mc.SubscribeToGettingStarted(postedModel.Email);
            }
            catch (Exception)
            {
                //eat it
            }

            FormsAuthHelper.SetAuthenticationCookie(Response, user);

            HighFive("Welcome to your free trial!");

            return(RedirectToAction("Thanks", "Home"));
        }
Ejemplo n.º 4
0
        public bool Exer()
        {
            //DeleteOldExercises();


            var accounts = RavenSession.Query <Account>().Where(x => !x.ExercisesUpToDate);

            foreach (Account account in accounts)
            {
                var onboardProcess = new UserOnboardProcess(RavenSession);

                onboardProcess.CopyExercises(account.Id);

                account.LastMasterPush    = DateTime.Now;
                account.ExercisesUpToDate = true;

                RavenSession.SaveChanges();
            }



            return(true);
        }