private void AddChildrenNode(ref CustomerHirerachyViewModel node, List <CustomerHirerachy> allCustomerHirerachy, List <CustomerHirerachy> listCustomer) { try { string parentID = node.id; var obj = listCustomer.Find(p => p.CustomerHirerachyID == parentID); if (obj != null) { node.@checked = true; } List <CustomerHirerachy> lstChildMenu = allCustomerHirerachy.Where(p => p.ParentCustomerHirerachyID == parentID).ToList();// db.Select<CustomerHirerachy>("Status = {0} AND ParentCustomerHirerachyID ={1}", true, parentID).OrderBy(p => p.CustomerHirerachyIndex).ToList();//Danh sách menu con của parentID foreach (CustomerHirerachy der in lstChildMenu) { CustomerHirerachyViewModel n = new CustomerHirerachyViewModel(); n.id = der.CustomerHirerachyID; n.text = der.CustomerHirerachyName; var check = listCustomer.Find(p => p.CustomerHirerachyID == der.CustomerHirerachyID); if (check != null) { n.@checked = true; } n.items = new List <CustomerHirerachyViewModel>(); AddChildrenNode(ref n, allCustomerHirerachy, listCustomer); node.items.Add(n); } } catch (Exception) { } }
public JsonResult GetCustomerHirerachy(string customerid) { IDbConnection db = new OrmliteConnection().openConn(); try { //select list menu cha List <CustomerHirerachy> lstFirstMenu = db.Select <CustomerHirerachy>("Status = 1 AND ParentCustomerHirerachyID ='' ").OrderBy(p => p.CustomerHirerachyIndex).ToList(); List <CustomerHirerachy> allCustomerHirerachy = db.Select <CustomerHirerachy>("Status = 1 ").OrderBy(p => p.CustomerHirerachyIndex).ToList(); var listCustomer = new List <CustomerHirerachy>(); if (!string.IsNullOrEmpty(customerid)) { listCustomer = db.SqlList <CustomerHirerachy>("p_CustomerHirerachy_Select '" + customerid + "'"); } List <CustomerHirerachyViewModel> lstMenuView = new List <CustomerHirerachyViewModel>(); foreach (CustomerHirerachy der in lstFirstMenu) { CustomerHirerachyViewModel node = new CustomerHirerachyViewModel(); node.id = der.CustomerHirerachyID; node.text = der.CustomerHirerachyName; node.items = new List <CustomerHirerachyViewModel>(); AddChildrenNode(ref node, allCustomerHirerachy, listCustomer); lstMenuView.Add(node); } return(Json(new { success = true, Data = lstMenuView })); } catch (Exception e) { return(Json(new { success = false, message = e.Message })); } finally { db.Close(); } }