Пример #1
0
        public async Task <IActionResult> Choose(Choose model, string un, string fa, bool locker)
        {
            if (!locker)
            {
                ViewBag.Logout = "Выйти";
                ViewBag.Find   = "Найти";
                ViewBag.Un     = "Университет";
                ViewBag.Fa     = "Факультет";
                ViewBag.Uns    = "Университеты";
                ViewBag.Us     = "Пользователи";
                var Univer = await this.context.Universities.ToListAsync();

                var Faculty = await this.context.Faculties.ToListAsync();

                var model1 = new Choose
                {
                    Universities = (ICollection <University>)Univer,
                    Faculties    = (ICollection <Faculty>)Faculty,
                    University   = un
                };
                this.ViewBag.University = un;
                return(this.View(model1));
            }
            ViewBag.Logout    = "Выйти";
            ViewBag.Us        = "Пользователи";
            ViewBag.Uns       = "Университеты";
            ViewBag.Negative  = "Отрицательные";
            ViewBag.Neutral   = "Нейтральные";
            ViewBag.Positive  = "Положительные";
            ViewBag.Undefined = "Неопределённые";
            ViewBag.Export    = "Сохранить";
            ViewBag.Startover = "Начать заново";
            ViewBag.Filters   = "Фильтры";
            ViewBag.Target    = "Целевая аудитория";
            ViewBag.Emp1      = "Работники";
            ViewBag.Emp2      = "Работодатели";
            ViewBag.Stu       = "Студенты";
            ViewBag.Ab        = "Абитуриенты";
            ViewBag.Grad      = "Выпускники";
            ViewBag.Nick      = "Имя пользователя";
            ViewBag.Em        = "Эмоциональная окраска";
            ViewBag.Key       = "Ключевые слова";
            ViewBag.Time      = "Временной промежуток";
            ViewBag.From      = "От";
            ViewBag.To        = "До";
            ViewBag.Accept    = "Принять";



            Post[] posts = await parsingService.Common(un + " " + fa, un, fa);

            var itemsToDelete = context.Set <Post>();

            context.Posts.RemoveRange(itemsToDelete);
            await context.SaveChangesAsync();

            int    Count      = 0;
            double vkc        = 0;
            double gazetac    = 0;
            double vestic     = 0;
            double riac       = 0;
            double twitc      = 0;
            double newsc      = 0;
            double profc      = 0;
            double regnumc    = 0;
            double positivec  = 0;
            double negativec  = 0;
            double neutralc   = 0;
            double uncertainc = 0;

            foreach (var postitem in posts)
            {
                var post = new Post
                {
                    ownersName = postitem.ownersName,
                    text       = postitem.text,
                    date       = postitem.date,
                    comments   = postitem.comments,
                    link       = postitem.link,
                    emo        = postitem.emo,
                    pass       = postitem.pass,
                    source     = postitem.source
                };
                Count++;

                switch (post.source)
                {
                case "vk":
                    vkc++;
                    break;

                case "gazeta":
                    gazetac++;
                    break;

                case "vesti":
                    vestic++;
                    break;

                case "prof":
                    profc++;
                    break;

                case "regnum":
                    regnumc++;
                    break;

                case "news.ru":
                    newsc++;
                    break;

                case "twitter":
                    twitc++;
                    break;

                case "ria":
                    riac++;
                    break;
                }
                switch (post.emo)
                {
                case 0:
                    positivec++;
                    break;

                case 1:
                    negativec++;
                    break;

                case 2:
                    neutralc++;
                    break;

                case 3:
                    uncertainc++;
                    break;
                }
                context.Posts.Add(post);
            }
            this.ViewBag.vkc        = vkc;
            this.ViewBag.newsc      = newsc;
            this.ViewBag.riac       = riac;
            this.ViewBag.twitc      = twitc;
            this.ViewBag.gazetac    = gazetac;
            this.ViewBag.vestic     = vestic;
            this.ViewBag.profc      = profc;
            this.ViewBag.regnumc    = regnumc;
            this.ViewBag.positivec  = positivec;
            this.ViewBag.negativec  = negativec;
            this.ViewBag.neutralc   = neutralc;
            this.ViewBag.uncertainc = uncertainc;
            if (vkc > 0)
            {
                ViewBag.vkp = (int)(vkc / Count * 100);
            }
            else
            {
                ViewBag.vkp = 0;
            }
            if (riac > 0)
            {
                ViewBag.riap = (int)(riac / Count * 100);
            }
            else
            {
                ViewBag.riap = 0;
            }
            if (newsc > 0)
            {
                ViewBag.newsp = (int)(newsc / Count * 100);
            }
            else
            {
                ViewBag.newsp = 0;
            }
            if (twitc > 0)
            {
                ViewBag.twitp = (int)(twitc / Count * 100);
            }
            else
            {
                ViewBag.twitp = 0;
            }
            if (gazetac > 0)
            {
                ViewBag.gazetap = (int)(gazetac / Count * 100);
            }
            else
            {
                ViewBag.gazetap = 0;
            }
            if (vestic > 0)
            {
                ViewBag.vestip = (int)(vestic / Count * 100);
            }
            else
            {
                ViewBag.vestip = 0;
            }
            if (profc > 0)
            {
                ViewBag.profp = (int)(profc / Count * 100);
            }
            else
            {
                ViewBag.profp = 0;
            }
            if (regnumc > 0)
            {
                ViewBag.regnump = (int)(regnumc / Count * 100);
            }
            else
            {
                ViewBag.regnump = 0;
            }
            if (positivec > 0)
            {
                ViewBag.positivep = (int)(positivec / Count * 100);
            }
            else
            {
                ViewBag.positivep = 0;
            }
            if (negativec > 0)
            {
                ViewBag.negativep = (int)(negativec / Count * 100);
            }
            else
            {
                ViewBag.negativep = 0;
            }
            if (neutralc > 0)
            {
                ViewBag.neutralp = (int)(neutralc / Count * 100);
            }
            else
            {
                ViewBag.neutralp = 0;
            }
            if (uncertainc > 0)
            {
                ViewBag.uncertainp = (int)(uncertainc / Count * 100);
            }
            else
            {
                ViewBag.uncertainp = 0;
            }


            await this.context.SaveChangesAsync();

            var Postmass = await this.context.Posts.ToListAsync();

            return(this.View("List", new List
            {
                Posts = (ICollection <Post>)Postmass,
                Query = un + " " + fa
            }));
        }