Beispiel #1
0
        public async Task LoadNews()
        {
            Loading = true;
            var result = await NewsRequestHelper.GetGpuNews();

            //Note: this solution should be temporary, do not leave it here plz!!! :)
            var gpuProviderText = await App.GetStringFromResources(GpuProviderKey, false);

            if (result == null || result.Count <= 0)
            {
                Loading = false;
                return;
            }

            if (News.Count > 0 && News[0].Title == result[0].Title)
            {
                Loading = false;
                return;
            }

            News.Clear();
            foreach (var item in result)
            {
                //Lazyness taking over
                if (item.Title.Contains("Video") || item.Title.Contains("video"))
                {
                    continue;
                }
                item.Provider = gpuProviderText;
                News.Add(item);
            }

            Loading = false;
        }
Beispiel #2
0
                public void UpdateNews(List <RockNews> sourceNews)
                {
                    // free existing news
                    FreeImageResources( );

                    News.Clear( );

                    // copy the new news.
                    int i;

                    for (i = 0; i < sourceNews.Count; i++)
                    {
                        NewsEntry newsEntry = new NewsEntry();
                        News.Add(newsEntry);

                        newsEntry.News = sourceNews[i];
                        // see if we can load the file
                        bool fileFound = TryLoadCachedImageAsync(newsEntry, newsEntry.News.ImageName);
                        if (fileFound == false)
                        {
                            // if not, download it
                            string widthParam = string.Format("width={0}", NavbarFragment.GetCurrentContainerDisplayWidth( ));
                            string requestUrl = Rock.Mobile.Util.Strings.Parsers.AddParamToURL(newsEntry.News.ImageURL, widthParam);

                            FileCache.Instance.DownloadFileToCache(requestUrl, newsEntry.News.ImageName, null,
                                                                   delegate
                            {
                                // and THEN load it
                                TryLoadCachedImageAsync(newsEntry, newsEntry.News.ImageName);
                            });
                        }
                    }
                }
Beispiel #3
0
        private async void LoadNews()
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;
            List <Models.News> newsItemList = new List <Models.News>();

            try
            {
                newsItemList = await DataHelper.Instance.Get();
            }
            catch (Exception ex)
            {
                if (await MessageHelper.YesNoMessage(ex.Message))
                {
                    var appManage = DependencyService.Get <Dependecies.IAppManage>();
                    if (appManage != null)
                    {
                        appManage.Close();
                    }
                }
            }
            News.Clear();
            foreach (Models.News newsItem in newsItemList)
            {
                News.Add(newsItem);
            }

            IsBusy = false;
        }
Beispiel #4
0
        private void ProcessNews(IEnumerable <NewsEvent> events)
        {
            newsObserver = null;
            var newNews = events.Select(evt => new NewsContainer(evt))
                          .Except(News, new LambdaComparer <NewsContainer>((l, r) => l.Event.Level == r.Event.Level && l.Event.Name == r.Event.Name && l.Event.Time == r.Event.Time));

            if (_useDb)
            {
                ForexStorage.UseForexContext(c => {
                    var dateLast = c.Event__News.Max(e => e.Time);
                    newNews.ToList().Select(evt => evt.Event)
                    //.Where(evt => evt.Time > dateLast)
                    .ForEach(evt => {
                        c.Event__News.Add(new Event__News()
                        {
                            Level   = (evt.Level + "").Substring(0, 1),
                            Country = evt.Country,
                            Name    = evt.Name,
                            Time    = evt.Time
                        });
                        c.SaveConcurrent();
                    });
                }, (c, exc) => Log = exc);
            }
            ReactiveUI.RxApp.MainThreadScheduler.Schedule(() => {
                newNews.ForEach(evt => News.Add(evt));
                NewsView.GroupDescriptions.Clear();
                NewsView.GroupDescriptions.Add(new PropertyGroupDescription("Date"));
                NewsView.Refresh();
                UpdateNewsColor();
            });
        }
