void printDocument_BeginPrint(object sender, PrintEventArgs e) { currentPrintRecord = 0; currentPage = 0; switch (printType) { case PrintType.CDList: { cdQuery = dataBase.ExecuteCDQuery(); CDView = new CDDataView(dataBase, cdQuery, printFilter, cdSortFields, cdListFields.GetFields()); break; } case PrintType.DetailList: { cdQuery = dataBase.ExecuteCDQuery(); DataView view = dataBase.GetCDQueryView(cdQuery, detailListFields, printFilter, cdSortFields); queryTable = view.ToTable(); break; } case PrintType.DetailListWithTracks: { cdQuery = dataBase.ExecuteCDQuery(); CDView = new CDDataView(dataBase, cdQuery, printFilter, cdSortFields); break; } case PrintType.TrackList: { cdQuery = dataBase.ExecuteTrackQuery(); TrackView = new TrackDataView(dataBase, cdQuery, printFilter, trackSortFields); break; } } }
private void TransferFields(FormProgress formProgress) { Field sourceField = ((ComboBoxItem)comboBoxSourceField.SelectedItem).Field; Field targetField = ((ComboBoxItem)comboBoxTargetField.SelectedItem).Field; CDQueryDataSet cdQuery = dataBase.ExecuteCDQuery(); CDDataView CDView = new CDDataView(dataBase, cdQuery, condition, new SortFieldCollection(), new FieldCollection()); int errorCount = 0; formProgress.ProgressBar.Maximum = CDView.Rows.Count; formProgress.ProgressBar.Value = 0; for (int i = 0; i < CDView.Rows.Count; i++) { CD cd = dataBase.GetCDById(CDView.GetCDID(i)); try { if (FieldHelper.IsCDField(sourceField)) { object o = cd.GetValueByField(sourceField); cd.SetValueToField(targetField, o); if (checkBoxMoveField.Checked) { Type fieldType = DataBase.GetTypeByField(sourceField); if (fieldType == typeof(string)) { cd.SetValueToField(sourceField, ""); } else if (fieldType == typeof(int)) { cd.SetValueToField(sourceField, 0); } else { cd.SetValueToField(sourceField, null); } } } else { for (int track = 0; track < cd.Tracks.Count; track++) { object o = cd.GetTrackValueByField(track, sourceField); cd.SetTrackValueToField(track, targetField, o); if (checkBoxMoveField.Checked) { Type fieldType = DataBase.GetTypeByField(sourceField); if (fieldType == typeof(string)) { cd.SetTrackValueToField(track, sourceField, ""); } else if (fieldType == typeof(int)) { cd.SetTrackValueToField(track, sourceField, 0); } else { cd.SetTrackValueToField(track, sourceField, null); } } } } cd.Save(dataBase); } catch (Exception e) { errorCount++; } if (formProgress.Canceled) { break; } formProgress.ProgressBar.Value++; Application.DoEvents(); } if (errorCount > 0) { MessageBox.Show(string.Format(StringTable.TransferFieldsTotal, CDView.Rows.Count - errorCount, CDView.Rows.Count), Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information); } }