private async Task SignIn(User user)
        {
            var identity = await userManager
                       .CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);

            var context = Request.GetOwinContext();
            var authManager = context.Authentication;
            authManager.SignIn(identity);

            Log newLogin = db.Logs.Create();
            newLogin.Level = LogLevel.Activity;
            newLogin.Description = "'" + user.UserName + "' logged in";
            db.Logs.Add(newLogin);
            db.SaveChanges();

            ViewBag.Name = user.FirstName + " " + user.LastName;
        }
        public async Task<ActionResult> Register(RegistrationModel data)
        {
            if (!ModelState.IsValid || (data.Password != data.ConfirmPassword))
                return View(data);

            var user = new User
            {
                UserName = data.Username,
                Email = data.Email,

                FirstName = data.FirstName,
                LastName = data.LastName,
                Birthdate = data.Birthdate, 
                CreatedOn = DateTime.Now,
                Description = data.Description
            };

            var result = await userManager.CreateAsync(user, data.Password);

            if (result.Succeeded)
            {
                await SignIn(user);
                return RedirectToAction("RegisterSuccess", "Account");
            }

            return View(data);
        }