Exemple #1
0
    protected void GetAddingEventById(long id)
    {
        AddinsGetAddinDetailsByIdResult addinToEdit = new AddinsManager().GetAddinDetailsById(id);

        if (addinToEdit != null)
        {
            ddlAddinType.SelectedValue = addinToEdit.Type;
            //ddlAddinType_SelectedIndexChanged(ddlAddinType, new EventArgs());

            ddlLanguage.SelectedValue = addinToEdit.LanguageID.ToString();
            //ddlEventType.SelectedValue = addinToEdit.Type;
            txtPriority.Text = addinToEdit.Priority.ToString();
            txtName.Text     = addinToEdit.Title;
            //tURL.Text = addinToEdit.Details;
            txtShortDesc.Text  = addinToEdit.ShortDesc;
            cbViewHome.Checked = (bool)addinToEdit.ViewHome;
            cbActive.Checked   = (bool)addinToEdit.Active;

            //hfImageName.Value = addinToEdit.main_picture;
            editorDetails.Value = addinToEdit.Details;

            //cbPicThisMonth.Checked = (addinToEdit.ThisMonth != null ? (bool)(addinToEdit.ThisMonth) : false);
            //txtYoutubeId.Text = addinToEdit.main_picture;



            //if (addinToEdit.main_picture != null) { SelectedBackgroundImage.ImageUrl = "../../Public/image/library/" + addinToEdit.main_picture; hfImageName.Value = addinToEdit.main_picture; }
            // if (addinToEdit.Timestamp != null) { txtDatetime.Text = addinToEdit.Timestamp.ToString(); }
        }
        else
        {
            Response.RedirectPermanent("AddinView.aspx"); //?langId=" + ddlLanguageID.SelectedValue);
        }
    }
Exemple #2
0
        public AddinManagerCtrl(AddinsManager manager)
        {
            InitializeComponent();

            _addinManager = manager;

            GetAddins();
        }
Exemple #3
0
    //protected void ddlAddinType_SelectedIndexChanged(object sender, EventArgs e)
    //{
    //    ShowHideMediaControls(ddlAddinType.SelectedIndex);
    //}



    //private void ShowHideMediaControls(int selected)
    //{
    //    switch (selected)
    //    {
    //        case 2: // media photo
    //            {
    //                lblYoutube.Visible = txtYoutubeId.Visible = false;
    //                lblFile.Visible = FileUpload1.Visible = true;

    //                cbPicThisMonth.Visible = true;

    //                break;
    //            }
    //        case 3: // media youtube
    //            {
    //                lblYoutube.Visible = txtYoutubeId.Visible = true;
    //                cbPicThisMonth.Visible = lblFile.Visible = FileUpload1.Visible = false;

    //                break;
    //            }
    //        default:
    //            {
    //                cbPicThisMonth.Visible = lblYoutube.Visible = txtYoutubeId.Visible = false;
    //                lblFile.Visible = FileUpload1.Visible = true;

    //                break;
    //            }


    //    }
    //}

    private void EditAdding()
    {
        Addin         addinToEdit = new Addin();
        AddinsManager addmgr      = new AddinsManager();


        if (txtName.Text != String.Empty && txtShortDesc.Text != String.Empty)
        {
            if (Request.QueryString["id"] != null)
            {
                addinToEdit.ID = Convert.ToInt32(Request.QueryString["id"]);
            }
            addinToEdit.Active = cbActive.Checked;
            //addinToEdit.ur = txtURL.Text;
            addinToEdit.LanguageID = Convert.ToInt32(ddlLanguage.SelectedValue);
            addinToEdit.Priority   = Convert.ToInt32(txtPriority.Text);
            addinToEdit.Title      = txtName.Text;
            addinToEdit.ViewHome   = cbViewHome.Checked;
            addinToEdit.ShortDesc  = txtShortDesc.Text;
            addinToEdit.Details    = editorDetails.Value;
            addinToEdit.Timestamp  = DateTime.Now;

            //addinToEdit.main_picture = UploadFile();
            addinToEdit.Type = ddlAddinType.SelectedValue;

            //if (ddlAddinType.SelectedIndex == 3) // youtube video.
            //{ addinToEdit.main_picture = txtYoutubeId.Text; }
            //else if (ddlAddinType.SelectedIndex == 2)
            //{

            //    if (FileUpload1.HasFile)
            //    { addinToEdit.main_picture = UploadFile(); }
            //    else
            //    { addinToEdit.main_picture = hfImageName.Value; }


            //    addinToEdit.ThisMonth = cbPicThisMonth.Checked;

            //}


            if (addmgr.UpdateAddin(addinToEdit))
            {
                Response.RedirectPermanent("AddinView.aspx"); //?langId=" + ddlLanguageID.SelectedValue);
            }
            else
            {
                lblError.Text = Resources.AdminResources_en.ErrorSave;
            }
        }
        else
        {
            lblError.Text = Resources.AdminResources_en.DataRequired;
        }
    }
