Example #1
0
        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));
        }
Example #2
0
        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;
            }
        }
Example #3
0
 public HttpStatusCode Info(string endpoint, ServerInfoModel data)
 {
     using (var dbmanager = new DataManager())
     {
         dbmanager.AddServer(endpoint, data.Name, data.GameModes);
     }
     return(HttpStatusCode.OK);
 }
Example #4
0
        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());
            }
        }
Example #5
0
        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());
            }
        }
Example #6
0
        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);
        }
Example #7
0
        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();
        }
Example #9
0
        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 + ""));
     }
 }
Example #11
0
        /// <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);
        }
Example #12
0
        public async Task <IList <MailModel> > GetMessagesPop3Async(ServerInfoModel serverInfoModel)
        {
            var task = Task.Run(() => GetMessagesPop3(serverInfoModel));

            return(await TimeoutAfter(task));
        }