public async Task <Respuestas> VerificarSesion(string pathArchivo) { Respuestas respuesta = new Respuestas(); try { contexto = Iniciar(); TLContacts contactos = new TLContacts(); info = CargarDeArchivo <Informacion_sesion>(pathArchivo); if (info == null) { info = new Informacion_sesion(); } TLUser usuario = new TLUser(); await contexto.ConnectAsync(); if (contexto.IsUserAuthorized()) { contactos = await contexto.GetContactsAsync(); List <Usuarios> lista = new List <Usuarios>(); foreach (var item in contactos.Users.OfType <TLUser>()) { var contacto = new Usuarios { Nombre = item.FirstName + item.LastName, Telefono = "+" + item.Phone }; lista.Add(contacto); } info.contactos = lista.OrderBy(x => x.Nombre).ToList(); respuesta.STATUS = true; respuesta.MESSAGE = "Reconexion exitosa exitosa..."; respuesta.data = info; } else { respuesta.STATUS = false; respuesta.data = info; respuesta.MESSAGE = "Reconexion fallida, intente autenticar de nuevo..."; } JObject objeto = JObject.Parse(File.ReadAllText(pathArchivo.Replace("Registros.txt", "Sesion.txt"))); info.Expiracion.Add(DateTime.Now.AddMilliseconds(objeto.Value <double>("SessionExpires")).ToString("MM/dd/yy H:mm:ss")); GuardarArchivo(pathArchivo, info); return(respuesta); } catch (Exception e) { respuesta.MESSAGE = "No se pudo hacer la verificacion..." + ((string.IsNullOrEmpty(e.InnerException.Message)) ? e.Message : e.InnerException.Message); if (respuesta.MESSAGE.ToUpper().Contains("AUTH_KEY_UNREGISTERED")) { respuesta.MESSAGE = "Debe Autenticarse solicitando su código"; } respuesta.STATUS = false; return(respuesta); } }
public async Task <Respuestas> AutenticarUsuario(string codigo, string filepath) { try { Respuestas respuesta = new Respuestas(); contexto = Iniciar(); TLContacts contactos = new TLContacts(); info = CargarDeArchivo <Informacion_sesion>(filepath); info.Codigo_autenticacion = codigo; TLUser usuario = null; await contexto.ConnectAsync(); if (contexto.IsConnected) { usuario = await contexto.MakeAuthAsync(info.NumeroPropietario, info.Codigo_solicitud, info.Codigo_autenticacion); if (usuario != null) { info.NombreUsuario = usuario.FirstName; contactos = await contexto.GetContactsAsync(); List <Usuarios> lista = new List <Usuarios>(); foreach (var item in contactos.Users.OfType <TLUser>()) { var contacto = new Usuarios { Nombre = item.FirstName + " " + item.LastName, Telefono = "+" + item.Phone }; lista.Add(contacto); } info.contactos = lista.OrderBy(x => x.Nombre).ToList(); JObject objeto = JObject.Parse(File.ReadAllText(filepath.Replace("Registros.txt", "Sesion.txt"))); info.Expiracion.Add(DateTime.Now.AddMilliseconds(objeto.Value <double>("SessionExpires")).ToString("MM/dd/yy H:mm:ss")); GuardarArchivo(filepath, info); respuesta.STATUS = true; respuesta.MESSAGE = "Autenticación exitosa..."; respuesta.data = info; return(respuesta); } else { respuesta.MESSAGE = "no se pudo obtener datos de usuario..."; respuesta.STATUS = false; return(respuesta); } } else { respuesta.MESSAGE = "ya se encuentra autenticado..."; respuesta.STATUS = false; contexto.Dispose(); return(respuesta); } } catch (Exception e) { return(new Respuestas() { STATUS = false, MESSAGE = "No se pudo autenticar usuario" + e.InnerException.Message }); } }
public TelegramService() { info = new Informacion_sesion(); GetConfiguration(); }