Exemple #4
0
        public PreferencesForm(AddinsManager addinsManager)
        {
            InitializeComponent();

            AddinTree.Sort();

            _addinManager = addinsManager;
            _addinPages   = new Dictionary <string, IPreferencePageExtension>();

            InitAddinManager();

            RefreshTreeView();

            _addinManager.OnApplicationAddinListChanged += OnAppAddinListChanged;
        }
Exemple #5
0
    private void AddNewAdding()
    {
        Addin         addinToAdd = new Addin();
        AddinsManager addmgr     = new AddinsManager();


        if (txtName.Text != String.Empty && txtShortdesc.Text != String.Empty)
        {
            addinToAdd.ShortDesc  = txtShortdesc.Text;
            addinToAdd.Details    = editorDetails.Value;
            addinToAdd.LanguageID = Convert.ToInt32(ddlLanguage.SelectedValue);
            addinToAdd.Priority   = Convert.ToInt32(txtPriority.Text);
            addinToAdd.Title      = txtName.Text;
            addinToAdd.Active     = cbActive.Checked;
            addinToAdd.ViewHome   = cbViewHome.Checked;
            addinToAdd.Timestamp  = DateTime.Now;

            addinToAdd.Type = ddlAddinType.SelectedValue;


            //if (ddlAddinType.SelectedIndex == 3) // youtube video.
            //{ addinToAdd.main_picture = txtYoutubeId.Text; }
            //else if (ddlAddinType.SelectedIndex == 2)
            //{
            //    addinToAdd.main_picture = UploadFile();
            //    addinToAdd.ThisMonth = cbPicThisMonth.Checked;
            //}


            if (addmgr.AddNewAddin(addinToAdd))
            {
                Response.RedirectPermanent("AddinView.aspx"); //?lang=" + ddlLanguageID.SelectedValue);
            }
            else
            {
                lblError.Text += Resources.AdminResources_en.ErrorSave;
            }
        }
        else
        {
            lblError.Text += Resources.AdminResources_en.DataRequired;
        }
    }
Exemple #6
0
    protected void gvNews_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {
            // Get link id to delete.
            int catID = Convert.ToInt32(e.CommandArgument);

            // Delete event.
            AddinsManager addinObj = new AddinsManager();
            if (addinObj.DeleteAddin(catID))
            {
                lblError.Text = Resources.AdminResources_en.SuccessDelete;
            }
            else
            {
                lblError.Text = Resources.AdminResources_en.ErrorDelete;
            }
        }
    }
        public void TestInitializationFromScratch()
        {
            CoreServices.Init();
            App.Init();
            Assert.AreEqual(homePath, App.Current.HomeDir);
            Assert.AreEqual(homePath, App.Current.ConfigDir);
            Assert.AreEqual(homePath, Directory.GetParent(App.Current.DBDir).ToString());
            Assert.AreEqual(homePath, Directory.GetParent(App.Current.PlayListDir).ToString());
            Assert.AreEqual(homePath, Directory.GetParent(App.Current.SnapshotsDir).ToString());
            Assert.AreEqual(homePath, Directory.GetParent(App.Current.VideosDir).ToString());

            AddinsManager.Initialize(App.Current.PluginsConfigDir, App.Current.PluginsDir);

            App.Current.DrawingToolkit            = drawingToolkitMock.Object;
            App.Current.MultimediaToolkit         = multimediaToolkitMock.Object;
            App.Current.GUIToolkit                = guiToolkitMock.Object;
            App.Current.LicenseManager            = mockLicenseManager.Object;
            App.Current.LicenseLimitationsService = mockLicenseLimitationService.Object;
            App.Current.PreviewService            = new Mock <IPreviewService> ().Object;

            CoreServices.Start(App.Current.GUIToolkit, App.Current.MultimediaToolkit);

            // Check database dirs
            Assert.AreEqual(Path.Combine(homePath, "db"), Directory.GetParent(App.Current.TeamsDir).ToString());
            Assert.AreEqual(Path.Combine(homePath, "db"), Directory.GetParent(App.Current.AnalysisDir).ToString());
            Assert.AreEqual(1, App.Current.DatabaseManager.Databases.Count);

            // Check templates and db are initialized
            Assert.AreEqual(2, App.Current.TeamTemplatesProvider.Templates.Count);
            Assert.AreEqual(1, App.Current.CategoriesTemplatesProvider.Templates.Count);
            Assert.AreEqual(0, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ());

            CoreServices.Stop();

            // Simulate an application restart
            CoreServices.Init();
            CoreServices.Start(App.Current.GUIToolkit, App.Current.MultimediaToolkit);
            Assert.AreEqual(2, App.Current.TeamTemplatesProvider.Templates.Count);
            Assert.AreEqual(1, App.Current.CategoriesTemplatesProvider.Templates.Count);
            Assert.AreEqual(0, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ());
        }