Beispiel #5
0
    private void Insert()
    {
        Data objdata = new Data(Global.ConnectionSql);

        try
        {
            News obj = new News();
            obj.DataObject  = objdata;
            obj.Title       = txtTitle.Text.Trim();
            obj.Description = txtDescription.Text.Trim();
            obj.Detail      = radContents.Content;
            obj.Links       = Global.FilterFileName(txtTitle.Text.Trim()).Replace(" ", "-");
            if (this.uplImage.HasFile)
            {
                Neodynamic.WebControls.ImageDraw.ImageElement uploadedImage;
                uploadedImage = Neodynamic.WebControls.ImageDraw.ImageElement.FromBinary(this.uplImage.FileBytes);
                Neodynamic.WebControls.ImageDraw.Resize actResize = new Neodynamic.WebControls.ImageDraw.Resize();
                actResize.Width  = 150;
                actResize.Height = 150;
                uploadedImage.Actions.Add(actResize);
                Neodynamic.WebControls.ImageDraw.ImageDraw imgDraw = new Neodynamic.WebControls.ImageDraw.ImageDraw();
                imgDraw.Elements.Add(uploadedImage);
                imgDraw.ImageFormat          = Neodynamic.WebControls.ImageDraw.ImageDrawFormat.Jpeg;
                imgDraw.JpegCompressionLevel = 90;
                string filename = GetDate + "_" + uplImage.FileName;
                imgDraw.Save(Server.MapPath(Global.GetConfigKey("uploadnews") + filename));
                obj.Image = Global.GetConfigKey("uploadnews") + filename;
            }
            else
            {
                obj.Image = Global.GetConfigKey("uploadnews") + "alternate.png";
            }
            obj.Date = DateTime.Now;
            int result = Convert.ToInt32(obj.Add());
            if (result > 0)// no error
            {
                Response.Write("<script>window.location='news.aspx'</script>");
            }
            else if (result == 0)
            {
                lblMessage.Text = "Trùng dữ liệu vui lòng kiểm tra lại";
                return;
            }
            else
            {
                lblMessage.Text = "Lỗi xảy ra trong quá trình lưu dữ liệu. Liên hệ với người quản trị để khắc phục";
                return;
            }
        }
        catch (Exception ex)
        {
            Global.WriteLogError("Insert() " + ex);
            return;
        }
        finally
        {
            objdata.DeConnect();
        }
    }
 private void AddingData(IEnumerable <NewsItem> collection)
 {
     News.Clear();
     foreach (var item in collection)
     {
         News.Add(item);
     }
 }
Beispiel #7
0
 private void button3_Click(object sender, EventArgs e)
 {
     newnews = new News(richTextBox2.Rtf, "1", ID);
     newnews.Add(newnews);
     richTextBox2.Text = null;
     news = newnews.Query();
     iniWindow();
 }
 private void AddNews(string text)
 {
     if (Application.Current != null)
     {
         Application.Current.Dispatcher.BeginInvoke(new Action(() =>
         {
             News.Add(text);
         }));
     }
 }
Beispiel #9
0
 private void Insert()
 {
     try
     {
         Data objdata = new Data(Global.ConnectionSql);
         News obj     = new News();
         obj.DataObject  = objdata;
         obj.Title       = txtTitle.Text.Trim();
         obj.Description = txtDescription.Text.Trim();
         obj.Detail      = radContents.Content;
         obj.IsActived   = cbkIsStatus.Checked;
         obj.Links       = txtTitle.Text.Trim().Replace(" ", "-");
         if (this.uplImage.HasFile)
         {
             Neodynamic.WebControls.ImageDraw.ImageElement uploadedImage;
             uploadedImage = Neodynamic.WebControls.ImageDraw.ImageElement.FromBinary(this.uplImage.FileBytes);
             Neodynamic.WebControls.ImageDraw.Resize actResize = new Neodynamic.WebControls.ImageDraw.Resize();
             actResize.Width  = 150;
             actResize.Height = 150;
             uploadedImage.Actions.Add(actResize);
             Neodynamic.WebControls.ImageDraw.ImageDraw imgDraw = new Neodynamic.WebControls.ImageDraw.ImageDraw();
             imgDraw.Elements.Add(uploadedImage);
             imgDraw.ImageFormat          = Neodynamic.WebControls.ImageDraw.ImageDrawFormat.Jpeg;
             imgDraw.JpegCompressionLevel = 90;
             string filename = GetDate + "_" + uplImage.FileName;
             imgDraw.Save(Server.MapPath(Global.GetConfigKey("uploadnews") + filename));
             obj.Image = Global.GetConfigKey("uploadnews") + filename;
         }
         else
         {
             obj.Image = Global.GetConfigKey("uploadnews") + "alternate.png";
         }
         obj.Date = DateTime.Now;
         int result = Convert.ToInt32(obj.Add());
         if (result > 0)// no error
         {
             this.BindingData();
             ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "sucess", "messagesucess();", true);
         }
         else if (result == 0)
         {
             lblmessage.Text = "Trùng dữ liệu vui lòng kiểm tra lại";
             mdPopup.Show();
         }
         else
         {
             lblmessage.Text = "Lỗi xảy ra trong quá trình lưu dữ liệu. Liên hệ với người quản trị để khắc phục";
             mdPopup.Show();
         }
     }
     catch (Exception ex)
     {
         Global.WriteLogError("Insert() " + ex);
     }
 }
