Exemple #1
0
        public void ImportFile(string path)
        {
            if (System.IO.File.Exists(path) && !System.IO.Directory.Exists(path))
            {
                if (!string.IsNullOrEmpty(path) && QueueController.IsFormat(path, ContextHelper.GetAudioFormats()))
                {
                    importFileName = new FileInfo(path).Name;
                    importScanCount++;

                    try
                    {
                        IMediaItem track = QueueController.GetMediaItem(new Uri(path));
                        if (track != null)
                        {
                            track.Source = Values.Source.Catalog;
                            track.Type   = MediaTypes.Audio;
                            PersistenceController.SaveMediaItem(track);
                            importHitCount++;

                            if (importStatusUpdateCallback != null)
                            {
                                ImportStatusUpdateEventArgs args = GetImportEventArgs(path);
                                importStatusUpdateCallback(this, args);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        importErrorCount++;

                        if (importStatusUpdateCallback != null)
                        {
                            ImportStatusUpdateEventArgs args = GetImportEventArgs(path);
                            importStatusUpdateCallback(this, args);
                        }

                        MessageBox.Show(string.Format("The following file could not be imported: \n{0}\n\n{1}", path, ex.Message), "IMPORT ERROR");
                    }
                }
                else
                {
                    if (importStatusUpdateCallback != null)
                    {
                        ImportStatusUpdateEventArgs args = GetImportEventArgs(path);
                        importStatusUpdateCallback(this, args);
                    }
                }

                importRow.Cells[TASK_COL_PROGRESS].Value = GetImportProgess();
                importRow.Cells[TASK_COL_DETAILS].Value  = GetImportDetails();
            }
        }
Exemple #2
0
        //[CLSCompliant(false)]
        //public void Filter(Query query)
        //{
        //    grid.Clear();
        //    //bindingList.Clear();

        //    IList<MediaItem> items = persistenceController.ListMediaItems(query.ToString());

        //    foreach (IMediaItem item in (IEnumerable<IMediaItem>)items)
        //    {
        //        MediaItemData dataItem = new MediaItemData(item.Id, item.Type, item.Source, item.Number, item.Title, item.Artist, item.Album, item.Duration, item.Date, item.Format, item.Path);
        //        grid.AddItem(dataItem);
        //        //bindingList.Add(item);
        //    }

        //    //using (IEnumerator<IMediaItem> iter = items.GetEnumerator())
        //    //{
        //    //    iter.Reset();
        //    //    while (iter.MoveNext())
        //    //        bindingList.Add(iter.Current);
        //    //}
        //}

        public void SaveRow(int index)
        {
            if (persistenceController != null && index >= 0 && index < grid.Rows.Count)
            //bindingList.Count)
            {
                MediaItemData data = grid.GetItem(index);
                IMediaItem    item = persistenceController.CreateMediaItem(data);

                //IMediaItem item = bindingList[index];
                item.Source = Values.Source.Catalog;
                persistenceController.SaveMediaItem(item);
            }
        }