public bool CheckifValidPasswordAndSignInUsingModel(SigninViewModel model)
        {
            var isValidLogin = customerAccountService.ValidateCustomer(model.Email, model.Password);

            if (isValidLogin)
            {
                var customer = customerAccountService.GetCustomerByEmail(model.Email);
                authentication.Signin(model.Email, customer);
            }
            return isValidLogin;
        }
 public ActionResult Signin(SigninViewModel viewModel)
 {
     if (String.IsNullOrEmpty(viewModel.RouteController))
     {
         viewModel = new SigninViewModel();
         viewModel.RouteAction = "Index";
         viewModel.RouteController = "MyAccount";
         viewModel.RedirectMode = RedirectMode.Route;
     }
     return View(viewModel);
 }
        public ActionResult ProcessSignin(SigninViewModel model)
        {
            var isValidLogin = CheckifValidPasswordAndSignInUsingModel(model);

            if (isValidLogin)
            {
                if (model.RedirectMode == RedirectMode.Link)
                {
                    return Redirect(model.ReturnURL);
                }
                object routeValues = null;

                if (!String.IsNullOrWhiteSpace(model.JSONEncodedRouteValues))
                {
                    var js = new JavaScriptSerializer();

                    routeValues = js.Deserialize(model.JSONEncodedRouteValues,
                                                 Type.GetType(model.RouteValuesModelClassName));
                }
                return RedirectToAction(model.RouteAction, model.RouteController, routeValues);
            }

            model.HasError = true;
            model.Password = String.Empty;

            return RedirectToAction("Signin", model);
        }