Exemple #8
0
        public static void Main(string[] args)
        {
            /* Init Gtk */
            Application.Init();

            Core.Init();

            /* Init GStreamer */
            GStreamer.Init();
            if (!GStreamer.CheckInstallation())
            {
                return;
            }

            GLib.ExceptionManager.UnhandledException += new GLib.UnhandledExceptionHandler(OnException);
            Version version = Assembly.GetExecutingAssembly().GetName().Version;

            try {
                AddinsManager manager = new AddinsManager(Config.PluginsConfigDir, Config.PluginsDir);
                manager.LoadConfigModifierAddins();
                GUIToolkit         guiToolkit        = new GUIToolkit(version);
                IMultimediaToolkit multimediaToolkit = new MultimediaFactory();
                manager.LoadExportProjectAddins(guiToolkit.MainWindow);
                manager.LoadImportProjectAddins(guiToolkit.MainWindow);
                try {
                    Core.Start(guiToolkit, multimediaToolkit);
                } catch (DBLockedException locked) {
                    string msg = Catalog.GetString("The database seems to be locked by another instance and " +
                                                   "the application will closed.");
                    Log.Exception(locked);
                    return;
                }
                Application.Run();
            } catch (Exception ex) {
                ProcessExecutionError(ex);
            }
        }