Beispiel #10
0
        public async void LoadNews()
        {
            RSSFeed rssFeedReader = new RSSFeed();

            var news = await rssFeedReader.LoadNewsAsync();

            foreach (SyndicationItem syndicationItem in news)
            {
                News.Add(syndicationItem);
            }
        }
Beispiel #11
0
        async Task LoadNextAsync()
        {
            var news = await Services.News.NewsService.GetNewsAsync(pageNumber ++).ConfigureAwait(false);

            Device.BeginInvokeOnMainThread(() =>
            {
                foreach (var item in news)
                {
                    News.Add(item);
                }
            });
        }
        public CollectedTopicsFragment()
        {
            InitializeComponent();
            LabelPanel.ItemsSource = _tabs;
            async Task <IEnumerable <TopicModel> > loadData()
            {
                var model = LabelPanel.SelectedItem as CollectedListModel;
                var html  = await ApiClient.GetTopicsWithTab(model.Name);

                var dom = new HtmlParser().ParseDocument(html);

                return(DomParse.ParseTopics(dom));
            }

            var selectionChanged = Observable
                                   .FromEventPattern <SelectionChangedEventArgs>(LabelPanel, nameof(LabelPanel.SelectionChanged))
                                   .SelectMany(x => loadData())
                                   .Retry(10)
                                   .ObserveOnCoreDispatcher()
                                   .Subscribe(x =>
            {
                News.Clear();
                foreach (var item in x)
                {
                    News.Add(item);
                }
            });
            var click = Observable.FromEventPattern <ItemClickEventArgs>(NewsList, nameof(NewsList.ItemClick))
                        .Select(x => x.EventArgs.ClickedItem as TopicModel)
                        .ObserveOnCoreDispatcher()
                        .Subscribe(x => PageStack.Next("Left", "Right", typeof(RepliesAndTopicView), x.Id));
            var refresh = Observable.FromEventPattern <TappedRoutedEventArgs>(Refresh, nameof(Refresh.Tapped))
                          .SelectMany(x => loadData())
                          .Retry(10)
                          .ObserveOnCoreDispatcher()
                          .Subscribe(x =>
            {
                News.Clear();
                foreach (var item in x)
                {
                    News.Add(item);
                }
            });

            LabelPanel.SelectedIndex = 0;

            this.Unloaded += (s, e) =>
            {
                selectionChanged.Dispose();
                click.Dispose();
                refresh.Dispose();
            };
        }
        public override void Init(object initData)
        {
            base.Init(initData);

            for (int i = 0; i < 50; i++)
            {
                News.Add(new Post
                {
                    Title = $"News N.{i}"
                });
            }
        }
        /// <summary>
        /// Load the data to display in the "What's new" part.
        /// </summary>
        private void LoadNews()
        {
            var resource = Application.GetResourceStream(new Uri($"/ClipboardZanager;component/Assets/news/news.{CurrentLanguage}.json", UriKind.RelativeOrAbsolute));

            News.Clear();
            if (resource != null)
            {
                foreach (var softwareNewItem in JsonConvert.DeserializeObject <ObservableCollection <SoftwareNewItem> >(new StreamReader(resource.Stream).ReadToEnd()))
                {
                    News.Add(softwareNewItem);
                }
            }
        }
        private async void GetNews()
        {
            var newsItems = await _newsProvider.GetNewsAsync();

            if (newsItems == null)
            {
                return;
            }

            News.Clear();
            newsItems.ToList().ForEach(n => News.Add(new NewsDisplayModel(n)));
            //News.First().ReadMoreExpanded = true;
        }
        public void UpdateNews(List <RockNews> sourceNews)
        {
            // clear the existing news
            News.Clear( );

            // copy the source into our news objects
            foreach (RockNews rockEntry in sourceNews)
            {
                NewsEntry newsEntry = new NewsEntry();
                News.Add(newsEntry);

                newsEntry.News = rockEntry;
            }
        }
        /// <summary>
        /// Method which loads the News Feed and adds the items to the "News" Collection.
        /// </summary>
        public async void LoadNews()
        {
            RSSReader rssReader = new RSSReader();

            // Clear the Collection. Otherwise the Collection dupicates on every loading.
            News.Clear();

            var news = await rssReader.LoadNewsAsync(new Uri("http://blog.pdapda.de/feed/"));

            foreach (var syndicationItem in news)
            {
                News.Add(syndicationItem);
            }
        }
