public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (ModelState.IsValid)
            {
                IAccountProvider accountProvider = new AspNetAccountProvider(
                    UserManager, AuthenticationManager);

                AccountService accountService = new AccountService(accountProvider);
                AccountResponse result = await accountService.Login(model.Email, model.Password);

                if (result.Success)
                {
                    return RedirectToLocal(returnUrl);
                }
                else
                {
                    ModelState.AddModelError("", result.Message);
                }
            }
            // If we got this far, something failed, redisplay form
            return View(model);
        }
        public async Task<ActionResult> EmailNotConfirmed()
        {
            if(User == null)
            {
                return View();
            }
            IAccountProvider accountProvider = new AspNetAccountProvider(
                 UserManager, AuthenticationManager);
            AccountService accountService = new AccountService(accountProvider);
            string url = GetUrlTemplate();
            AccountResponse result = await accountService.RequestEmailConfirmation(User.Identity.Name, url);

            EmailNotConfirmedViewModel vm = new EmailNotConfirmedViewModel
            {
                EmailAddress = User.Identity.Name
            };
            return View(vm);
        }
        public async Task<ActionResult> ForgotPassword(ForgotPasswordViewModel model)
        {
            if (ModelState.IsValid)
            {
                IAccountProvider accountProvider = new AspNetAccountProvider(
                    UserManager, AuthenticationManager);
                AccountService accountService = new AccountService(accountProvider);

                string url = GetUrlTemplate();

                AccountResponse result = await accountService.ForgotPassword(model.Email, url);
                return RedirectToAction("ForgotPasswordConfirmation", "Account");
            }

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