Exemple #9
0
        public async Task TestGameAnalysis()
        {
            Guid projectID;

            App.Init();
            CoreServices.Init();
            App.Current.DependencyRegistry.Register <VAS.DB.IFileStorage, FileStorage> (0);

            AddinsManager.Initialize(App.Current.PluginsConfigDir, App.Current.PluginsDir);
            App.Current.DrawingToolkit            = drawingToolkitMock.Object;
            App.Current.MultimediaToolkit         = multimediaToolkitMock.Object;
            App.Current.GUIToolkit                = guiToolkitMock.Object;
            App.Current.Dialogs                   = mockDialogs.Object;
            App.Current.Config.AutoSave           = true;
            App.Current.LicenseManager            = mockLicenseManager.Object;
            App.Current.LicenseLimitationsService = mockLicenseLimitationService.Object;
            App.Current.PreviewService            = new Mock <IPreviewService> ().Object;
            CoreServices.Start(App.Current.GUIToolkit, App.Current.MultimediaToolkit);

            // Start importing templates
            App.Current.TeamTemplatesProvider.Save(
                App.Current.TeamTemplatesProvider.LoadFile(Utils.SaveResource("spain.ltt", tmpPath)));
            App.Current.TeamTemplatesProvider.Save(
                App.Current.TeamTemplatesProvider.LoadFile(Utils.SaveResource("france.ltt", tmpPath)));
            App.Current.CategoriesTemplatesProvider.Save(
                App.Current.CategoriesTemplatesProvider.LoadFile(Utils.SaveResource("basket.lct", tmpPath)));
            Assert.AreEqual(4, App.Current.TeamTemplatesProvider.Templates.Count);
            Assert.AreEqual(2, App.Current.CategoriesTemplatesProvider.Templates.Count);

            // Create a new project and open it
            LMProject p = CreateProject();

            projectID = p.ID;
            LMProjectAnalysisVM viewModel;

            viewModel = new LMProjectAnalysisVM();
            IVideoPlayerController playerController = new Mock <IVideoPlayerController> ().Object;

            viewModel.Project = new LMProjectVM {
                Model = p
            };
            viewModel.VideoPlayer = new VideoPlayerVM {
                Player = playerController
            };
            eventsController.SetViewModel(viewModel);

            // Do controllers start in here since the EventBroker is instantiante again in the test
            await eventsController.Start();

            toolsManager.Start();

            App.Current.DatabaseManager.ActiveDB.Store <LMProject> (p, true);

            // Tag some events
            Assert.AreEqual(0, p.Timeline.Count);
            AddEvent(p, 5, 3000, 3050, 3025);
            Assert.AreEqual(1, p.Timeline.Count);
            LMProject savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID);

            Assert.AreEqual(1, savedP.Timeline.Count);
            AddEvent(p, 6, 3000, 3050, 3025);
            AddEvent(p, 7, 3000, 3050, 3025);
            AddEvent(p, 8, 3000, 3050, 3025);
            AddEvent(p, 5, 3000, 3050, 3025);
            Assert.AreEqual(5, p.Timeline.Count);
            savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID);
            Assert.AreEqual(5, savedP.Timeline.Count);

            // Delete some events
            var events = new List <TimelineEvent> {
                p.Timeline [0],
                p.Timeline [1]
            };

            await App.Current.EventsBroker.Publish <EventsDeletedEvent> (
                new EventsDeletedEvent {
                TimelineEvents = events.Select(e => new TimelineEventVM()
                {
                    Model = e
                })
            }
                );

            Assert.AreEqual(3, p.Timeline.Count);
            savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID);
            Assert.AreEqual(3, savedP.Timeline.Count);

            // Now create a new LMProject with the same templates
            LMProject newProject = CreateProject();

            viewModel.Project.Model = newProject;
            App.Current.DatabaseManager.ActiveDB.Store <LMProject> (newProject);
            Assert.AreEqual(2, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ());

            // Add some events and than remove it from the DB
            AddEvent(newProject, 6, 3000, 3050, 3025);
            AddEvent(newProject, 7, 3000, 3050, 3025);
            AddEvent(newProject, 8, 3000, 3050, 3025);
            AddEvent(newProject, 5, 3000, 3050, 3025);
            App.Current.DatabaseManager.ActiveDB.Delete <LMProject> (newProject);

            // Reopen the old project
            savedP = App.Current.DatabaseManager.ActiveDB.RetrieveAll <LMProject> ().FirstOrDefault(pr => pr.ID == projectID);
            viewModel.Project.Model = savedP;

            await App.Current.EventsBroker.Publish <SaveProjectEvent> (
                new SaveProjectEvent {
                Project     = savedP,
                ProjectType = ProjectType.FileProject
            }
                );

            // Export this project to a new file
            savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (projectID);
            Assert.AreEqual(3, savedP.Timeline.Count);
            Assert.AreEqual(12, savedP.LocalTeamTemplate.List.Count);
            Assert.AreEqual(12, savedP.VisitorTeamTemplate.List.Count);
            string tmpFile = Path.Combine(tmpPath, "longomatch.lgm");

            mockDialogs.Setup(g => g.SaveFile(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (),
                                              It.IsAny <string> (), It.IsAny <string []> ())).Returns(tmpFile);
            await App.Current.EventsBroker.Publish <ExportProjectEvent> (new ExportProjectEvent { Project = p });

            Assert.IsTrue(File.Exists(tmpFile));
            savedP = Project.Import(tmpFile) as LMProject;
            Assert.IsNotNull(savedP);

            // Import a new project
            LongoMatchImporter importPlugin = new LongoMatchImporter();
            ProjectImporter    importer     = new ProjectImporter {
                Description    = importPlugin.Description + " test ",
                ImportFunction = new Func <Project> (importPlugin.ImportProject),
                FilterName     = importPlugin.FilterName,
                Extensions     = importPlugin.FilterExtensions,
                NeedsEdition   = importPlugin.NeedsEdition,
                CanOverwrite   = importPlugin.CanOverwrite,
            };

            CoreServices.toolsManager.ProjectImporters.Add(importer);
            string projectPath = Utils.SaveResource("spain_france_test.lgm", tmpPath);

            mockDialogs.Setup(g => g.ChooseOption(
                                  It.IsAny <Dictionary <string, object> > (), It.IsAny <string> (), It.IsAny <object> ())).
            Returns(Task.Factory.StartNew(() => (object)importer)
                    );
            mockDialogs.Setup(g => g.OpenFile(It.IsAny <string> (), It.IsAny <string> (), It.IsAny <string> (),
                                              It.IsAny <string> (), It.IsAny <string []> ())).Returns(projectPath);
            await App.Current.EventsBroker.Publish <ImportProjectEvent> (new ImportProjectEvent());

            Assert.AreEqual(2, App.Current.DatabaseManager.ActiveDB.Count <LMProject> ());
            LMProject importedProject = App.Current.DatabaseManager.ActiveDB.RetrieveAll <LMProject> ().
                                        SortByCreationDate(true).ToList() [0];

            Assert.IsNotNull(importedProject);
            Assert.AreNotEqual(importedProject.ID, p.ID);
            int eventsCount = p.Timeline.Count;

            AddEvent(p, 2, 3000, 3050, 3025);
            AddEvent(p, 3, 3000, 3050, 3025);

            savedP = App.Current.DatabaseManager.ActiveDB.Retrieve <LMProject> (p.ID);
            Assert.AreEqual(eventsCount + 2, savedP.Timeline.Count);

            await eventsController.Stop();

            toolsManager.Stop();
        }
