示例#1
0
 /// <summary>
 /// Display all Albums
 /// </summary>
 private void showAlbumList()
 {
     foreach (Album album in AlbumsManager.db_GetAllAlbums())
     {
         AlbumNames.Add(album.name);
     }
 }
示例#2
0
        public static void UpdateAlbum(AlbumViewModel album)
        {
            if (album.HasErrors)
            {
                throw new ArgumentException("Album contains invalid data");
            }

            var existing = _albums.SingleOrDefault(a => a == album);

            if (existing != null && existing.Model.Id != album.Model.Id)
            {
                // Revert to previous values
                SetViewModelFromModel(album);
                throw new DuplicateObjectException();
            }

            if (!(album.IsMain ?? false) && MainAlbum == null)
            {
                // Undo IsMain change
                album.IsMain = true;
                throw new RequiredConstraintViolationException(
                          "You have to set another album as 'Main' before unsetting 'Main'");
            }

            if ((album.IsMain ?? false) && _albums.Where(a => a.IsMain ?? false).Count() > 1)
            {
                UnsetPreviousMainAlbum(album);
            }

            SetModelFromViewModel(album);
            AlbumsManager.UpdateAlbum(album.Model);
        }
示例#3
0
        /// <summary>
        /// Sync a new Album with localDb and serverDb
        /// </summary>
        public void initializeAlbum()
        {
            AlbumsNwManager.PostAlbum(this);
            AlbumsManager.db_Add_Update_Record(AlbumsNwManager.GetAlbums().FindLast(e => e.name == this.name));
            Album temp = AlbumsManager.db_GetAllAlbums().FindLast(e => e.name == this.name);

            this.id           = temp.id;
            this.resource_uri = temp.resource_uri;
        }
示例#4
0
        public static void DeleteAlbum(AlbumViewModel album)
        {
            if (album.IsMain ?? false)
            {
                throw new RequiredConstraintViolationException("You cannot delete a 'Main' album");
            }

            AlbumsManager.DeleteAlbum(album.Model);
            _albums.Remove(album);
        }
示例#5
0
        public void AddAlbumObject(Album album)
        {
            if (GalleryObjectSource == null)
            {
                this.GalleryObjectSource = new AlbumsManager();
            }

            this.GalleryObjectSource.AddAlbum(album);

            RefreshAlbumsView();
        }
示例#6
0
        /// <summary>
        /// Sync Local DB with Server DB
        /// </summary>
        public static void SyncLocalDbWithServerDb()
        {
            // Delete all local tables
            AlbumsManager.db_Delete_All();
            ArtistsManager.db_Delete_All();
            PlaylistsManager.db_Delete_All();

            //Get all server tables
            List <Album>    albums    = AlbumsNwManager.GetAlbums();
            List <Artist>   artists   = ArtistsNwManager.GetArtists();
            List <Playlist> playlists = PlaylistsNwManager.GetPlaylists();
            List <Track>    tracks    = TracksNwManager.GetTracks();


            // < sync local tables with server tables >
            foreach (var item in albums)
            {
                AlbumsManager.db_Add_Update_Record(item);
            }
            foreach (var item in artists)
            {
                ArtistsManager.db_Add_Update_Record(item);
            }
            foreach (var item in playlists)
            {
                PlaylistsManager.db_Add_Update_Record(item);
            }
            foreach (var item in tracks)
            {
                TracksManager.db_Add_Update_Record(item);
            }
            // </ sync local tables with server tables >

            // < Add relations to local db >
            foreach (Album album in albums)
            {
                foreach (string artistId in album.artists)
                {
                    AlbumFromArtistManager.db_Add_Update_Record((int)album.id, Convert.ToInt32(artistId));
                }
            }

            foreach (Artist artist in artists)
            {
                foreach (string trackId in artist.songs)
                {
                    TrackFromArtistManager.db_Add_Update_Record(Convert.ToInt32(trackId), (int)artist.id);
                }
            }
            // </ Add relations to local db >
        }
示例#7
0
        public PhotoGallery()
        {
            InitializeComponent();

            //Albums Object Create
            widthAlbumObject = this.panelAlbums.Width - leftMargin - scrollBarWidth;
            heightAlbumObject = (9 * widthAlbumObject) / 12;

            //Photo Object Create
            heightPhotoObject = this.panelPhotos.Height - topMargin - scrollBarWidth;
            widthPhotoObject = (6 * heightPhotoObject) / 4;

            GalleryObjectSource = new AlbumsManager();
        }
示例#8
0
        public PhotoGallery()
        {
            InitializeComponent();

            //Albums Object Create
            widthAlbumObject  = this.panelAlbums.Width - leftMargin - scrollBarWidth;
            heightAlbumObject = (9 * widthAlbumObject) / 12;

            //Photo Object Create
            heightPhotoObject = this.panelPhotos.Height - topMargin - scrollBarWidth;
            widthPhotoObject  = (16 * heightPhotoObject) / 9;

            GalleryObjectSource = new AlbumsManager();
        }