Beispiel #18
0
    /// <summary>
    /// 更新信息
    /// </summary>
    public void SaveData()
    {
        var json = Request["data"];
        var rows = (ArrayList)PluSoft.Utils.JSON.Decode(json);

        foreach (Hashtable row in rows)
        {
            var id = row["ID"] != null ? row["ID"].ToString() : "";

            //根据记录状态,进行不同的增加、删除、修改操作
            var state = row["_state"] != null ? row["_state"].ToString() : "";
            if (state == "added" || id == "")           //新增:id为空,或_state为added
            {
                model.Abstract   = row["Abstract"] == null ? "" : row["Abstract"].ToString();
                model.Content    = PageRequest.GetString("Content");
                model.CreateIp   = PageRequest.GetIP();
                model.CreateTime = DateTime.Now;
                model.NewsTitle  = row["NewsTitle"] == null ? "" : row["NewsTitle"].ToString();
                model.Publisher  = Admin.GetRealName();
                model.Source     = row["Source"] == null ? "" : row["Source"].ToString();
                model.TotalClick = 0;
                model.TypeId     = Utils.StrToInt(row["TypeId"], 0);
                model.UpdateIp   = model.CreateIp;
                model.UpdateTime = model.CreateTime;

                BllNews.Add(model);
            }
            else if (state == "modified" || state == "") //更新:_state为空或modified
            {
                model = BllNews.GetModel(Utils.StrToInt(row["ID"], 0));
                if (model != null)
                {
                    #region 基础字段
                    model.Abstract  = row["Abstract"] == null ? "" : row["Abstract"].ToString();
                    model.Content   = PageRequest.GetString("Content");
                    model.NewsTitle = row["NewsTitle"] == null ? "" : row["NewsTitle"].ToString();
                    model.Publisher = row["Publisher"] == null ? "" : row["Publisher"].ToString();
                    model.Source    = row["Source"] == null ? "" : row["Source"].ToString();

                    model.TypeId     = Utils.StrToInt(row["TypeId"], 0);
                    model.UpdateIp   = PageRequest.GetIP();
                    model.UpdateTime = DateTime.Now;
                    #endregion

                    BllNews.Update(model);
                }
            }
        }
    }
Beispiel #19
0
        //private bool HasNews()
        //{
        //    //await Task.Delay(5000);
        //    SetProperty(ref _hasNews, News.Count > 0);
        //    return News.Count > 0;
        //}

        public override async Task LoadAsync()
        {
            var news = await _tchospiraService.GetNewsAsync();

            System.Diagnostics.Debug.WriteLine("FOUND {0} TAGS", news.Count);
            News.Clear();
            foreach (var n in news)
            {
                News.Add(n);
            }
            HasNews = News.Count > 0;

            OnPropertyChanged(nameof(News));
            OnPropertyChanged(nameof(HasNews));
        }
Beispiel #20
0
        public void SeedDatabase()
        {
            SeedEmployees();

            News.Add(new News()
            {
                Id          = Guid.NewGuid(),
                Title       = "Zacco looking for new employees in India",
                Preamble    = "Short text about Zacco emplo",
                Article     = "",
                AuthorId    = new Guid("187338bb-129b-4bae-9735-6b11c603246e"),
                PublishDate = new DateTime(2020, 01, 01)
            });
            SaveChanges();
        }
