Beispiel #1
0
        public StagePage()
        {
            InitializeComponent();

            _propertyGrid              = new MXPropertyGrid();
            _propertyGrid.Visible      = false;
            _propertyGrid.Dock         = DockStyle.Fill;
            _propertyGrid.PropertySort = PropertySort.Categorized;
            contentPanel.Controls.Add(_propertyGrid);

            buttonGobjCopy.SendToBack();

            _itemEditor         = new ItemEditor();
            _itemEditor.Visible = false;
            _itemEditor.Dock    = DockStyle.Fill;
            contentPanel.Controls.Add(_itemEditor);

            _playListEditor         = new PlaylistEditor();
            _playListEditor.Visible = false;
            _playListEditor.Dock    = DockStyle.Fill;
            contentPanel.Controls.Add(_playListEditor);

            listBoxStage.DataSource = Core.MEX.Stages;

            SelectTab(buttonGeneralTab, null);
        }
Beispiel #2
0
        private void button8_Click(object sender, EventArgs e)
        {
            var frm = new PlaylistEditor();

            if (frm.ShowDialog(this) == DialogResult.OK)
            {
                var result = _aimpPlayer.ServicePlaylistManager.CreatePlaylist(frm.PlaylistName, true);
                if (result.ResultType == ActionResultType.OK)
                {
                    var playList = result.Result;
                    _playLists.Add(playList);

                    //CheckResult(playList.Add("http://xstream1.somafm.com:2800", PlaylistFlags.NOEXPAND, PlaylistFilePosition.EndPosition));
                    //CheckResult(playList.AddList(new List<string>()
                    //{
                    //    "http://xstream1.somafm.com:2800",
                    //    "http://xstream1.somafm.com:2800"
                    //}, PlaylistFlags.NOEXPAND, PlaylistFilePosition.EndPosition));

                    //playList.Activated += o => { System.Diagnostics.Debug.WriteLine("Activated {0}", o.Name); };
                    playList.Changed   += PlayListOnChanged;
                    playList.Activated += playlist =>
                    {
                        Logger.Instance.AddInfoMessage(
                            $"[Event] IAimpPlaylist.Activated: {playlist.Id} {playlist.Name}");
                    };
                    playList.Removed += playlist =>
                    {
                        Logger.Instance.AddInfoMessage(
                            $"[Event] IAimpPlaylist.Removed: {playlist.Id} {playlist.Name}");
                    };
                    playList.ScanningBegin += playlist =>
                    {
                        Logger.Instance.AddInfoMessage(
                            $"[Event] IAimpPlaylist.ScanningBegin: {playlist.Id} {playlist.Name}");
                    };
                    playList.ScanningEnd += (playlist, args) =>
                    {
                        Logger.Instance.AddInfoMessage(
                            $"[Event] IAimpPlaylist.ScanningEnd: {playlist.Id} {playlist.Name}");
                    };
                    playList.ScanningProgress += (playlist, args) =>
                    {
                        Logger.Instance.AddInfoMessage(
                            $"[Event] IAimpPlaylist.ScanningProgress: {playlist.Id} {playlist.Name}");
                    };
                }
            }
        }
Beispiel #3
0
        public MenuPage()
        {
            InitializeComponent();

            _playlistEditor         = new PlaylistEditor();
            _playlistEditor.Visible = false;
            _playlistEditor.Dock    = DockStyle.Fill;
            contentPanel.Controls.Add(_playlistEditor);

            _sssEditor         = new MXStageSelectEditor();
            _sssEditor.Visible = false;
            _sssEditor.Dock    = DockStyle.Fill;
            contentPanel.Controls.Add(_sssEditor);

            _cssEditor         = new MXFighterSelectEditor();
            _cssEditor.Visible = false;
            _cssEditor.Dock    = DockStyle.Fill;
            contentPanel.Controls.Add(_cssEditor);

            _emblems         = new MXEmblemEditor();
            _emblems.Visible = false;
            _emblems.Dock    = DockStyle.Fill;
            contentPanel.Controls.Add(_emblems);
        }
 public IActionResult EditPlaylist([FromForm] PlaylistEditor model)
 {
     return(playlistManager.EditPlaylist(model, UserId).Result);
 }
Beispiel #5
0
        public async Task <IActionResult> EditPlaylist(PlaylistEditor model, int userId)
        {
            var playlist = await db.Playlists.FindAsync(model.PlaylistId);

            if (playlist == null)
            {
                return(new NotFoundObjectResult(new { msg = "Плейлист не найден" }));
            }
            if (playlist.UserId != userId)
            {
                return(new ForbidResult());
            }
            if (model.Musics == null)
            {
                model.Musics = new List <int>();
            }
            var user = await db.Users.FindAsync(userId);

            string imageFileName;
            var    dateTimeNow = DateTime.Now;
            var    createDate  = $"{dateTimeNow.Day}.{dateTimeNow.Month}.{dateTimeNow.Year} {dateTimeNow.Hour}:{dateTimeNow.Minute}:{dateTimeNow.Second}";

            try
            {
                if (model.ImageFile != null)
                {
                    imageFileName = $"{user.Login}_playlist_{createDate}_" + model.ImageFile.FileName;
                    if (playlist.PlaylistImageFile != options.Value.DefaultPlaylistImageFile)
                    {
                        playlist.PlaylistImageUrl = await cloudService.EditFile("", playlist.PlaylistImageFile, "", imageFileName, model.ImageFile.OpenReadStream());

                        playlist.PlaylistImageFile = imageFileName;
                    }
                    else
                    {
                        playlist.PlaylistImageUrl = await cloudService.AddFile("", imageFileName, model.ImageFile.OpenReadStream());

                        playlist.PlaylistImageFile = imageFileName;
                    }
                }
                playlist.PlaylistName        = model.PlaylistName;
                playlist.PlaylistDescription = model.PlaylistDescription;
                var pm = await db.PlaylistsMusics.Where(pm => pm.PlaylistId == model.PlaylistId).ToListAsync();

                var sub = model.Musics.Except(pm.Select(pm => pm.MusicId));
                if (model.Musics.Count != pm.Count || sub.Count() != 0)
                {
                    db.PlaylistsMusics.RemoveRange(pm);
                    var playlistMusics = new List <PlaylistsMusic>();
                    foreach (var m in model.Musics)
                    {
                        playlistMusics.Add(new PlaylistsMusic {
                            PlaylistId = model.PlaylistId, MusicId = m
                        });
                    }
                    await db.PlaylistsMusics.AddRangeAsync(playlistMusics);
                }
                await db.SaveChangesAsync();

                return(new OkResult());
            }
            catch
            {
                return(new StatusCodeResult(500));
            }
        }