Ejemplo n.º 1
0
        public IActionResult GcpAnalyze(List <IFormFile> files)
        {
            var googleCloudVisionLib = new GoogleCloudVisionLib();

            var pageRects = files.SelectMany(file =>
            {
                var stream = file.OpenReadStream();
                if (file.FileName.ToLower().Contains(".pdf"))
                {
                    return(googleCloudVisionLib.ConvertPdfToImage(stream));
                }

                List <PageRect> pageRects = new List <PageRect>
                {
                    googleCloudVisionLib.OcrAnalyze(stream)
                };

                return(pageRects);
            }).ToList();

            var viewModel = new AnalyzeViewModel
            {
                PageRects = pageRects
            };

            return(View("Analyze", viewModel));
        }
Ejemplo n.º 2
0
 public WinSQLAnalyse(object WinPrincipal, AnalyzeViewModel ViewModel)
 {
     InitializeComponent();
     this.ViewModel                   = ViewModel;
     this.WinPrincipal                = WinPrincipal as Window;
     lbSelected.KeyDown              += this.ViewModel.ListBox_KeyDown;
     lbSelected.SelectionChanged     += this.ViewModel.lbSelected_SelectionChanged;
     this.ViewModel.dgvFieldSecundary = this.dgvFieldSecundary;
     this.ViewModel.dgvFieldPrimary   = this.dgvFieldPrimary;
 }
Ejemplo n.º 3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            _analyzeViewModel = new AnalyzeViewModel();
            _recordViewModel  = new RecordViewModel();

            _voiceTextView   = (EditText)(FindViewById(Resource.Id.voiceTextView));
            _analyzeTextView = (TextView)(FindViewById(Resource.Id.analyzedTextView));

            var recordButton = (Button)(FindViewById(Resource.Id.recordButton));

            recordButton.Click += async(object sender, EventArgs e) =>
            {
                _voiceTextView.Text   = string.Empty;
                _analyzeTextView.Text = string.Empty;
                _activityTask         = new TaskCompletionSource <Intent>();
                _voiceTextView.Text   = await _recordViewModel.RecordVoice(this, _activityTask);
            };

            var analyzeButton = (Button)(FindViewById(Resource.Id.analyzeButton));

            analyzeButton.Click += async(object sender, EventArgs e) =>
            {
                var analyzedInfoList = await _analyzeViewModel.AnalyzeTextAsync(_voiceTextView.Text);

                var spannableString = new SpannableString(_voiceTextView.Text);

                foreach (var analyzedInfo in analyzedInfoList)
                {
                    if (analyzedInfo.Item2 > 0.3)
                    {
                        continue;
                    }

                    var voiceText  = _voiceTextView.Text;
                    var foundIndex = voiceText.IndexOf(analyzedInfo.Item1, StringComparison.CurrentCultureIgnoreCase);
                    if (foundIndex == -1)
                    {
                        continue;
                    }

                    spannableString.SetSpan(new ForegroundColorSpan(Color.Red), foundIndex,
                                            foundIndex + analyzedInfo.Item1.Length, SpanTypes.ExclusiveExclusive);
                }

                _analyzeTextView.SetText(spannableString, TextView.BufferType.Spannable);
            };
        }
