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); }
public ActionResult LoadCidadeShipping(int idEstado) { var model = new NovoClienteModel { Cities = new ClienteService().GetCidades(idEstado) }; return PartialView("_DropDownCitiesShipping", model); }
public ActionResult NewCustomer(string email, string zipcode, int? kit, int tipoCliente, bool isCompra) { var model = new NovoClienteModel { Identification = email, EmailAdress = email, ZipCode = zipcode, IdKit = kit, TipoCliente = (TipoCliente)tipoCliente, IsCompra = isCompra, DisplayBirthDate = string.Empty, LikeBeContactedByRacco = true }; var service = new ClienteService(); model.States = service.GetEstados(); ViewBag.Title = Resources.Resource.AccountRegistrar_Titulo; return View(model); }