public int ClienteUpdatePassword(ActivarCliente model) { int resultado = -1; object obj = new object(); SqlConnection Conexion = new SqlConnection(cadenaConexion); SqlCommand command = new SqlCommand("Sp_PutPassword", Conexion); try { using (Conexion) { Conexion.Open(); command.CommandType = CommandType.StoredProcedure; command.Parameters.Clear(); command.Parameters.AddWithValue("@Email", model.Email); command.Parameters.AddWithValue("@Password", model.Password); obj = command.ExecuteScalar(); Conexion.Close(); } if (obj != DBNull.Value && obj != null) { resultado = Convert.ToInt32(obj); } } catch (Exception ex) { Conexion.Close(); InsertarSucesoLog(Funcion.ConstruirSucesoLog(ex.ToString().Substring(0, 300) + "*EngineDb/ClienteUpdatePassword*" + model.Email)); } return(resultado); }
public ActivarCliente ConstruirActivarCliente(IEngineDb Metodo, string email, string password) { Guid guid = Metodo.ObtenerIdentidadCliente(email); ActivarCliente R = new ActivarCliente() { Email = email, Password = password, FechaActivacion = DateTime.UtcNow, Estatus = true, Identidad = guid }; return(R); }
public ActionResult EditPassword(ActivarCliente model) { Respuesta R = new Respuesta(); if (model == null) { return(View(R)); } if (model.Email == null || model.Password == null || model.Password2 == null) { return(View(R)); } bool resultado = Funcion.EmailEsValido(model.Email); string emailCode64 = Funcion.ConvertirBase64(model.Email); if (!resultado) { //Email no valido R = Funcion.RespuestaProceso("EditPassword", emailCode64, null, model.Email + EngineData.EmailNoValido()); return(RedirectToAction("State", "Home", R)); } resultado = Funcion.CompareString(model.Password, model.Password2); if (!resultado) { //Las contraseñas deben ser identicas R = Funcion.RespuestaProceso("EditPassword", emailCode64, null, model.Email + EngineData.PasswordNoIdenticos()); return(RedirectToAction("State", "Home", R)); } model.Estatus = false; model.FechaRegistro = DateTime.UtcNow; model.Password = Funcion.ConvertirBase64(model.Email + model.Password); int result = Metodo.ClienteUpdatePassword(model); if (result <= 0) { //Fallo modificar contraseña R = Funcion.RespuestaProceso("EditPassword", emailCode64, null, model.Email + EngineData.RestablecerContraseñaFallida()); return(RedirectToAction("State", "Home", R)); } System.Web.HttpContext.Current.Session["Email"] = model.Email; R = Funcion.RespuestaProceso("Login", emailCode64, null, model.Email + EngineData.RestablecerContraseñaExito()); return(RedirectToAction("State", "Home", R)); }
public ActionResult State(int Id = 0, string email = "", string identidad = "", string date = "", string status = "", string ide = "", string type = "", string cultureInfo = "", Respuesta K = null) { System.Web.HttpContext.Current.Session["Usuario"] = EngineData.usuarioTemporal; Respuesta R = new Respuesta(); bool resultado = false; Guid guidCliente = Guid.Empty; string emailCode64 = string.Empty; //Validar email if (email != string.Empty && email != null) { if (Funcion.CadenaBase64Valida(email)) { email = Funcion.DecodeBase64(email); } resultado = Funcion.EmailEsValido(email); emailCode64 = Funcion.ConvertirBase64(email); if (!resultado) { if (K.RespuestaAccion != string.Empty && K.RespuestaAccion != null) { R = Funcion.RespuestaProceso(K.RespuestaAccion, emailCode64, null, email + EngineData.EmailNoValido()); } else if (type != string.Empty && type != null) { R = Funcion.RespuestaProceso("Index", emailCode64, null, email + EngineData.EmailNoValido()); } return(View(R)); } } //Validar GUID de identidad if (identidad != string.Empty && identidad != null && type != string.Empty && type != null) { if (type == EngineData.RegisterManager) { guidCliente = Metodo.ObtenerIdentidadGerente(email); } else { guidCliente = Metodo.ObtenerIdentidadCliente(email); } string identificador = Funcion.EncodeMd5(guidCliente.ToString()); resultado = Funcion.CompareString(identidad, identificador); if (!resultado) { R = Funcion.RespuestaProceso("Open", emailCode64, null, EngineData.ErrorInternoServidor()); Funcion.ConstruirSucesoLog("GUID no concuerda*Home/State*" + email, Metodo); return(View(R)); } } //validar tiempo de expiracion del link if (date != string.Empty && date != null && type != string.Empty && type != null) { date = date.Replace('*', ' '); date = date.Replace('+', ' '); date = date.Replace('a', ' '); date = date.Replace('p', ' '); date = date.Replace('m', ' '); date = date.Trim(); Funcion.SetCultureInfo(cultureInfo); //CultureInfo ci = new CultureInfo(cultureInfo); //Thread.CurrentThread.CurrentUICulture = ci; //Thread.CurrentThread.CurrentCulture = ci; DateTime fechaEnvio = Convert.ToDateTime(date); DateTime fechaActivacion = DateTime.UtcNow; resultado = Funcion.EstatusLink(fechaEnvio, fechaActivacion); if (!resultado) { if (type == EngineData.Register) { string contraseña = Metodo.ObtenerPasswordCliente(email); contraseña = contraseña.Replace(email, ""); resultado = Funcion.EnviarNuevaNotificacion(Notificacion, Metodo, email, EngineData.Register, contraseña); } else if (type == EngineData.Test) { resultado = Funcion.EnviarNuevaNotificacion(Notificacion, Metodo, email, EngineData.Test); } else if (type == EngineData.RegisterManager) { resultado = Funcion.EnviarNuevaNotificacion(Notificacion, Metodo, email, EngineData.RegisterManager); } R = Funcion.RespuestaProceso("Index", emailCode64, null, EngineData.TiempoLinkExpiro()); return(View(R)); } } //Activacion tiempo de prueba if (type == EngineData.Test) { Cliente client = Funcion.ConstruirActualizarClienteTest(Metodo, email, identidad); int act = Metodo.UpdateClienteTest(client); if (act > 0) { R = Funcion.RespuestaProceso("Contact", emailCode64, null, EngineData.ActivacionExitosa()); } else { R = Funcion.RespuestaProceso("Index", emailCode64, null, EngineData.ActivacionFallida()); } } //Activacion cuenta del cliente else if (type == EngineData.Register) { string password = ide; ActivarCliente model = new ActivarCliente(); model = Funcion.ConstruirActivarCliente(Metodo, email, password); int act = Metodo.ClienteRegistroActivacion(model); if (act >= 1) { R = Funcion.RespuestaProceso("Login", emailCode64, null, EngineData.ActivacionExitosa()); } else { R = Funcion.RespuestaProceso("Login", emailCode64, null, EngineData.ActivacionFallida()); } } // Enviar a restablecer password else if (type == EngineData.ResetPassword) { if (ide == string.Empty || ide == null) { R = Funcion.RespuestaProceso("Open", emailCode64, null, EngineData.ErrorInternoServidor()); Funcion.ConstruirSucesoLog("CODIGO restablecer password vacio*Home/State*" + email, Metodo); return(View(R)); } string codigo = Funcion.DecodeBase64(ide); string code = Metodo.ObtenerCodigoRestablecerPassword(email); resultado = Funcion.CompareString(codigo, code); if (!resultado) { R = Funcion.RespuestaProceso("Open", emailCode64, null, EngineData.ErrorInternoServidor()); Funcion.ConstruirSucesoLog("CODIGO restablecer password no coinciden*Home/State*" + email, Metodo); return(View(R)); } System.Web.HttpContext.Current.Session["Email"] = email; R = Funcion.RespuestaProceso(null, emailCode64, "codeVerify", EngineData.IngreseCodigoVerificacion()); return(RedirectToAction("EditPasswordNotify", "Home", R)); } //Resdireccionar a actualizar el perfil de administrador else if (type == EngineData.RegisterManager) { Gerente G = new Gerente(); G.Email = email; G.Id = EngineData.IdActivacion; return(RedirectToAction("Update", "Manager", G)); } if (K.RespuestaAccion != null) { return(View(K)); } return(View(R)); }
public ActionResult Register(ActivarCliente model = null) { Respuesta R = new Respuesta(); if (model == null) { return(View(R)); } if (model.Email == null || model.Password == null || model.Password2 == null || model.Nombre == null || model.Apellido == null) { return(View(R)); } bool resultado = Funcion.EmailEsValido(model.Email); string emailCode64 = Funcion.ConvertirBase64(model.Email); if (!resultado) { //Email no valido R = Funcion.RespuestaProceso("Register", emailCode64, null, model.Email + EngineData.EmailNoValido()); return(RedirectToAction("State", "Home", R)); } resultado = Funcion.CompareString(model.Password, model.Password2); if (!resultado) { //Las contraseñas deben ser iguales R = Funcion.RespuestaProceso("Register", emailCode64, null, model.Email + EngineData.PasswordNoIdenticos()); return(RedirectToAction("State", "Home", R)); } model.Estatus = false; model.FechaRegistro = DateTime.UtcNow; model.Password = Funcion.ConvertirBase64(model.Email + model.Password); int result = Metodo.ClienteRegistro(model); if (result <= 0) { //Error al registrar cliente Funcion.ConstruirSucesoLog("Error registrando cliente*Home/Register*" + model.Email, Metodo); R = Funcion.RespuestaProceso("Register", emailCode64, null, model.Email + EngineData.ErrorRegistroCliente()); return(RedirectToAction("State", "Home", R)); } //*****************PAGO HARCODE************************** PagoCliente pago = Funcion.ConstruirPagoCliente(result); Metodo.SetPagoCliente(pago); //*************************************************** string enlaze = Funcion.CrearEnlazeRegistro(Metodo, model.Email, model.Password2); EstructuraMail estructura = new EstructuraMail(); estructura = Funcion.SetEstructuraMailRegister(enlaze, model.Email, estructura); resultado = Notificacion.EnviarMailNotificacion(estructura); if (resultado) { //Registro exitoso R = Funcion.RespuestaProceso("Index", emailCode64, null, model.Email + EngineData.RegistroExitoso()); return(RedirectToAction("State", "Home", R)); } else { //Error enviando notficacion - error interno Funcion.ConstruirSucesoLog("Error enviando email*Home/Register*" + model.Email, Metodo); R = Funcion.RespuestaProceso("Open", emailCode64, null, model.Email + EngineData.ErrorEnviandoMail()); return(RedirectToAction("State", "Home", R)); } }