Ejemplo n.º 4
0
        public IActionResult Analyze(AnalyzeViewModel model)
        {
            if (model.UseMinWordLen && model.MinWordLen < 1)
            {
                return(BadRequest("مقدار حداقل تعداد حروف هر کلمه باید بیش از ۱ باشد."));
            }

            var longestWords = _analyzeService.LongestWordsAnalyzer(model.Text, new AnalyzeConfigDto()
            {
                UseMinWordLen       = model.UseMinWordLen,
                MinWordLen          = model.MinWordLen,
                UseStopwords        = model.UseStopwords,
                StopwordId          = model.StopwordId,
                ParseConnectedWords = model.ParseConnectedWords
            });
            var mostRepetitiveWords = _analyzeService.MostRepetitiveWordsAnalyzer(model.Text, new AnalyzeConfigDto()
            {
                UseMinWordLen       = model.UseMinWordLen,
                MinWordLen          = model.MinWordLen,
                UseStopwords        = model.UseStopwords,
                StopwordId          = model.StopwordId,
                ParseConnectedWords = model.ParseConnectedWords
            });
            var textWordCount = _analyzeService.CountTextWordsAnalyzer(model.Text, new AnalyzeConfigDto()
            {
                UseMinWordLen       = model.UseMinWordLen,
                MinWordLen          = model.MinWordLen,
                UseStopwords        = model.UseStopwords,
                StopwordId          = model.StopwordId,
                ParseConnectedWords = model.ParseConnectedWords
            });
            var distinctTextWordCount = _analyzeService.CountTextDistinctWordsAnalyzer(model.Text, new AnalyzeConfigDto()
            {
                UseMinWordLen       = model.UseMinWordLen,
                MinWordLen          = model.MinWordLen,
                UseStopwords        = model.UseStopwords,
                StopwordId          = model.StopwordId,
                ParseConnectedWords = model.ParseConnectedWords
            });

            return(Ok(new
            {
                longestWords,
                mostRepetitiveWords,
                textWordCount,
                distinctTextWordCount
            }));
        }