Exemple #10
0
        public static void Main(string[] args)
        {
            CoreServices.Init();

            InitGtk();

            /* Init GStreamer */
            GStreamer.Init();
            //if (!GStreamer.CheckInstallation ())
            //	return;

            GLib.ExceptionManager.UnhandledException += new GLib.UnhandledExceptionHandler(OnException);
            Version version = Assembly.GetExecutingAssembly().GetName().Version;

            try {
                AddinsManager.Initialize(Config.PluginsConfigDir, Config.PluginsDir);
                AddinsManager.LoadConfigModifierAddins();
                Config.DrawingToolkit    = new CairoBackend();
                Config.EventsBroker      = new EventsBroker();
                Config.MultimediaToolkit = new MultimediaToolkit();
                Config.GUIToolkit        = new GUIToolkit(version);
                bool haveCodecs = AddinsManager.RegisterGStreamerPlugins();
                AddinsManager.LoadExportProjectAddins(Config.GUIToolkit.MainController);
                AddinsManager.LoadMultimediaBackendsAddins(Config.MultimediaToolkit);
                AddinsManager.LoadUIBackendsAddins(Config.GUIToolkit);
                AddinsManager.LoadServicesAddins();
                Config.GUIToolkit.Register <IPlayerView, PlayerView> (0);

                if (!haveCodecs)
                {
                    CodecsChoiceDialog ccd = new CodecsChoiceDialog();
                    int response           = ccd.Run();
                    if (response == (int)ResponseType.Accept)
                    {
                        try {
                            System.Diagnostics.Process.Start(Constants.WEBSITE);
                        } catch {
                        }
                    }
                    ccd.Destroy();
                }
                try {
                    CoreServices.Start(Config.GUIToolkit, Config.MultimediaToolkit);
                } catch (DBLockedException locked) {
                    string msg = Catalog.GetString("The database seems to be locked by another instance and " +
                                                   "the application will be closed.");
                    Config.GUIToolkit.ErrorMessage(msg);
                    Log.Exception(locked);
                    return;
                }
                AddinsManager.LoadDashboards(Config.CategoriesTemplatesProvider);
                AddinsManager.LoadImportProjectAddins(CoreServices.ProjectsImporter);

                ConfigureOSXApp();

                Application.Run();
            }  catch (AddinRequestShutdownException arse) {
                // Abort gracefully
            } catch (Exception ex) {
                ProcessExecutionError(ex);
            } finally {
                try {
                    AddinsManager.ShutdownMultimediaBackends();
                } catch {
                }
            }
        }
Exemple #11
0
 private void InitAddinsManager()
 {
     _addinsManager = new AddinsManager();
 }