Example #1
0
        private void MenuItem_NewSpeaker(object sender, RoutedEventArgs e)
        {
            Speaker sp;

            if (_speakerProvider.IsOnline)
            {
                sp = new ApiSynchronizedSpeaker("-----", "-----", Speaker.Sexes.X)
                {
                    IsSaved      = false,
                    DataBaseType = DBType.Api,
                }
            }
            ;
            else
            {
                sp = new Speaker("-----", "-----", Speaker.Sexes.X, null)
                {
                    DataBaseType = DBType.User
                }
            };;

            NewSpeaker = sp;

            SpeakerProvider.AddTempSpeaker(sp);

            var ss = SpeakerProvider.GetContainerForSpeaker(sp);

            SpeakersBox.SelectedValue = ss;
            ss.New     = true;
            ss.Changed = true;
            SpeakersBox.ScrollIntoView(SpeakersBox.SelectedItem);
        }
        public void SpeakerProvider_FromHtmlNode_Invalid_HtmlNode()
        {
            var speaker = SpeakerProvider.FromHtmlNode(null);

            Assert.IsNull(
                speaker,
                "Expected null object");
        }
Example #3
0
        private async Task <bool> TrySaveSpeaker(SpeakerContainer spk)
        {
            if (NewSpeaker == spk.Speaker)
            {
                if (await TestName(spk))
                {
                    bool reselect = spk == SpeakersBox.SelectedItem;
                    using (SpeakerProvider.DeferRefresh())
                    {
                        spk.ApplyChanges();
                        SpeakerProvider.DeleteSpeaker(spk.Speaker);
                        if (spk.IsOnline)
                        {
                            SpeakerProvider.AddOnlineSpeaker((ApiSynchronizedSpeaker)spk.Speaker);
                        }
                        else
                        {
                            SpeakerProvider.AddLocalSpeaker(spk.Speaker);
                        }

                        NewSpeaker = null;
                    }
                    if (reselect)
                    {
                        var ss = SpeakerProvider.GetContainerForSpeaker(spk.Speaker);
                        SpeakersBox.SelectedValue = ss;
                    }
                }
                else
                {
                    return(false); //do not apply or save - name is invalid
                }
            }

            spk.ApplyChanges();
            if (spk.IsOnline)
            {
                using (var wc = new WaitCursor())
                {
                    ApiSynchronizedSpeaker ss = spk.Speaker as ApiSynchronizedSpeaker;
                    if (ss == null)
                    {
                        return(false);
                    }
                    if (ss.IsSaved)
                    {
                        return(await _transcription.Api.UpdateSpeaker(ss));
                    }
                    else
                    {
                        return(await _transcription.Api.AddSpeaker(ss));
                    }
                }
            }

            return(true);;
        }
Example #4
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            var speakersFolder = new DirectoryInfo(Server.MapPath("~/App/Speakers/Data/"));
            Speakers = new SpeakerProvider(speakersFolder);
        }
        public void SpeakerProvider_FromHtmlNodes()
        {
            var htmlNodes = scraper.Speakers;

            var speakers = SpeakerProvider.FromHtmlNodes(htmlNodes);

            Assert.IsTrue(
                speakers?.Any() ?? false,
                "Expected speakers to be returned");
        }
        public void SpeakerProvider_FromHtmlNode_KeyNote()
        {
            var speakerNode = scraper.KeyNote;

            var speaker = SpeakerProvider.FromHtmlNode(speakerNode);

            Assert.IsTrue(
                speaker.Track.Equals("keynote"),
                "Expected speaker to be keynote");
        }
        public void SpeakerProvider_FromHtmlNode()
        {
            var speakerNode = scraper.KeyNote;

            var speaker = SpeakerProvider.FromHtmlNode(speakerNode);

            Assert.IsNotNull(
                speaker,
                "Expected speaker object to be returned");
        }
        public async Task Test1()
        {
            // prepare
            var settings = new Settings {
                AuditRepoDirectory = "/Users/alex-mbp/repos/Audit"
            };
            ISpeakerProvider speakerProvider = new SpeakerProvider(null, settings);

            // test
            var speakers = await speakerProvider.GetAllSpeakersAsync();

            Assert.NotNull(speakers);
            Assert.NotEmpty(speakers);

            var speaker = speakers.First();

            var lastUpdateDate = speaker.GetLastUpdateDate(settings);
            var date           = DateTime.Parse(lastUpdateDate);

            Assert.False(DateTime.MinValue == date);
        }
Example #9
0
        private async Task <bool> TestName(SpeakerContainer spk)
        {
            if (string.IsNullOrWhiteSpace(spk.FullName.Replace("-", "")))
            {
                MessageBox.Show(string.Format(Properties.Strings.SpeakersManagerSpeakerNameConflictForbiddenQuestionFormat, spk.FullName), Properties.Strings.SpeakersManagerSpeakerNameConflictCaption, MessageBoxButton.OK, MessageBoxImage.Exclamation);
                return(false);
            }
            else
            {
                var similar = await SpeakerProvider.FindSimilar(spk);

                if (similar.Length > 0)
                {
                    if (MessageBox.Show(string.Format(Properties.Strings.SpeakersManagerSpeakerNameConflictQuestionFormat, string.Join(",", similar.Take((similar.Length > 3) ? 3 : similar.Length).Select(s => s.FullName))),
                                        Properties.Strings.SpeakersManagerSpeakerNameConflictCaption, MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.No)
                    {
                        return(false);
                    }
                }
            }

            return(true);
        }
Example #10
0
        private MessageBoxResult CheckChanges(SpeakerContainer sc)
        {
            if (!sc.Changed)
            {
                return(MessageBoxResult.OK);
            }

            var result = MessageBox.Show(string.Format(Properties.Strings.SpeakersManagerSpeakerApplyChangesDialogFormat, sc.FullName), Properties.Strings.SpeakersManagerSpeakerApplyChangesDialogQuestion, MessageBoxButton.YesNoCancel, MessageBoxImage.Question);

            var ss = sc.Speaker;

            if (result == MessageBoxResult.Yes)
            {
                bool saved = AsyncHelpers.RunSync(() => TrySaveSpeaker(sc));
                if (!saved)
                {
                    result = MessageBoxResult.No;
                }
                else
                {
                    return(MessageBoxResult.Yes);
                }
            }

            if (result == MessageBoxResult.No)
            {
                if (NewSpeaker == sc.Speaker)
                {
                    NewSpeaker = null;
                    SpeakerProvider.DeleteSpeaker(ss);
                }
                sc.ReloadSpeaker();
                return(MessageBoxResult.No);
            }

            return(MessageBoxResult.Cancel);
        }
        public void Given_source_data()
        {
            var directory = GetDataDirectory();

            _provider = new SpeakerProvider(directory);
        }
 public void SpeakerProvider_FromHtmlNodes_Invalid_HtmlNodes()
 {
     _ = SpeakerProvider.FromHtmlNodes(null);
 }
 public void Given_source_data()
 {
     var directory = GetDataDirectory();
     _provider = new SpeakerProvider(directory);
 }