示例#9
0
 protected void LinkButton2_Command(object sender, CommandEventArgs e)
 {
     if (AlbumsManager.RemoveAlbum(int.Parse(e.CommandArgument.ToString())))
     {
         Response.Write("<script>alert('删除成功!');</script>");
         RepeaterData();
         DropData();
         return;
     }
     else
     {
         Response.Write("<script>alert('删除失败!');</script>");
         return;
     }
 }
示例#10
0
        protected void LinkButton1_Command(object sender, CommandEventArgs e)
        {
            this.paneladd.Visible   = false;
            this.panelupd.Visible   = true;
            this.paneltypes.Visible = false;
            int albumid = int.Parse(e.CommandArgument.ToString());

            album = AlbumsManager.GetById(albumid);
            this.txtmusicname.Text = album.Title;
            this.txtsongprice.Text = album.Price.ToString();
            this.dropsongtype.SelectedItem.Text   = album.Artists.Name;
            this.dropsingername.SelectedItem.Text = album.Genres.Name;
            this.Image2.ImageUrl = "~" + album.AlbumArtUrl;
            ViewState["albumid"] = int.Parse(e.CommandArgument.ToString());
        }
示例#11
0
        protected void btnupdyes_Click(object sender, EventArgs e)
        {
            if (this.txtmusicname.Text == "" || this.txtsongprice.Text == "" || this.FileUpload2.FileName == "")
            {
                Response.Write("<script>alert('音乐名称或价格或音乐图片不能为空!');</script>");
                return;
            }
            if (this.FileUpload2.HasFile)
            {
                string filename = this.FileUpload2.FileName;
                string filefix  = Path.GetExtension(filename).ToLower();
                if (filefix == ".jpg" || filefix == ".jpeg" || filefix == ".png" || filefix == ".gif")
                {
                    this.FileUpload2.SaveAs(Server.MapPath("~/Content/Images/" + filename));
                    this.Image2.ImageUrl = "~/Content/Images/" + filename;
                }
                else
                {
                    Response.Write("<script>alert('您选择的文件并非图片文件!');</script>");
                    return;
                }
            }
            Albums album = new Albums()
            {
                Title       = this.txtmusicname.Text,
                GenreId     = int.Parse(this.dropsingername.SelectedItem.Value),
                ArtistId    = int.Parse(this.dropsongtype.SelectedItem.Value),
                AlbumArtUrl = "/Content/Images/" + this.FileUpload2.FileName,
                Price       = decimal.Parse(this.txtsongprice.Text)
            };

            if (AlbumsManager.UpdAlbum(album, (int)ViewState["albumid"]))
            {
                Response.Write("<script>alert('修改成功!');</script>");
                this.paneladd.Visible   = false;
                this.panelupd.Visible   = false;
                this.paneltypes.Visible = true;
                RepeaterData();
                DropData();
                return;
            }
            else
            {
                Response.Write("<script>alert('修改失败!');</script>");
                return;
            }
        }
示例#12
0
        /// <summary>
        /// Display all tracks from a selected album
        /// </summary>
        /// <param name="albumName"></param>
        private void showSelectedAlbum(string albumName)
        {
            // Find selected album in database
            Album currentAlbum = AlbumsManager.db_GetAllAlbums().Find(x => x.name == albumName);

            AlbumName = currentAlbum.name;

            // Display all tracks from the selected album
            foreach (Track track in currentAlbum.Tracks)
            {
                TrackList.Add(new TrackMetadata {
                    Title = track.title, Number = track.id, Length = track.Metadata.Length.ToString("hh:mm:ss")
                });
            }

            ListVisi = Visibility.Visible;
        }
示例#13
0
        protected void btnyes_Click(object sender, EventArgs e)
        {
            if (this.txtalbumname.Text == "" || this.txtprice.Text == "" || this.FileUpload1.FileName == "")
            {
                Response.Write("<script>alert('音乐名称或价格或音乐图片不能为空!');</script>");
                return;
            }
            Albums album = new Albums()
            {
                Title       = this.txtalbumname.Text,
                GenreId     = int.Parse(this.dropgenre.SelectedItem.Value),
                ArtistId    = int.Parse(this.droptype.SelectedItem.Value),
                AlbumArtUrl = "/Content/Images/" + this.FileUpload1.FileName,
                Price       = decimal.Parse(this.txtprice.Text)
            };

            if (this.FileUpload1.HasFile)
            {
                string filename = this.FileUpload1.FileName;
                string filefix  = Path.GetExtension(filename).ToLower();
                if (filefix == ".jpg" || filefix == ".jpeg" || filefix == ".png" || filefix == ".gif")
                {
                    this.FileUpload1.SaveAs(Server.MapPath(filename));
                }
                else
                {
                    Response.Write("<script>alert('您选择的文件并非图片文件!');</script>");
                    return;
                }
            }
            if (AlbumsManager.AddAlbum(album))
            {
                Response.Write("<script>alert('添加成功!');window.location.href='MusicSongGL.aspx?nowpage=" + Request.QueryString["nowpage"] == null ? "1" : Request.QueryString["nowpage"] + "';</script>");
                this.paneladd.Visible   = false;
                this.panelupd.Visible   = false;
                this.paneltypes.Visible = true;
                RepeaterData();
                DropData();
            }
            else
            {
                Response.Write("<script>alert('添加失败!');</script>");
                return;
            }
        }
