예제 #1
0
        public void LoadDisks()
        {
            musicListView.Items.Clear();
            List <Disk> disks   = db.Disks.ToList();
            DiskView    d       = null;
            double      percent = 0;
            decimal     money   = 0;

            foreach (Disk disk in disks)
            {
                d = new DiskView();

                d.DiskId   = disk.Id;
                d.Name     = disk.Name;
                d.BandName = db.Bands.FirstOrDefault(p => p.Id == disk.BandId).Name;
                d.BandId   = disk.BandId;

                d.GenreName = db.Genres.FirstOrDefault(p => p.Id == disk.GenreId).Name;
                d.GenreId   = disk.GenreId;

                d.PublisherName = db.Publishers.FirstOrDefault(p => p.Id == disk.PublisherId).Name;
                d.PublisherId   = disk.PublisherId;

                d.PublishYear = disk.PublishYear;

                percent = db.Prices.FirstOrDefault(p => p.DiskId == disk.Id).Percent / 100.0;
                money   = disk.SelfPrice + disk.SelfPrice * Convert.ToDecimal(percent);
                d.Money = money;

                d.DiskSelfPrice = disk.SelfPrice;
                d.Amount        = db.Storages.FirstOrDefault(s => s.DiskId == disk.Id).Amount;

                musicListView.Items.Add(d);
            }
        }
예제 #2
0
        private void BtnDiskFind_Click(object sender, RoutedEventArgs e)
        {
            musicListView.Items.Clear();

            DiskView d       = null;
            double   percent = 0;
            decimal  money   = 0;

            foreach (Disk disk in db.Disks.Where(c => c.Name == BoxDiscName.Text))
            {
                d = new DiskView();

                d.DiskId   = disk.Id;
                d.Name     = disk.Name;
                d.BandName = db.Bands.FirstOrDefault(p => p.Id == disk.BandId).Name;
                d.BandId   = disk.BandId;

                d.GenreName = db.Genres.FirstOrDefault(p => p.Id == disk.GenreId).Name;
                d.GenreId   = disk.GenreId;

                d.PublisherName = db.Publishers.FirstOrDefault(p => p.Id == disk.PublisherId).Name;
                d.PublisherId   = disk.PublisherId;

                d.PublishYear = disk.PublishYear;

                percent = db.Prices.FirstOrDefault(p => p.DiskId == disk.Id).Percent / 100.0;
                money   = disk.SelfPrice + disk.SelfPrice * Convert.ToDecimal(percent);
                d.Money = money;

                d.DiskSelfPrice = disk.SelfPrice;
                d.Amount        = db.Storages.FirstOrDefault(s => s.DiskId == disk.Id).Amount;

                musicListView.Items.Add(d);
            }
        }
예제 #3
0
        private void ResultShowDiskList(List <DiskSource> diskSources)
        {
            DiskView.BeginUpdate();
            DiskView.Items.Clear();

            foreach (var sourceItem in diskSources)
            {
                //1st
                var lvi = new ListViewItem(sourceItem.Name);
                lvi.UseItemStyleForSubItems = false;
                //2nd
                lvi.SubItems.Add(sourceItem.Format);
                //3rd
                lvi.SubItems.Add(sourceItem.AvailableSpace);
                //4th
                lvi.SubItems.Add(sourceItem.TotalSize);
                //5th
                lvi.SubItems.Add(sourceItem.Usage);
                lvi.SubItems[4].BackColor = sourceItem.StatusColor;
                //5th
                lvi.SubItems.Add(sourceItem.limitPercentage.ToString());
                DiskView.Items.Add(lvi);
            }
            DiskView.EndUpdate();
            DiskView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
            DiskView.GridLines = Enabled;
        }
예제 #4
0
        private void MusicListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (musicListView.SelectedItem != null)
            {
                DiskView diskView = musicListView.SelectedItem as DiskView;

                BoxDiscName.Text                = diskView.Name;
                ComboDiskBand.SelectedItem      = db.Bands.FirstOrDefault(b => b.Id == diskView.BandId);
                ComboDiskGenre.SelectedItem     = db.Genres.FirstOrDefault(g => g.Id == diskView.GenreId);
                ComboDiskPublisher.SelectedItem = db.Publishers.FirstOrDefault(p => p.Id == diskView.PublisherId);
                BoxDiskYear.Text                = diskView.PublishYear.ToString();
                BoxDiskMoney.Text               = diskView.DiskSelfPrice.ToString();//db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).SelfPrice.ToString();

                BoxPricePercent.Text  = db.Prices.FirstOrDefault(p => p.DiskId == diskView.DiskId).Percent.ToString();
                BoxStorageAmount.Text = db.Storages.FirstOrDefault(s => s.DiskId == diskView.DiskId).Amount.ToString();
            }
        }
예제 #5
0
        private void BtnDiskEdit_Click(object sender, RoutedEventArgs e)
        {
            DiskView diskView = musicListView.SelectedItem as DiskView;

            int bandId      = db.Bands.FirstOrDefault(b => b.Name == ComboDiskBand.Text).Id;
            int genreId     = db.Genres.FirstOrDefault(b => b.Name == ComboDiskGenre.Text).Id;
            int publisherId = db.Publishers.FirstOrDefault(b => b.Name == ComboDiskPublisher.Text).Id;

            db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).Name        = BoxDiscName.Text;
            db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).BandId      = bandId;
            db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).GenreId     = genreId;
            db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).PublisherId = publisherId;
            db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).PublishYear = Convert.ToInt32(BoxDiskYear.Text);
            db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId).SelfPrice   = Convert.ToDecimal(BoxDiskMoney.Text);

            db.Storages.FirstOrDefault(s => s.DiskId == diskView.DiskId).Amount = Convert.ToInt32(BoxStorageAmount.Text);

            db.Prices.FirstOrDefault(p => p.DiskId == diskView.DiskId).Percent = Convert.ToDouble(BoxPricePercent.Text);

            db.SaveChanges();
            LoadDisks();
        }
예제 #6
0
        private void BtnDiskDelete_Click(object sender, RoutedEventArgs e)
        {
            DiskView diskView = new DiskView();

            diskView = musicListView.SelectedItem as DiskView;

            Storage storage = db.Storages.FirstOrDefault(s => s.DiskId == diskView.DiskId);

            db.Storages.Remove(storage);
            Price price = db.Prices.FirstOrDefault(p => p.DiskId == diskView.DiskId);

            db.Prices.Remove(price);
            if (db.DiscountDisks.Where(d => d.DiskId == diskView.DiskId).Count() > 0)
            {
                DiscountDisk discount = db.DiscountDisks.FirstOrDefault(d => d.DiskId == diskView.DiskId);
                db.DiscountDisks.Remove(discount);
            }

            Disk disk = db.Disks.FirstOrDefault(d => d.Id == diskView.DiskId);

            db.Disks.Remove(disk);
            db.SaveChanges();
            LoadDisks();
        }