Ejemplo n.º 5
0
        public ActionResult Analyze(string screenName)
        {
            if (!string.IsNullOrEmpty(screenName))
            {
                if (Twitter.GetUser(screenName) != null)
                {
                    if (Twitter.GetUser(screenName).Protected != true)
                    {
                        screenName             = screenName.ToLower();
                        ViewBag.ScreenName     = screenName;
                        ViewBag.ImageUrl       = Twitter.GetAvatar(screenName);
                        ViewBag.TweetCount     = Twitter.GetTweetCount(screenName);
                        ViewBag.FollowersCount = Twitter.GetFollowerCount(screenName);
                        ViewBag.FollowingCount = Twitter.GetFollowingCount(screenName);
                        if (ViewBag.TweetCount > 0)
                        {
                            var model = new AnalyzeViewModel()
                            {
                                MostLikedStatuses   = Twitter.GetMostLikedTweets(screenName).Take(10),
                                MostReTweetStatuses = Twitter.GetMostReTweeted(screenName).Take(10)
                            };
                            return(View(model));
                        }
                        return(View());
                    }
                    else
                    {
                        screenName             = screenName.ToLower();
                        ViewBag.ScreenName     = screenName;
                        ViewBag.ImageUrl       = Twitter.GetAvatar(screenName);
                        ViewBag.TweetCount     = Twitter.GetTweetCount(screenName);
                        ViewBag.FollowersCount = Twitter.GetFollowerCount(screenName);
                        ViewBag.FollowingCount = Twitter.GetFollowingCount(screenName);

                        return(View());
                    }
                }

                else
                {
                    ViewBag.Hata = "Böyle bir kullanıcı bulunamadı.";
                    return(View());
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
Ejemplo n.º 6
0
        public async Task <ActionResult> Index(string url)
        {
            var httpClient    = new CbHttpClient();
            var analyzeResult = await httpClient.RunAsync(url);

            var jsSerializer = new JavaScriptSerializer();
            var jsonData     = jsSerializer.Serialize(analyzeResult);

            var model = new AnalyzeViewModel
            {
                FilterType        = "Achromatomaly",
                OriginalImagePath = analyzeResult.Normal.Url,
                FilterImagePath   = analyzeResult.Achromatomaly.Url,
                JsonData          = new HtmlString(jsonData)
            };

            return(View(model));
        }
Ejemplo n.º 7
0
        private void PrepareView()
        {
            _recordViewModel  = new RecordViewModel();
            _analyzeViewModel = new AnalyzeViewModel();

            AnalyzeButton.TouchUpInside += async(object sender, EventArgs e) =>
            {
                var analyzedInfoList = await _analyzeViewModel.AnalyzeTextAsync(VoiceTextField.Text);

                var attributedStringM = new NSMutableAttributedString(VoiceTextField.Text);

                foreach (var analyzedInfo in analyzedInfoList)
                {
                    if (analyzedInfo.Item2 > 0.3)
                    {
                        continue;
                    }

                    var voiceText  = VoiceTextField.Text;
                    var foundIndex = voiceText.IndexOf(analyzedInfo.Item1, StringComparison.CurrentCultureIgnoreCase);
                    if (foundIndex == -1)
                    {
                        continue;
                    }

                    var analyzedAttributes = new UIStringAttributes();
                    analyzedAttributes.ForegroundColor = UIColor.Red;
                    analyzedAttributes.UnderlineStyle  = NSUnderlineStyle.Thick;
                    attributedStringM.SetAttributes(analyzedAttributes, new NSRange(foundIndex,
                                                                                    analyzedInfo.Item1.Length));
                }

                var attributedString = new NSAttributedString(attributedStringM);
                AnalyzedLabel.AttributedText = attributedString;
            };

            var tapGesture = new UITapGestureRecognizer(async(UITapGestureRecognizer obj) =>
            {
                VoiceTextField.Text = string.Empty;
                VoiceTextField.Text = await _recordViewModel.RecordVoice();
            });

            VoiceImageView.AddGestureRecognizer(tapGesture);
        }
Ejemplo n.º 8
0
        public AnalyzeCommand(AnalyzeViewModel ViewModel)
        {
            this.ViewModel        = ViewModel;
            bWorkerTables         = new BackgroundWorker();
            bWorkerExecuteAnalyze = new BackgroundWorker();

            this.ViewModel.servers.Add("SEARCHING SERVERS SQL . . .");
            this.ViewModel.currentConexao.xServerName = "SEARCHING SERVERS SQL . . .";

            this.ViewModel.AddCommand = new RelayCommand(execute: i => this.AddConexao(),
                                                         canExecute: i => CanTesteAndADD());
            this.ViewModel.TestarCommand = new RelayCommand(execute: i => this.TestConnection(),
                                                            canExecute: i => CanTesteAndADD());
            this.ViewModel.NextCommand = new RelayCommand(execute: i => this.Next(i),
                                                          canExecute: i => CanNext());
            this.ViewModel.TpAnalyseCommand = new RelayCommand(execute: i => this.SetTpAnalyse(i),
                                                               canExecute: i => true);
            this.ViewModel.SelectAllCommand = new RelayCommand(execute: i => this.SelectAllCheckBox(),
                                                               canExecute: i => true);
            this.ViewModel.FindTableCommand = new RelayCommand(execute: i => this.FindTable(),
                                                               canExecute: i => CanFindTable());
            this.ViewModel.ExecuteAnalyzeCommand = new RelayCommand(execute: i => this.ExecuteAnalyze(),
                                                                    canExecute: i => CanExecuteAnalyze());

            this.ViewModel.fecharCommand = new RelayCommand(execute: i => Static.FecharWindow(i),
                                                            canExecute: i => true);

            this.ViewModel.MinimizeCommand = new RelayCommand(execute: i => Static.MinimizeWindow(i),
                                                              canExecute: i => true);
            this.ViewModel.FieldNotFoundCommand = new RelayCommand(execute: i => this.ViewModel.SetVisibleFields(this.ViewModel.currentModel.currentTablePrincipal),
                                                                   canExecute: i => true);



            // Pesquisa servidores SQL
            this.ViewModel.bWorkerPesquisa.DoWork += bWorkerPesquisa_DoWork;
            this.ViewModel.bWorkerPesquisa.RunWorkerAsync();
            this.bWorkerTables.DoWork += bWorkerTables_DoWork;

            this.bWorkerExecuteAnalyze.DoWork             += bWorkerExecuteAnalyze_DoWork;
            this.bWorkerExecuteAnalyze.RunWorkerCompleted += bWorkerExecuteAnalyze_RunWorkerCompleted;
        }
Ejemplo n.º 9
0
        public void シナリオ_OK()
        {
            // Moqを使ったモック
            // インターフェイスでインスタンス生成
            var eMock = new Mock <IDataBase>();

            // Moqを使用しメソッドの戻り値を定義
            eMock.Setup(x => x.GetDataBaseValue()).Returns(100);

            // ViewModelはMoqを使用してインスタンスを生成する
            var eViewModel = new AnalyzeViewModel(eMock.Object);

            // テストの実行
            // 初期化テスト
            Assert.AreEqual("", eViewModel.ATextBoxText);
            Assert.AreEqual("", eViewModel.BTextBoxText);
            Assert.AreEqual("", eViewModel.ResultLabelText);

            // 分析ボタンのテスト
            eViewModel.ATextBoxText = "2";
            eViewModel.BTextBoxText = "5";
            eViewModel.Analyze();
            // ①MSTestの構文
            Assert.AreEqual("107", eViewModel.ResultLabelText);
            // ②ChainingAssertionの構文 ①②とも同じだが②が可読性が高い
            eViewModel.ResultLabelText.Is("107");


            // 例外のテスト
            eViewModel.ATextBoxText = "-1";
            eViewModel.BTextBoxText = "5";
            // これだけで例外のテストが出来るが、戻り値からメッセージのテストもできる
            var ex = AssertEx.Throws <InputException>(() => eViewModel.Analyze());

            ex.Message.Is("入力値異常");
        }
Ejemplo n.º 10
0
        public ActionResult Analyze(AnalyzeViewModel model)
        {
            SEOResultViewModel resultViewModel = new SEOResultViewModel();

            if (!ModelState.IsValid)
            {
                resultViewModel.IsSuccess = false;
                resultViewModel.Error     = "Invalid input";

                return(Json(resultViewModel));
            }

            if (String.IsNullOrEmpty(model.PageContent) && String.IsNullOrEmpty(model.PageUrl))
            {
                resultViewModel.IsSuccess = false;
                resultViewModel.Error     = "Page URL or page content is required";

                return(Json(resultViewModel));
            }

            if (model.Options == null)
            {
                resultViewModel.IsSuccess = false;
                resultViewModel.Error     = "No analysis option is selected";

                return(Json(resultViewModel));
            }

            try
            {
                WebPage page;

                if (!String.IsNullOrEmpty(model.PageUrl))
                {
                    page = PageFactory.PageFromUrl(model.PageUrl);
                }
                else
                {
                    page = PageFactory.PageFromText(model.PageContent);
                }

                var options = new List <Constants.AnalysisOption>();

                foreach (var o in model.Options)
                {
                    switch (o)
                    {
                    case "countExternalLink":
                        options.Add(Constants.AnalysisOption.GetExternalLinks);
                        break;

                    case "countWords":
                        options.Add(Constants.AnalysisOption.CountWords);
                        break;

                    case "countMetaTag":
                        options.Add(Constants.AnalysisOption.CountMetaTags);
                        break;

                    default:
                        break;
                    }
                }

                SEOService seoService = new SEOService(page, options);
                var        result     = seoService.Analyze();

                resultViewModel.IsSuccess = true;
                List <WordCount> wordCounts = new List <WordCount>();
                foreach (var word in result.WordsOccurences)
                {
                    wordCounts.Add(new WordCount {
                        Word = word.Key, Total = word.Value
                    });
                }

                resultViewModel.WordCount = wordCounts;

                List <WordCount> metaTagsCounts = new List <WordCount>();
                foreach (var word in result.MetaTagOccurences)
                {
                    metaTagsCounts.Add(new WordCount {
                        Word = word.Key, Total = word.Value
                    });
                }

                resultViewModel.MetaTagsCount = metaTagsCounts;

                resultViewModel.ExternalLinks = result.ExternalLinks.ConvertAll(e => new Link {
                    Address = e
                });
            }
            catch (Exception ex)
            {
                resultViewModel.IsSuccess = false;
                resultViewModel.Error     = ex.Message;

                return(Json(resultViewModel));
            }


            return(Json(resultViewModel));
        }
Ejemplo n.º 11
0
 public static void SetControls(AnalyzeViewModel viewModel, ObservableCollection<Result> results, WebBrowser wbChart, bool isPie, TextBlock tb, StackPanel stpTranOrCust)
 {
     _results = results;
     _wbChart = wbChart;
     _isPie = isPie;
     _tb = tb;
     _viewModel = viewModel;
 }