private void OnRaiseView <T>(object sender, DataGridView dataGrdView, ReportConfigManagerBase <T> configMgr, string typeProfix) where T : IReportItem, new() { try { Button button = sender as Button; T target = default(T); if (button.Text == "Add") { target = new T(); } else { target = (T)dataGrdView.CurrentRow.DataBoundItem; } this.OpenView <T>(sender, new CommandArgs <T>() { MainView = this, Target = target, TypeProfix = typeProfix }, configMgr); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void OpenView <T>(object sender, CommandArgs <T> e, ReportConfigManagerBase <T> configMgr) where T : IReportItem { Type viewType = System.Reflection.Assembly.GetExecutingAssembly().GetType("QlikView.Configuration." + e.TypeProfix + "View"); IBaseView <T> view = Activator.CreateInstance(viewType) as IBaseView <T>; view.Item = e.Target; GeneralPresenter <T> presenter = new GeneralPresenter <T>(); presenter.MainView = e.MainView; presenter.View = view; presenter.ConfigManager = configMgr; presenter.Run(); }
private void ExecuteDelete <T>(DataGridViewRow currentRow, ReportConfigManagerBase <T> mgr) where T : IReportItem { if (this.ComfirmDeleteItem(currentRow)) { T item = (T)currentRow.DataBoundItem; IError error = mgr.RemoveItem(item.Name); if (error.HasError) { MessageBox.Show("Can not remove the item. \n" + error.ErrorMessage); } else { this.RefreshUI(); } } }