Есть код: public void GetChief (Context context, EleWise.ELMA.Model.Views.FormViewBuilder<Context> form) { var chiefs = context.Iniciator.OrganizationItems.ToArray ().Union (context.Iniciator.OrganizationGroups).Select (organizationItem => { var parentOrganizationItem = organizationItem.ParentItem; while (parentOrganizationItem != null && parentOrganizationItem.User == null) parentOrganizationItem = parentOrganizationItem.ParentItem; return parentOrganizationItem != null ? parentOrganizationItem.User : null; }).Where (u => u != null); if (chiefs.IsEmpty () != true) { var chief = chiefs.FirstOrDefault (); context.RukZaintPodrazd = chief; } else context.RukZaintPodrazd = context.Iniciator; } Суть: Создаётся заявка, при создании заявки может быть 3 роли, одна из них инициатор, им может быть как сотрудник подразделения, так и руководитель, в поле RukZaintPodrazd должен высвечиваться руководитель, но если заявку заполняет руководитель, то в поле RukZaintPodrazd заполняется вышестоящий, а должен быть руководитель конкретного подразделения(то есть тот, кто заполняет). Подскажите, пожалуйста, что надо изменить в коде?
Сильно зависит от оргструктуры. Руководители бывают разные, например бригадир, или замначальника отдела - руководитель своим сотрудникам. Но ему тоже надо руководителя подразделения выдавать. В одном случае когда это было важно делал в оргструктуре отделы (OrganizationItemType.Department) и вот "настоящих" руководителей делал руководителями таких отделов, и делал проверку - ParentItem=OrganizationItemType.Department - начальник отдела, а в остальных случаях выбирал руководителя сотрудника.