public IActionResult News() { NewsListModel newsList = new NewsListModel(); ServerInfoModel sm = _db.ServerInfo.Single(s => s.id == 1); if (DateTime.Now - sm.date >= TimeSpan.FromHours(24)) { try { var uri = "https://finnhub.io/api/v1/company-news?symbol=AAPL&from=" + (DateTime.Now - TimeSpan.FromDays(5)).ToString("yyyy-MM-dd") + "&to=" + DateTime.Now.ToString("yyyy-MM-dd") + "&token=" + Constants.API_TOKEN; var client = new System.Net.WebClient(); var data = client.DownloadString(uri); DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(List <NewsModel>)); using (var m = new MemoryStream(Encoding.Unicode.GetBytes(data))) { newsList.NewsList = (List <NewsModel>)serializer.ReadObject(m); _db.News.RemoveRange(_db.News); _db.News.AddRange(newsList.NewsList); sm.date = DateTime.Now; _db.ServerInfo.Update(sm); _db.SaveChanges(); } } catch (System.Net.WebException) { } } else { newsList.NewsList = _db.News.ToList(); } return(View(newsList)); }
public async Task StartClick() { Loading = true; try { var serverInfo = new ServerInfoModel { Server = ServerURL, User = User, Password = Password, Port = ServerPort }; var emails = await GetEmails(serverInfo); MailModels = new ObservableCollection <MailModel>(emails); } catch (Exception e) { //log error MessageBox.Show(e.GetBaseException().Message, "Ooops!", MessageBoxButton.OK, MessageBoxImage.Error); } finally { Loading = false; } }
public HttpStatusCode Info(string endpoint, ServerInfoModel data) { using (var dbmanager = new DataManager()) { dbmanager.AddServer(endpoint, data.Name, data.GameModes); } return(HttpStatusCode.OK); }
private IList <MailModel> GetMessagesPop3(ServerInfoModel serverInfoModel) { using (var pop3 = new Pop3()) { pop3.ConnectSSL(serverInfoModel.Server, serverInfoModel.Port); pop3.Login(serverInfoModel.User, serverInfoModel.Password); return(GetMessagesPop3(pop3).ToList()); } }
private IList <MailModel> GetMessagesImap(ServerInfoModel serverInfoModel) { using (var imap = new Imap()) { //imap connection with wrong port will stuck forever, this is handled by setting timeout //probably need more intelligent handling imap.ConnectSSL(serverInfoModel.Server, serverInfoModel.Port); imap.UseBestLogin(serverInfoModel.User, serverInfoModel.Password); imap.SelectInbox(); return(GetMessagesImap(imap).ToList()); } }
public object Info(string endpoint) { ServerInfoModel serverInfo = new ServerInfoModel(); using (var dbmanager = new DataManager()) { serverInfo = dbmanager.GetServerInfo(endpoint); if (dbmanager.StateOfCurrentOperation == OperationState.Failed) { return(HttpStatusCode.NotFound); } } return(serverInfo); }
private async Task <IList <MailModel> > GetEmails(ServerInfoModel serverInfo) { switch (ServerType) { case ServerType.Imap: return(await _mailService.GetMessagesImapAsync(serverInfo)); case ServerType.Pop3: return(await _mailService.GetMessagesPop3Async(serverInfo)); default: return(await _mailService.GetMessagesImapAsync(serverInfo)); } }
public ServerInfo() { string directory = Path.Combine(Utils.XmlDirectory, "ServerInfo\\"); if (!Directory.Exists(directory)) { Directory.CreateDirectory(directory); } if (!File.Exists(Path.Combine(directory, "ServerInfo.xml"))) { XmlHelper.AddXmlObject(new ServerInfoModel(), directory, "ServerInfo"); } Model = XmlHelper.GetXmlObjects <ServerInfoModel>(directory).First(); }
public IHttpActionResult GetPong() { var model = new ServerInfoModel { ServerUtcDateTime = DateTimeOffset.UtcNow, ServerLocalDateTime = DateTimeOffset.Now, Text = "Estacione API", ApiVersion = 0, CustomerAppVersion = { { "apple", "0" }, { "google", "0" } }, ProfessionalAppVersion = { { "apple", "0" }, { "google", "0" } }, CustomerMinAppVersionRequired = { { "apple", "0" }, { "google", "0" } }, ProfessionalMinAppVersionRequired = { { "apple", "0" }, { "google", "0" } }, CustomerAppStoresUrls = { { "apple", "" }, { "google", "market://details?id=com.parkandgo.driver" } }, ProfessionalAppStoresUrls = { { "apple", "" }, { "google", "market://details?id=com.parkandgo.professional" } }, }; return(Ok(model)); }
public IHttpActionResult CreateServer(ServerInfoModel model) { try { if (ModelState.IsValid) { var server = new ServerInfo(); server.HostName = model.HostName; server.DNSName = model.DNSName; server.SelectManufacturer = model.SelectManufacturer; server.SelectModel = model.SelectModel; server.SelectManufacturerPartNumber = model.SelectManufacturerPartNumber; server.SelectOS = model.SelectOS; server.SelectOSVersion = model.SelectOSVersion; server.SerialNumber = model.SerialNumber; server.InstallDate = model.InstallDate; server.WarrantyStarted = model.WarrantyStarted; server.WarrantyExpires = model.WarrantyExpires; server.SelectServerRoles = model.SelectServerRoles; server.Notes = model.Notes; server.Tag = model.Tag; server.SoftwareType = model.SoftwareType; server.SoftwareVersion = model.SoftwareVersion; server.LicenseKey = model.LicenseKey; server.ExpiresOn = model.ExpiresOn; server.CompanyId = model.CompanyId; db.ServerInfoes.Add(server); db.SaveChanges(); return(Ok(server)); } else { return(Ok("Please Enter All the mandatory Fields")); } } catch (Exception ex) { return(Ok("" + ex.Message + "")); } }
/// <summary> /// 处理传入参数 /// </summary> /// <param name="args"></param> /// <param name="serverInfo"></param> /// <returns></returns> public static string[] HandlerArgs(string[] args, ServerInfoModel serverInfo) { string[] inputArgs = args; string urlsArg = inputArgs.FirstOrDefault(m => m.StartsWith("--urls=")); if (string.IsNullOrWhiteSpace(urlsArg)) { List <string> temp = inputArgs.ToList(); temp.Add($"--urls={serverInfo.Url}"); inputArgs = temp.ToArray(); ApplicationConfig.Url = serverInfo.Url.Split(';')[0]; } else { string[] tempArgs = urlsArg.Split('='); if (tempArgs.Length == 2) { ApplicationConfig.Url = tempArgs[1].Split(';')[0]; } } ApplicationConfig.PublicUrl = serverInfo.PublicUrl ?? ApplicationConfig.Url; return(inputArgs); }
public async Task <IList <MailModel> > GetMessagesPop3Async(ServerInfoModel serverInfoModel) { var task = Task.Run(() => GetMessagesPop3(serverInfoModel)); return(await TimeoutAfter(task)); }