private void buttonEditView_Click(object sender, EventArgs e) {
            ViewsConfiguration viewConfigDialog = new ViewsConfiguration();

            viewConfigDialog.ViewName = _availViews.SelectedItem.ToString();
            viewConfigDialog.Type = ViewsConfiguration.ViewType.SIMPLE;
            viewConfigDialog.Edit = true;

            DialogResult result = viewConfigDialog.ShowDialog(this);
            if (result == DialogResult.OK) {
                // Add New view
                if (viewConfigDialog.Type == ViewsConfiguration.ViewType.SIMPLE) {
                    string name = viewConfigDialog.ViewName;

                    // Add / Remove series from view                    
                    if (viewConfigDialog.SeriesToAdd != null && viewConfigDialog.SeriesToRemove != null) {
                        // Add series to view
                        foreach (DBSeries series in viewConfigDialog.SeriesToAdd) {
                            MPTVSeriesLog.Write(string.Format("Adding series \"{0}\" to \"{1}\"", series.ToString(), name));
                            series[DBOnlineSeries.cViewTags] = Helper.GetSeriesViewTags(series, true, name);
                            series.Commit();

                            // Add from online database
                            if (name == DBView.cTranslateTokenOnlineFavourite) {
                                Online_Parsing_Classes.OnlineAPI.ConfigureFavourites(true, DBOption.GetOptions(DBOption.cOnlineUserID), series[DBOnlineSeries.cID]);
                            }
                        }

                        // Remove series from view
                        foreach (DBSeries series in viewConfigDialog.SeriesToRemove) {
                            MPTVSeriesLog.Write(string.Format("Removing series \"{0}\" from \"{1}\"", series.ToString(), name));
                            series[DBOnlineSeries.cViewTags] = Helper.GetSeriesViewTags(series, false, name);
                            series.Commit();

                            // Remove from online database
                            if (name == DBView.cTranslateTokenOnlineFavourite) {
                                Online_Parsing_Classes.OnlineAPI.ConfigureFavourites(false, DBOption.GetOptions(DBOption.cOnlineUserID), series[DBOnlineSeries.cID]);
                            }
                        }
                    }
                }
            }
        }
        private void btnAddView_Click(object sender, EventArgs e) {
			ViewsConfiguration viewConfigDialog = new ViewsConfiguration();

			viewConfigDialog.ViewName = string.Empty;
			viewConfigDialog.Type = ViewsConfiguration.ViewType.SIMPLE;

			DialogResult result = viewConfigDialog.ShowDialog(this);
			if (result == DialogResult.OK) {
				// Add New view
				if (viewConfigDialog.Type == ViewsConfiguration.ViewType.SIMPLE) {
					// Get List of current views
					List<logicalView> views = logicalView.getAll(true);

					// Ensure index is unique...assumes index is updated when deleting views
					int index = views.Count;
					string name = viewConfigDialog.ViewName;
                    
                    // Check if view already exists
                    foreach (logicalView view in views) {
                        if (view.Name == name) {
                            MessageBox.Show(string.Format("The view \"{0}\" already exists, you must enter in a unique name.",name),"Views",MessageBoxButtons.OK,MessageBoxIcon.Information);
                            return;
                        }
                    }

                    string config = DBView.GetTaggedViewConfigString(name);
                    
	                // Add new 'Simple' view                    
					DBView.AddView(index, name, name, config, true);

                    // Add / Remove series from view                    
                    if (viewConfigDialog.SeriesToAdd != null && viewConfigDialog.SeriesToRemove != null) {                                                                        
                        // Add series to view
                        foreach (DBSeries series in viewConfigDialog.SeriesToAdd) {
                            MPTVSeriesLog.Write(string.Format("Adding series \"{0}\" to \"{1}\"", series.ToString(), name));
                            series[DBOnlineSeries.cViewTags] = Helper.GetSeriesViewTags(series, true, name);                            
                            series.Commit();
                            
                            // Add from online database
                            if (name == DBView.cTranslateTokenOnlineFavourite) {
                                Online_Parsing_Classes.OnlineAPI.ConfigureFavourites(true, DBOption.GetOptions(DBOption.cOnlineUserID), series[DBOnlineSeries.cID]);
                            }
                        }

                        // Remove series from view
                        foreach (DBSeries series in viewConfigDialog.SeriesToRemove) {
                            MPTVSeriesLog.Write(string.Format("Removing series \"{0}\" from \"{1}\"", series.ToString(), name));                            
                            series[DBOnlineSeries.cViewTags] = Helper.GetSeriesViewTags(series,false,name);
                            series.Commit();

                            // Remove from online database
                            if (name == DBView.cTranslateTokenOnlineFavourite) {
                                Online_Parsing_Classes.OnlineAPI.ConfigureFavourites(false, DBOption.GetOptions(DBOption.cOnlineUserID), series[DBOnlineSeries.cID]);
                            }
                        }
                    }					
				}

                // Reload List and available Views
                LoadViews();
			}
        }