private void LoadTree() { tvOrders.BeginUpdate(); // make sure we're starting fresh tvOrders.Nodes.Clear(); // add main parent node to tv TreeNode orderNode = new TreeNode("Orders"); tvOrders.Nodes.Add(orderNode); //add orders to tv using (FOOBOSDBEntities con = new FOOBOSDBEntities()) { var orderinfo = (from ord in con.Orders select ord).OrderByDescending(x => x.OrderDate); List <Order> ords = orderinfo.ToList(); foreach (Order ord in ords) { //1) add tvnode //2) get orderlines //3) add orderline nodes //get orderlines var orderlineinfo = (from ordln in con.OrderLines where ordln.OrderID == ord.pkid select ordln).OrderBy(x => x.LineNum); OrderLine[] ordlnarray = orderlineinfo.ToArray(); //create tv orderline node array TreeNode[] ordlnnodearray = new TreeNode[ordlnarray.Count()]; for (int i = 0; i < ordlnarray.Count(); i++) { string nodetext = ordlnarray[i].LineNum.ToString() + " - " + ordlnarray[i].ProductCategory.Name + " (" + ordlnarray[i].Qty.ToString() + " " + ordlnarray[i].ProductCategory.UOM.Abbrev.ToString() + ")"; TreeNode linenode = new TreeNode(nodetext); linenode.Tag = ordlnarray[i].pkid; ordlnnodearray[i] = linenode; } // create order node & add orderline nodes string ordertext = ord.OrderNum + " - " + ord.Supplier.Supplier1 + " - " + (ord.OrderDate != null ? ord.OrderDate.Value.ToString("MM/dd/yyyy") : string.Empty); TreeNode ordnode = new TreeNode(ordertext, ordlnnodearray); ordnode.Tag = ord.pkid; orderNode.Nodes.Add(ordnode); orderNode.Expand(); } } tvOrders.EndUpdate(); }
private OrderLine GetSelectedOrderline(object tagkey) { OrderLine ret = null; int ordlnpkid; bool res = int.TryParse((string)tagkey, out ordlnpkid); if (res == true) { using (FOOBOSDBEntities con = new FOOBOSDBEntities()) { var myordln = from ordlns in con.OrderLines where ordlns.pkid == ordlnpkid select ordlns; ret = myordln.First(); } } return(ret); }