Example #1
0
        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();
        }
Example #2
0
        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);
        }