public void Add(object sender, EventArgs e) { MenuItem item = sender as MenuItem; CustomMenu menu = item.Parent as CustomMenu; CustomNode node = menu.SourceNode as CustomNode; if (node == null) { throw new ArgumentException("Controller.Add() - sender is not a CustomNode"); } ICUDHandler handler; if (node.Type == CustomNode.DEAL) { handler = new ProductsHandler(node); } else if (node.Type == CustomNode.PRODUCT) { handler = new ServicesHandler(node); } else { return; } handler.Add(); }
public void Remove(object sender, EventArgs e) { MenuItem item = sender as MenuItem; CustomMenu menu = item.Parent as CustomMenu; CustomNode node = menu.SourceNode as CustomNode; if (node == null) { throw new ArgumentException("Controller.Remove() - sender is not a CustomNode"); } ICUDHandler handler = GetController(node.Type, node); handler.Remove(); }