public ActionResult LogIn(LogOnModel model, String returnUrl) { if (ModelState.IsValid) { var senha = Encryption.EncryptMd5(String.Format("{1}@{0}", model.Senha.Trim(), model.Login.Trim())); if (new UsuarioService().Validate(model.Login.Trim(), senha)) { // Get Information of the User is Logged var usuario = new UsuarioService().GetRecords(usu => usu.Login == model.Login.Trim()).FirstOrDefault(); if (usuario != null && !usuario.IsAtivo)// Inativo { ModelState.AddModelError("", Constants._msgInactiveUser); } else if (usuario != null) // Ativo { // Serialize Model var serializeModel = new CustomPrincipalSerializeModel { IdUsuario = usuario.IdUsuario, NomeUsuario = usuario.NomeUsuario, Login = usuario.Login, Email = usuario.Email, IdGrupo = usuario.IdGrupo }; var userData = new JavaScriptSerializer().Serialize(serializeModel); var prefixoCookie = ConfigurationManager.AppSettings["AdminCookieName"]; FormsAuthenticationUtil.SetCustomAuthCookie(prefixoCookie + model.Login, userData, false); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Redirect(returnUrl); } return RedirectToAction("Index", "Home"); } } ModelState.AddModelError("Login", Constants._msgUserOrPasswordInvalid); } // If we got this far, something failed, redisplay form return View(model); }
public ActionResult LogIn(LogInModel model, String returnUrl) { if (!ModelState.IsValid) { return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Validation, Message = @Resources.Resource.Msg_Geral_DadosInvalidos }); } Model.Usuario usuario = null; Perfil perfil = new Perfil(); // TODO: M.L. 2012/11/15 16:06 - Alterar a Senha de Todos novamente, quem é do EC deverá ser Encryption.EncryptMd5(senha@email) var senha = Encryption.EncryptMd5(String.Format("{1}@{0}", model.Password.Trim(), model.UserName.Trim())); var isValid = new UsuarioService().ValidateEcommerce(model.UserName.Trim(), senha); if (isValid) { usuario = new UsuarioService().GetRecords(usu => usu.Email == model.UserName.Trim() && usu.IsAtivo).FirstOrDefault(); } if (usuario == null) { return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Alert, Message = @Resources.Resource.Msg_Geral_UsuarioSenhaInvalido }); } var cliente = new ClienteService().GetCustomer(usuario.IdUsuario); if (cliente.IdPerfil != null) { // Armazena o Perfil do Cliente (logado) na Variável perfil = new Perfil { IdPerfil = cliente.Ecommerce_Perfil.IdPerfil, Nome = cliente.Ecommerce_Perfil.Nome, PercentualDesconto = cliente.Ecommerce_Perfil.PercentualDesconto }; } Guid cookieCarrinho = Guid.NewGuid(); var idCliente = 0; if (cliente != null) { idCliente = cliente.IdCliente; var cookie = Request.Cookies[_cookieCartKey]; //check if there is a cart if (cookie != null) { cookieCarrinho = new Guid(cookie.Value); var carrinhoAnonimo = new CarrinhoService().GetCart(cookieCarrinho); //verificar se existem items para o carrinho anonimo if (carrinhoAnonimo != null) { if (carrinhoAnonimo.Ecommerce_CarrinhoItem.Count > 0) { //remove qualquer carrinho antigo do cliente var carrinhosCliente = new CarrinhoService().GetRecords(car => car.IdCliente == idCliente); if (carrinhosCliente.Count > 0) { foreach (var item in carrinhosCliente.ToList()) { new CarrinhoService().DeleteCart(item.GuidCookie); } } new CarrinhoService().AttachCartToClient(cookieCarrinho, idCliente); } else { var carrinhoCliente = new CarrinhoService().GetRecords(car => car.IdCliente == idCliente).FirstOrDefault(); if (carrinhoCliente != null) { cookieCarrinho = carrinhoCliente.GuidCookie; } else { new CarrinhoService().AttachCartToClient(cookieCarrinho, idCliente); } } } else { //verificar se existe alguma carrinho para o cliente var carrinho = new CarrinhoService().GetRecords(car => car.IdCliente == idCliente).FirstOrDefault(); if (carrinho != null) { cookieCarrinho = carrinho.GuidCookie; } else { new CarrinhoService().CreateCart(cookieCarrinho, idCliente); } } cookie.Expires = DateTime.Now.AddDays(-1); // TODO: M.L. 2012/11/15 16:53 - Definir nos Setting o Tempo para expiração do Cookie do Carrinho System.Web.HttpContext.Current.Response.Cookies.Add(cookie); } else { //if cookie was null new CarrinhoService().CreateCart(cookieCarrinho, idCliente); } } var serializeModel = new CustomPrincipalSerializeModel { IdUsuario = usuario.IdUsuario, NomeUsuario = usuario.NomeUsuario, Login = usuario.Login, Email = usuario.Email, IdGrupo = usuario.IdGrupo, IdCliente = idCliente, CookieCarrinho = cookieCarrinho }; //Armazenar o Perfil do Cliente (logado) caso exista serializeModel.Perfil = perfil; var prefixoCookie = ConfigurationManager.AppSettings["EcommerceCookieName"]; FormsAuthenticationUtil.SetCustomAuthCookie(prefixoCookie + model.UserName, new JavaScriptSerializer().Serialize(serializeModel), model.RememberMe); if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, ReturnUrl = returnUrl }, JsonRequestBehavior.AllowGet); } return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, ReturnUrl = Url.Content(@"~/Dashboard/") }, JsonRequestBehavior.AllowGet); }
public ActionResult InsertNewCustomer(NovoClienteModel model) { if (ModelState.IsValid) { if (!new ClienteService().EmailIsValid(model.EmailAdress)) { return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Validation, Message = Resources.Resource.NovoCliente_EmailDuplicado }, JsonRequestBehavior.AllowGet); } if (new ClienteService().InsertCustomer(model)) { if (model.IdKit.HasValue) { //var senha = Encryption.EncryptMd5(string.Format("{1}@{0}", model.Password.Trim(), model.EmailAdress.Trim())); Usuario usuario = new UsuarioService().GetRecords(usu => usu.Login == model.EmailAdress.Trim() && usu.IsAtivo).FirstOrDefault(); if (usuario == null) { return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Alert, Message = Resources.Resource.Msg_Geral_UsuarioSenhaInvalido }); } var cliente = new ClienteService().GetRecords(cli => cli.IdUsuario == usuario.IdUsuario).FirstOrDefault(); Guid cookieCarrinho = Guid.NewGuid(); var idCliente = 0; if (cliente != null) { idCliente = cliente.IdCliente; var cookie = Request.Cookies[_cookieCartKey]; //check if there is a cart if (cookie != null) { cookieCarrinho = new Guid(cookie.Value); var carrinhoAnonimo = new CarrinhoService().GetCart(cookieCarrinho); //verificar se existem items para o carrinho anonimo if (carrinhoAnonimo != null) { if (carrinhoAnonimo.Ecommerce_CarrinhoItem.Count > 0) { //remove qualquer carrinho antigo do cliente var carrinhosCliente = new CarrinhoService().GetRecords(car => car.IdCliente == idCliente); if (carrinhosCliente.Count > 0) { foreach (var item in carrinhosCliente.ToList()) { new CarrinhoService().DeleteCart(item.GuidCookie); } } new CarrinhoService().AttachCartToClient(cookieCarrinho, idCliente); } else { var carrinhoCliente = new CarrinhoService().GetRecords(car => car.IdCliente == idCliente).FirstOrDefault(); if (carrinhoCliente != null) { cookieCarrinho = carrinhoCliente.GuidCookie; } else { new CarrinhoService().AttachCartToClient(cookieCarrinho, idCliente); } } } else { //verificar se existe alguma carrinho para o cliente var carrinho = new CarrinhoService().GetRecords(car => car.IdCliente == idCliente).FirstOrDefault(); if (carrinho != null) { cookieCarrinho = carrinho.GuidCookie; } else { new CarrinhoService().CreateCart(cookieCarrinho, idCliente); } } cookie.Expires = DateTime.Now.AddDays(-1); System.Web.HttpContext.Current.Response.Cookies.Add(cookie); } else { //if cookie was null new CarrinhoService().CreateCart(cookieCarrinho, idCliente); } } var serializeModel = new CustomPrincipalSerializeModel { IdUsuario = usuario.IdUsuario, NomeUsuario = usuario.NomeUsuario, Login = usuario.Login, Email = usuario.Email, //IdGrupo = usuario.IdGrupo, IdCliente = idCliente, CookieCarrinho = cookieCarrinho }; var prefixoCookie = ConfigurationManager.AppSettings["EcommerceCookieName"]; FormsAuthenticationUtil.SetCustomAuthCookie(prefixoCookie + model.EmailAdress, new JavaScriptSerializer().Serialize(serializeModel), false); return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, ReturnUrl = Url.Content(@"~/Cart/Details") }, JsonRequestBehavior.AllowGet); } return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Resources.Resource.Msg_Geral_CadastroRealizado, ReturnUrl = Url.Content(@"~/Dashboard") }, JsonRequestBehavior.AllowGet); } return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Error, Message = Resources.Resource.Msg_Geral_Erro }, JsonRequestBehavior.AllowGet); } return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Validation, Message = Resources.Resource.Msg_Geral_DadosIncorretos }, JsonRequestBehavior.AllowGet); }