示例#14
0
        public void UploadAPhotoToTimeline(AlbumsManager i_AlbumsManager, User i_User)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Title  = k_UploadTitle;
            openFileDialog.Filter = k_imageFilesStr;

            if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                try
                {
                    i_AlbumsManager.UploadAPhotoToTimeline(i_User, openFileDialog.FileName);
                }
                catch (Exception uploadException)
                {
                    MessageBox.Show(uploadException.Message);
                }
            }
        }
示例#15
0
 private void loginForm_LoginSucess(User i_LoggedUser)
 {
     InitializeComponent();
     m_AppController = new AppController()
     {
         User = i_LoggedUser
     };
     m_AlbumsManager   = new AlbumsManager(m_AppController.User);
     m_WallManager     = new WallManager(m_AppController.User.WallPosts);
     m_FilesUploader   = new FilesUploader();
     m_FaceRideManager = new FaceRideManager();
     if (m_FirstLaunch)
     {
         m_FirstLaunch = false;
         ShowDialog();
     }
     else
     {
         Show();
     }
 }
        /// <summary>
        /// Notifies View if active track changed
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TrackChanged(object sender, System.EventArgs e)
        {
            try
            {
                CurrentTrack = musicplayer.Musicqueue.ActiveTrack.title;
                int   albumid = Convert.ToInt32(musicplayer.Musicqueue.ActiveTrack.album);
                Album album   = AlbumsManager.db_Get_Record(albumid);

                if (album.cover_url == "")
                {
                    AlbumCover = new BitmapImage(new Uri(AppHelper.DataPath + "/Cover/DefaultCover.png", UriKind.RelativeOrAbsolute));
                }
                else
                {
                    AlbumCover = new BitmapImage(new Uri(album.cover_url, UriKind.RelativeOrAbsolute));
                }
            }
            catch (Exception)
            {
            }
        }
示例#17
0
        public static void AddAlbum(AlbumViewModel album)
        {
            if (album.HasErrors)
            {
                throw new ArgumentException("Album contains invalid data");
            }

            if (_albums.Contains(album))
            {
                throw new DuplicateObjectException();
            }

            SetModelFromViewModel(album);
            AlbumsManager.AddAlbum(album.Model);

            if ((album.IsMain ?? false) && MainAlbum != null)
            {
                MainAlbum.IsMain = false;
            }

            _albums.Add(album);
        }
示例#18
0
        private void RepeaterData()
        {
            int nowpage = 1;

            if (Request.QueryString["nowpage"] != null)
            {
                nowpage = int.Parse(Request.QueryString["nowpage"]);
            }
            if (nowpage == 1)
            {
                hlfirst.Enabled = false;
                hlprev.Enabled  = false;
            }
            if (nowpage == pages)
            {
                hllast.Enabled = false;
                hlnext.Enabled = false;
            }
            this.Repeater1.DataSource = AlbumsManager.GetAll(nowpage);
            this.Repeater1.DataBind();
            this.lblsum.Text   = AlbumsManager.GetSumCount().ToString();
            this.lblpage.Text  = nowpage.ToString();
            this.lblpages.Text = pages.ToString();
            if (nowpage != pages)
            {
                this.lblone.Text = "7";
            }
            else
            {
                this.lblone.Text = (AlbumsManager.GetSumCount() - 7 * (nowpage - 1)).ToString();
            }
            hlfirst.NavigateUrl = "~/MusicGL/MusicSongGL.aspx?nowpage=" + 1;
            hlnext.NavigateUrl  = "~/MusicGL/MusicSongGL.aspx?nowpage=" + (nowpage + 1).ToString();
            hlprev.NavigateUrl  = "~/MusicGL/MusicSongGL.aspx?nowpage=" + (nowpage - 1).ToString();
            hllast.NavigateUrl  = "~/MusicGL/MusicSongGL.aspx?nowpage=" + (pages);
        }
示例#19
0
        public void AddAlbumObject(Album album)
        {
            if (GalleryObjectSource == null)
            {
                this.GalleryObjectSource = new AlbumsManager();
            }

            this.GalleryObjectSource.AddAlbum(album);

            RefreshAlbumsView();
        }
 /// <summary>
 /// .ctor
 /// </summary>
 /// <param name="albumManager">Менеджер альбомов</param>
 /// <param name="mapper">Маппер объектов</param>
 public AlbumController(AlbumsManager albumManager, IMapper mapper)
 {
     _albumManager = albumManager;
     _mapper       = mapper;
 }