Beispiel #1
0
        public static void Main(string[] args)
        {
            var startTimeSpan  = TimeSpan.Zero;
            var periodTimeSpan = TimeSpan.FromSeconds(Constants.MapUpdateInterval);

            var timer = new System.Threading.Timer(
                e =>
            {
                DateTime start = DateTime.Now;
                using (ISession session = NHibernateHelper.OpenSession())
                {
                    IQueryable <Map> maps = session.Query <Map>();
                    Console.WriteLine("Map updating started");
                    foreach (Map m in maps)
                    {
                        Console.WriteLine($"Updating map {m.ID}...");
                        m.UpdateAll(session);
                        ImageGen.GenerateImage(m);
                        session.Update(m);
                    }
                }
                TimeSpan diff = DateTime.Now - start;
                Console.WriteLine($"=========Maps updated in {diff.TotalSeconds} seconds========");
            },
                null,
                startTimeSpan,
                periodTimeSpan
                );

            BuildWebHost(args).Run();
        }
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (ModelState.IsValid)
            {
                Console.WriteLine("Model State valid");
                long map_id;
                using (ISession s = NHibernateHelper.OpenSession()) {
                    using (ITransaction t = s.BeginTransaction())
                    {
                        Console.WriteLine("Creating new map...");
                        Map m = new Map();
                        Console.WriteLine("Generating...");
                        m.GenerateNew(s, 10);
                        Console.WriteLine("Saving...");
                        map_id = (long)s.Save(m);
                        ImageGen.GenerateImage(m);
                        t.Commit();
                    }
                }


                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, my_map_id = map_id
                };
                //user.personal_map.GenerateNew();
                var result = await _userManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");
                    //Console.WriteLine("Map generated for user:"******"User created a new account with password.");
                    return(RedirectToLocal("/Map"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }