public BaseResponse <string> CambioPasswordXCorreoExterno(string secredId, string password) { BaseResponse <string> result = new BaseResponse <string>(); using (MesaDineroContext context = new MesaDineroContext()) { using (var transaction = context.Database.BeginTransaction()) { try { Guid sid = Guid.NewGuid(); try { sid = Guid.Parse(secredId); } catch (Exception) { throw new Exception("Ocurrio un error con el servicio, puede ser que su key de sesión no sea correcta."); } Tb_MD_RecuperarPassword recuperar = null; recuperar = context.Tb_MD_RecuperarPassword.FirstOrDefault(x => x.SecredId == sid); if (recuperar == null) { throw new Exception("La operacion que intenta realizar no cuenta con autorización para hacerla."); } Tb_MD_ClienteUsuario usuario = null; usuario = context.Tb_MD_ClienteUsuario.FirstOrDefault(x => x.IdUsuario == recuperar.IdUsuario); if (usuario == null) { throw new Exception("No se encontro el usuario."); } string clave = Encrypt.EncryptKey(password); usuario.Password = clave; context.SaveChanges(); transaction.Commit(); result.success = true; } catch (Exception ex) { result.success = false; result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; transaction.Rollback(); } } } return(result); }
public Tb_MD_ClienteUsuario getUsuarioAutorizadoBySecredId(Guid secredId) { Tb_MD_ClienteUsuario entity = null; using (MesaDineroContext context = new MesaDineroContext()) { entity = context.Tb_MD_ClienteUsuario.Where(y => y.SecredId == secredId).FirstOrDefault(); } return(entity); }
public BaseResponse <string> sendCorreoRecuperarPassword(string email) { BaseResponse <string> result = new BaseResponse <string>(); using (MesaDineroContext context = new MesaDineroContext()) { using (var transaction = context.Database.BeginTransaction()) { try { Guid SecredId = Guid.NewGuid(); DateTime ahora = DateTime.Now; Tb_MD_ClienteUsuario usuario = null; usuario = context.Tb_MD_ClienteUsuario.FirstOrDefault(x => x.EstadoREgistro == EstadoRegistroTabla.Activo && x.Email.Equals(email)); if (usuario == null) { throw new Exception("No se encontro un cliente de LMD con este Email"); } Tb_MD_RecuperarPassword entity = new Tb_MD_RecuperarPassword { Email = usuario.Email, FechaCreacion = ahora, FechaExpiracion = ahora.AddDays(1), IdUsuario = usuario.IdUsuario, SecredId = SecredId, TipoUsuario = "CL" }; context.Tb_MD_RecuperarPassword.Add(entity); context.SaveChanges(); transaction.Commit(); result.success = true; CorreoHelper.SedCorreoRecuperarContrasenha(usuario.Email, SecredId.ToString(), usuario.NombreCliente); } catch (Exception ex) { result.success = false; result.error = ex.InnerException != null ? ex.InnerException.Message : ex.Message; transaction.Rollback(); } } } return(result); }