private void cmbHierarchy_SelectedIndexChanged(object sender, EventArgs e) { EHierarchy hierarchy = (EHierarchy)cmbHierarchy.SelectedValue; //Company does not have parent if (hierarchy == EHierarchy.Firma) { cmbParentDeparment.Visible = false; lblParentDepartment.Visible = false; } else { cmbParentDeparment.Visible = true; lblParentDepartment.Visible = true; RefreshCmbHierarchy(hierarchy); } }
private void RefreshCmbHierarchy(EHierarchy hierarchy) { if (hierarchy == EHierarchy.Firma) { cmbParentDeparment.DataSource = ""; } else { //insert only departments, where hierarchy is one level above List <DepartmentModel> departments = _departmentsLogic.GetParentsDepartments(hierarchy); //in list is only others departments than actual if (_department == null) { cmbParentDeparment.DataSource = departments.ToList(); } else { cmbParentDeparment.DataSource = departments.Where(dep => dep.ID != _department.ID).ToList(); } cmbParentDeparment.ValueMember = "Name"; } }
/// <summary> /// return list, where is only deparments, that are in this eHierarchy /// </summary> public List <DepartmentModel> GetNamesOfHierarchy(List <DepartmentModel> list, EHierarchy eHierarchy) { return(list.Where(filter => filter.Hierarchy == eHierarchy).ToList()); }
/// <summary> /// Return only departments, that can be parents of this hierarchy /// </summary> public List <DepartmentModel> GetParentsDepartments(EHierarchy eHierarchy) { List <DepartmentModel> departmentsList = _departmentRepository.SelectDepartments(); return(departmentsList.Where(dep => (int)dep.Hierarchy == (int)eHierarchy - 1).ToList()); }