Beispiel #21
0
 //记录
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         newnews = new News(richTextBox1.Rtf, "0", ID);
         newnews.Add(newnews);
         richTextBox1.Text = null;
         news = newnews.Query();
         iniWindow();
     }
     catch (Exception a)
     {
         MessageBox.Show("输入值为空");
     }
 }
        public virtual async Task ReloadData()
        {
            try
            {
                var companyNews = await ServiceBus.NewsService.GetCompanyNewsAsync(0, 15);

                InvokeOnMainThread(News.Clear);
                foreach (var news in companyNews)
                {
                    InvokeOnMainThread(() => { News.Add(NewsItemViewModel.FromModel(news)); });
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
        }
        public virtual async Task ReloadData()
        {
            try
            {
                var allNews = await ServiceBus.NewsService.GetWeeklyNewsAsync(0, 15);

                InvokeOnMainThread(News.Clear);
                foreach (var item in allNews)
                {
                    InvokeOnMainThread(async() => { News.Add(await WeeklyItemViewModel.FromModel(item)); });
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex);
            }
        }
Beispiel #24
0
    protected void btPubish_Click(object sender, EventArgs e)
    {
        if (drpCate1.SelectedValue == "0")
        {
            Message.Alert(Page, "Bạn chưa chọn chuyên mục xuất bản!");
            return;
        }

        News _News = new News();

        if (lblNewsID.Text != "0")
        {
            _News = _News.Get(Convert.ToInt32(lblNewsID.Text));
        }
        _News.Title         = txtTitle.Text.Trim();
        _News.SubTitle      = txtSubTitle.Text.Trim();
        _News.ImageUrl      = imgImageUrl.ImageUrl.Replace(Constant.MEDIA_PATH, "");
        _News.Lead          = txtLead.Text.Trim();
        _News.SubLead       = txtSubLead.Text.Trim();
        _News.Content       = ftbContent.Text.Trim();
        _News.IsTop         = false;
        _News.IsPhoto       = chkIsPhoto.Checked;
        _News.IsVideo       = chkIsVideo.Checked;
        _News.IsAudio       = chkIsAudio.Checked;
        _News.PublishedTime = Convert.ToDateTime(txtPublishTime.Text);
        _News.CateID        = Convert.ToInt32(drpCate1.SelectedValue);
        _News.Tags          = txtTags.Text.Trim();
        _News.Status        = 3;

        if (_News.NewsID == 0)
        {
            _News.UserID = AppUtils.UserID();
            _News.Add();
            lblNewsID.Text = _News.NewsID.ToString();
        }
        else
        {
            _News.Update();
        }
        UpdatePublish();
        Response.Redirect(Resources.Url.NewsAddList);
    }
Beispiel #25
0
        void ExecuteLoadItemsCommand(int id)
        {
            if (IsBusy)
            {
                return;
            }

            IsBusy = true;

            try
            {
                News.Clear();
                var items = NewsFromParent;
                if (items != null && items.Count() > 0)
                {
                    var firstItem = items.Where(n => n.Id == id).FirstOrDefault();
                    MainTitle   = firstItem.Title;
                    Title       = firstItem.Title;
                    Content     = firstItem.Content;
                    Date        = firstItem.DatePosted.ToLongDateString();
                    Image       = firstItem.Image;
                    RelatedNews = "Other news";

                    foreach (var item in items.Where(n => n.Id != id))
                    {
                        item.Image = item.Image;
                        item.Date  = firstItem.DatePosted.ToLongDateString();
                        News.Add(item);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
Beispiel #26
0
 protected void btnSubmit_Click(object sender, EventArgs e)
 {
     try
     {
         News obj = new News();
         obj.Title       = txtTitle.Text;
         obj.Link        = MyFunction.ConvertUrl(txtTitle.Text);
         obj.Description = txtDescription.Text;
         obj.Detail      = txtDetail.Value.Replace("'", "’");
         if (this.IsValid && this.uplImage.HasFile)
         {
             Neodynamic.WebControls.ImageDraw.ImageElement uploadedImage;
             uploadedImage = Neodynamic.WebControls.ImageDraw.ImageElement.FromBinary(this.uplImage.FileBytes);
             Neodynamic.WebControls.ImageDraw.Resize actResize = new Neodynamic.WebControls.ImageDraw.Resize();
             actResize.Width  = 150;
             actResize.Height = 130;
             uploadedImage.Actions.Add(actResize);
             Neodynamic.WebControls.ImageDraw.ImageDraw imgDraw = new Neodynamic.WebControls.ImageDraw.ImageDraw();
             imgDraw.Elements.Add(uploadedImage);
             imgDraw.ImageFormat          = Neodynamic.WebControls.ImageDraw.ImageDrawFormat.Jpeg;
             imgDraw.JpegCompressionLevel = 90;
             string filename = GetDate + "_" + uplImage.FileName;
             imgDraw.Save(Server.MapPath("~/uploads/news/" + filename));
             obj.Image = filename;
         }
         else
         {
             obj.Image = "";
         }
         obj.Date = DateTime.Now;
         obj.Add(obj);
         Response.Write("<script>alert('Cập nhật dữ liệu thành công');window.location='new.aspx'</script>");
     }
     catch (Exception ex)
     {
         lblMessage.Text = ex.Message;
     }
 }
Beispiel #27
0
        public async Task LoadRss()
        {
            if (_settingsService.IsConnectedToInternet())
            {
                var nBroker = new NewsBroker();

                var xml = await nBroker.GetNews();

                var morenodes = (from n in xml.Descendants("rss") select n).Descendants("item").Select(x => new
                                                                                                       Models.UI.RssItem
                {
                    Title = (string)x.Element("title")
                    ,
                    Summary = (string)x.Element("description")

                    ,
                    ImageUrl = Regex.Match(((string)(x.Element("htmlcontent"))), "<img.+?src=[\"'](.+?)[\"'].+?>", RegexOptions.IgnoreCase).Groups[1].Value

                    ,
                    Url = (string)x.Element("guid")
                    ,
                    PubDate = (DateTime)x.Element("pubDate")
                    ,
                    Author = string.Format(International.Translation.RssDateAndAuthor, (string)x.Element("creator"))
                }).ToList();


                News.Clear();
                foreach (var item in morenodes)
                {
                    News.Add(item);
                }
            }
            else
            {
                await _uxService.ShowAlert(International.Translation.NoConnection);
            }
        }
Beispiel #28
0
        public void LoadMarquee()
        {
            if (News == null)
            {
                News = new List <string>();
            }
            else
            {
                News.Clear();
            }
            string filename = string.Format("{0}/Resource/{1}", App.CONFIGPATH, lamppath);

            if (System.IO.File.Exists(filename))
            {
                using (FileStream fs = new FileStream(filename, FileMode.Open))
                {
                    StreamReader rd = new StreamReader(fs, System.Text.Encoding.Default);
                    rd.BaseStream.Seek(0, SeekOrigin.Begin);
                    string tmpstr = rd.ReadToEnd();
                    int    index  = 0;
                    foreach (string each in tmpstr.Split(new char[] { '\r', '\n' }))
                    {
                        if (string.IsNullOrEmpty(each))
                        {
                            continue;
                        }
                        if (index < 10)
                        {
                            News.Add(each);
                        }
                        //str += each + "          ";
                        index++;
                    }
                }
            }

            try
            {
                if (News.Count >= 10)
                {
                    return;
                }
                List <string> list = new List <string>();
                XmlSerializer xsi  = new XmlSerializer(typeof(List <string>));
                using (FileStream fs = new FileStream(System.IO.Path.Combine(App.CONFIGPATH, "Resource/News.xml"), FileMode.Open))
                {
                    list = xsi.Deserialize(fs) as List <string>;
                }

                if (list.Count == 0)
                {
                    return;
                }

                int length   = 10 - News.Count;
                int tmpcount = list.Count - 1;

                if (length > 0)
                {
                    List <int> tmp = new List <int>();
                    int        j;
                    for (int i = 0; i < length; i++)
                    {
                        do
                        {
                            Random r = new Random();
                            j = r.Next(tmpcount);
                        } while (tmp.Contains(j));
                        tmp.Add(j);
                        News.Add(list[j]);
                    }
                }

                string content = string.Empty;

                foreach (var each in News)
                {
                    content += each + "          ";
                }

                Lamp = content;
            }
            catch (Exception ex)
            {
            }
        }
Beispiel #29
0
        public void Bootstrap()
        {
            var _fs = new Filesystem(Directory.GetCurrentDirectory());

            Console.WriteLine("[I] Bootstrap...");
            AccessProvider.ProviderResponse     += Handle_Provider_Event;
            ServerProvider.ProviderResponse     += Handle_Provider_Event;
            ClientProvider.ProviderResponse     += Handle_Provider_Event;
            UserProvider.ProviderResponse       += Handle_Provider_Event;
            NewsProvider.ProviderResponse       += Handle_Provider_Event;
            NavigationProvider.ProviderResponse += Handle_Provider_Event;

            if (!Directory.Exists(Path.Combine(_fs.Root, "Providers")))
            {
                Directory.CreateDirectory(Path.Combine(_fs.Root, "Providers"));
                Console.WriteLine("[I] Provider installation needed..., Bootstrapping them...");
            }

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "System",
                Level    = ulong.MaxValue,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Server-Administratoren",
                Level    = byte.MaxValue,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Server-Operatoren",
                Level    = 250,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Seiten-Administroren",
                Level    = 245,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Seiten-Operatoren",
                Level    = 240,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "News-Administratoren",
                Level    = 235,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "News-Operatoren",
                Level    = 230,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Sendeplan-Administratoren",
                Level    = 225,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Sendeplan-Operatoren",
                Level    = 220,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Stream-Administratoren",
                Level    = 215,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Stream-Operatoren",
                Level    = 210,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Seiten-Mitglied",
                Level    = 1,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            AccessProvider.Add(Guid.NewGuid(), new GroupEntry <Guid>()
            {
                Active   = true,
                Name     = "Unregistriert",
                Level    = byte.MinValue,
                Locked   = true,
                Provider = AccessProvider.Name,
            });

            #region "News Provider - Installation"


            var news_user = Guid.Empty;
            var xmlDoc    = new XmlDocument();
            xmlDoc.Load(NewsProvider.InstallScript);
            var newsEntries = xmlDoc.SelectNodes("Namiono/Install/Users/User");

            for (var i = 0; i < newsEntries.Count; i++)
            {
                var res_level = ulong.MinValue;


                var user = new UserEntry <Guid>
                {
                    Id                                 = newsEntries[i].Attributes["Id"] == null?Guid.NewGuid() : Guid.Parse(newsEntries[i].Attributes["Id"].Value),
                                             Name      = newsEntries[i].Attributes["Name"].Value,
                                             Service   = bool.Parse(newsEntries[i].Attributes["Service"].Value == "0" ? "false" : "true"),
                                             Moderator = bool.Parse(newsEntries[i].Attributes["Moderator"].Value == "0" ? "false" : "true"),
                                             Locked    = bool.Parse(newsEntries[i].Attributes["Locked"].Value == "0" ? "false" : "true"),
                                             Password  = MD5.GetMD5Hash(newsEntries[i].Attributes["Password"].Value),
                                             Provider  = UserProvider.Name
                };

                if (newsEntries[i].Attributes["Level"] != null)
                {
                    ulong.TryParse(newsEntries[i].Attributes["Level"].Value, out res_level);
                    user.Level = res_level;
                }

                news_user = user.Id;

                UserProvider.Add(user.Id, user);
            }

            newsEntries = xmlDoc.SelectNodes("Namiono/Install/Entries/Entry");

            for (var i = 0; i < newsEntries.Count; i++)
            {
                var res_level = ulong.MinValue;

                var news = new NewsEntry <Guid>
                {
                    Name      = newsEntries[i].Attributes["Name"].Value,
                    Service   = bool.Parse(newsEntries[i].Attributes["Service"].Value == "0" ? "false" : "true"),
                    Moderator = bool.Parse(newsEntries[i].Attributes["Moderator"].Value == "0" ? "false" : "true"),
                    Locked    = bool.Parse(newsEntries[i].Attributes["Locked"].Value == "0" ? "false" : "true"),
                    OutPut    = newsEntries[i].Attributes["Output"].Value.Replace("[[NL]]", "<br />"),
                    Url       = newsEntries[i].Attributes["Url"].Value,
                    Author    = news_user
                };

                if (newsEntries[i].Attributes["Level"] != null)
                {
                    ulong.TryParse(newsEntries[i].Attributes["Level"].Value, out res_level);
                    news.Level = res_level;
                }


                NewsProvider.Add(Guid.NewGuid(), news);
            }

            #endregion

            #region "Navigation Provider - Installation"
            xmlDoc.Load(NavigationProvider.InstallScript);

            var navEntries = xmlDoc.SelectNodes("Namiono/Install/Entries/Entry");

            for (var i = 0; i < navEntries.Count; i++)
            {
                var res_level = ulong.MinValue;

                var nav = new NavigationEntry <Guid>
                {
                    Name      = navEntries[i].Attributes["Name"].Value,
                    Service   = bool.Parse(navEntries[i].Attributes["Service"].Value == "0" ? "false" : "true"),
                    Moderator = bool.Parse(navEntries[i].Attributes["Moderator"].Value == "0" ? "false" : "true"),
                    Locked    = bool.Parse(navEntries[i].Attributes["Locked"].Value == "0" ? "false" : "true"),
                    OutPut    = navEntries[i].Attributes["Output"].Value.Replace("[[NL]]", "<br />"),
                    Url       = navEntries[i].Attributes["Url"].Value,
                    Author    = Guid.Empty
                };

                if (navEntries[i].Attributes["Level"] != null)
                {
                    ulong.TryParse(navEntries[i].Attributes["Level"].Value, out res_level);
                    nav.Level = res_level;
                }


                NavigationProvider.Add(Guid.NewGuid(), nav);
            }


            NavigationProvider.Add(Guid.NewGuid(), new NavigationEntry <Guid>()
            {
                Name = "Mitglieder", Active = true, Locked = false, Level = 1, Frame = "#content", Provider = UserProvider.Name, Action = "show"
            });
            NavigationProvider.Add(Guid.NewGuid(), new NavigationEntry <Guid>()
            {
                Name = "News", Active = true, Locked = false, Level = 1, Frame = "#content", Provider = NewsProvider.Name, Action = "show"
            });

            #endregion
            AccessProvider.Bootstrap();
            ServerProvider.Bootstrap();
            ClientProvider.Bootstrap();
            UserProvider.Bootstrap();
            NewsProvider.Bootstrap();
            NavigationProvider.Bootstrap();



            Console.WriteLine("[I] Starting ...");
        }
Beispiel #30
0
        private void Selector_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            try
            {
                if (e.AddedItems == null || e.AddedItems.Count <= 0)
                {
                    return;
                }

                var viewModel = (TabViewModel)e.AddedItems[0];

                NewsBox.Visibility       = viewModel.Name == "Новости"
                    ? NewsBox.Visibility = Visibility.Visible
                    : Visibility.Collapsed;
                if (NewsBox.Visibility != Visibility.Visible)
                {
                    return;
                }

                News.Clear();

                Task.Factory.StartNew(async() =>
                {
                    try
                    {
                        var newsLogs = await ConfigurationManager.AppSettings["NewsApi"].GetJsonAsync <NewsModel[]>();

                        foreach (var newsModel in newsLogs.OrderByDescending(x => x.PostTime))
                        {
                            var id = newsModel.Id;

                            if (News.Select(x => x.Id).Contains(id))
                            {
                                continue;
                            }

                            var title    = newsModel.Title;
                            var message  = newsModel.Message;
                            var postTime = newsModel.PostTime;

                            Dispatcher.BeginInvoke(new Action(() =>
                            {
                                try
                                {
                                    News.Add(new NewsModel
                                    {
                                        Id       = id,
                                        Title    = title,
                                        Message  = message,
                                        PostTime = postTime
                                    });
                                }
                                catch (Exception ex)
                                {
                                    //todo: Add Log To Sql
                                    MessageBox.Show(ex.Message + " || " + ex.StackTrace);
                                }
                            }));
                        }
                    }
                    catch (Exception ex)
                    {
                        //todo: Add Log To Sql
                        MessageBox.Show(ex.Message + " || " + ex.StackTrace);
                    }
                });
            }
            catch (Exception ex)
            {
                //todo: Add Log To Sql
                MessageBox.Show(ex.Message + " || " + ex.StackTrace);
            }
        }