/// <summary> /// Сохраняет изменения в базе данных /// </summary> /// <returns>true - удачное завершение операции;false - ошибка</returns> private System.Boolean bSaveChanges() { System.Boolean bRet = false; List <CCustomerCategoryCompany> objCategoryCompanyListForSave = new List <CCustomerCategoryCompany>(); try { foreach (DevExpress.XtraTreeList.Nodes.TreeListNode objNode in treeList.Nodes) { foreach (DevExpress.XtraTreeList.Columns.TreeListColumn objColumn in treeList.Columns) { if (objColumn == colCompany) { continue; } if (objNode.Tag == null) { continue; } if (objColumn.Tag == null) { continue; } if (System.Convert.ToBoolean(objNode.GetValue(objColumn)) == true) { objCategoryCompanyListForSave.Add(new CCustomerCategoryCompany((CCustomerCategory)objColumn.Tag, (CCompany)objNode.Tag)); } } } if (objCategoryCompanyListForSave != null) { System.String strErr = ""; bRet = CCustomerCategoryCompany.SetCategoryCompanyListForCustomer(m_objProfile, null, m_objSelectedCustomer.ID, objCategoryCompanyListForSave, ref strErr); if (bRet == false) { SendMessageToLog(strErr); } m_objSelectedCustomer.CategoryCompanyList = objCategoryCompanyListForSave; } objCategoryCompanyListForSave = null; } catch (System.Exception f) { SendMessageToLog("Ошибка сохранения изменений в категории клиента. Текст ошибки: " + f.Message); } finally { } return(bRet); }
/// <summary> /// Загружает значение категории клиента в дерево /// </summary> /// <param name="objCustomer"></param> public void LoadCustomerCategory(CCustomer objCustomer) { m_bDisableEvents = true; if (objCustomer == null) { return; } try { m_objSelectedCustomer = objCustomer; lblCustomerIfo.Text = objCustomer.FullName; this.tableLayoutPanelBgrnd.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.treeList)).BeginInit(); m_objSelectedCustomer.CategoryCompanyList = CCustomerCategoryCompany.GetCategoryCompanyList(m_objProfile, null, m_objSelectedCustomer.ID); if (m_objSelectedCustomer.CategoryCompanyList != null) { System.Guid uuidCompanyId = System.Guid.Empty; System.Guid uuidCategoryId = System.Guid.Empty; foreach (DevExpress.XtraTreeList.Nodes.TreeListNode objNode in treeList.Nodes) { foreach (DevExpress.XtraTreeList.Columns.TreeListColumn objColumn in treeList.Columns) { if (objColumn == colCompany) { continue; } objNode.SetValue(objColumn, false); if (objNode.Tag == null) { continue; } if (objColumn.Tag == null) { continue; } uuidCompanyId = ((CCompany)objNode.Tag).ID; uuidCategoryId = ((CCustomerCategory)objColumn.Tag).ID; foreach (CCustomerCategoryCompany objCustomerCategoryCompany in m_objSelectedCustomer.CategoryCompanyList) { if ((objCustomerCategoryCompany.objCompany.ID.CompareTo(uuidCompanyId) == 0) && (objCustomerCategoryCompany.CustomerCategory.ID.CompareTo(uuidCategoryId) == 0)) { objNode.SetValue(objColumn, true); } } } } } SetPropertiesModified(false); SetModeReadOnly(true); btnEdit.Enabled = true; btnCancel.Enabled = true; btnCancel.Focus(); this.tableLayoutPanelBgrnd.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.treeList)).EndInit(); } catch (System.Exception f) { SendMessageToLog("Ошибка редактирования категории клиента. Текст ошибки: " + f.Message); } finally { m_bDisableEvents = false; } return; }