예제 #1
0
        public Form_AddPost(preposts prPost)
        {
            InitializeComponent();

            Program.statusBarGlobal.onChangeDescription += StatusBarGlobal_onChangeDescription;
            Program.statusBarGlobal.onChangeMessage     += StatusBarGlobal_onChangeMessage;
            Program.statusBarGlobal.onChangeProgress    += StatusBarGlobal_onChangeProgress;

            post = new Post(prPost);

            textBox_NamePost.Text = post.Name;

            textBox_TorrentFile.Text         = post.TorrentPath;
            openFileDialog1.InitialDirectory = Path.GetDirectoryName(post.TorrentPath);

            imgsSlider = new Slider <string>(post.Imgs.AllCollection);
            imgsSlider.onChangeSlide += ImgsSlider_onChangeImg;
            imgsSlider.Initialize();

            textBox_Description.Text = post.Description;

            spoilerSlider = new Slider <SpoilersItem>(post.Spoilers);
            spoilerSlider.onChangeSlide += SpoilerSlider_onChangeSlide;
            spoilerSlider.Initialize();

            searchStr = new SearchStr(post.Name);
            searchStr.onChangeName    += SearchStr_onChangeName;
            textBox_SearchProgram.Text = searchStr.ShortName;

            dataGridView_Search.DataSource         = SearchList.UpdateProgramsGrid(textBox_SearchProgram.Text);
            dataGridView_Search.Columns[0].Visible = false;
        }
예제 #2
0
        private void T_OnPostReceived(object sender, RutorListEventArgs e)
        {
            //dw возвращаем объект из события
            RutorList tracker = sender as RutorList;

            //dw если бд пустая, просто добавляем в бд
            //инчае нужно делать проверку на дубликаты
            if (context.preposts.Count() == 0)
            {
                AddPostInDB(e.Posts, tracker.ExpressionDb);
                return;
            }

            //dw проверка на дубликаты записей в бд
            List <TrackersListItem> listNew = new List <TrackersListItem>();

            foreach (var item in e.Posts.OrderBy(it => it.Index))
            {
                preposts result = context.preposts.SingleOrDefault(it => it.magnet == item.Magnet);
                if (result == null)
                {
                    listNew.Add(item);
                }
            }
            listNew = listNew.OrderByDescending(it => it.Index).ToList();
            AddPostInDB(listNew, tracker.ExpressionDb);
        }
예제 #3
0
        public void GetPost(preposts prPost)
        {
            HTMLPage page = new HTMLPage();

            page.OnPageDownload += Page_OnPageDownload;
            page.SetPage(prPost.href);
        }
예제 #4
0
        private void опубликоватьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int selectedRows = dataGridView_NewPost.SelectedRows[0].Index;
            // получаем значение из выделенной строки первой колонки
            string idPrepost = dataGridView_NewPost.Rows[selectedRows].Cells[0].Value.ToString();
            // то есть получаем id выделенной записи

            mydbContext mydb   = new mydbContext();
            preposts    prPost = mydb.preposts.Single(n => n.id.ToString() == idPrepost);

            Form_AddPost form_AddPost = new Form_AddPost(prPost);

            form_AddPost.FormClosed += PostList_onAfterAdd;
            form_AddPost.ShowDialog();
        }
예제 #5
0
        public void Add()
        {
            mydbContext mydb = new mydbContext();

            AddPost(mydb);

            posts post = mydb.posts
                         .OrderByDescending(el => el.id)
                         .First();

            AddScreen(mydb, post);
            AddSpoilers(mydb, post);

            preposts prPost = mydb.preposts.Single(el => el.id == PrepostID);

            prPost.itpublic = 1;
            mydb.SaveChanges();

            Program.statusBarGlobal.Message     = "Добавление поста";
            Program.statusBarGlobal.Description = "Пост успешно добавлен.";
        }
예제 #6
0
        private void AddPostInDB(List <TrackersListItem> lst, Func <tracker, bool> tExpression)
        {
            tracker t = context.tracker.Single(tExpression);

            foreach (var item in lst)
            {
                preposts prepost = new preposts
                {
                    name     = item.Name,
                    href     = item.Href,
                    date     = DateTime.Today,
                    itpublic = 0,
                    tracker1 = t,
                    magnet   = item.Magnet,
                };
                context.preposts.Add(prepost);
            }
            context.SaveChanges();
            //dw вызываем событие после добавления в бд
            OnAfterAdd?.Invoke(this, EventArgs.Empty);
        }
예제 #7
0
        public static void ClassInitialize(TestContext context)
        {
            TestPage testPage0 = new TestPage
            {
                url         = @"http://rutor.is/torrent/541697/beloff-2019.2-minstall-vs-wpi-2019-pc-iso",
                description = @"<br><img src=""http://img15.lostpic.net/2019/01/02/12e0aa4792bfadadf135371c64e22316.jpg""><br>",
                spoilers    = 6,
                pic         = 1,
            };

            TestPage testPage1 = new TestPage
            {
                url         = @"http://rutor.is/torrent/315024/gimp-2.10.8-final-2019-rs",
                description = @"<img src=""http://i5.imageban.ru/out/2015/12/19/805d48652ce568b6b6f9262d5d54028c.jpg"" style=""float:right;"">",
                spoilers    = 3,
                pic         = 7,
            };

            testedNowPage = testPage0;

            preposts pr = new preposts
            {
                href = testedNowPage.url,
            };
            bool flagCall = false;

            item              = new RutorItem();
            item.OnPostMaked += delegate(object s, EventArgs e)
            {
                flagCall = true;
            };
            item.GetPost(pr);

            for (int callCount = 0; callCount < 48 && !flagCall; callCount++)
            {
                Thread.Sleep(250);
            }
        }
예제 #8
0
        public Post(preposts prPost)
        {
            switch (prPost.tracker)
            {
            case 1:
                item = new RutorItem();
                break;

            case 2:
                break;

            case 3:
                break;
            }

            Name        = item.Name;
            Description = item.Description;
            Spoilers    = item.Spoilers;
            TorrentPath = item.TorrentPath;
            PrepostID   = prPost.id;

            SwithcAndFilterImg(item);
        }