public ActionResult Details(string dn) { if (String.IsNullOrEmpty(dn)) { return(RedirectToAction("Index", "Home")); } ViewBag.PageClass = "details"; ViewModelContactDetail view = new ViewModelContactDetail(); LDAPSearchObject search = new LDAPSearchObject(); search.AND.Add("DistinguishedName", dn); view.me = findContact(search); List <Contact> managers = new List <Contact>(); if (view.me.Manager != null) { if (view.me.Manager.Title == "President") { search.Clear(); search.AND.Add("company", "Vision Integrated Graphics"); search.AND.Add("title", "President"); search.AND.Add("objectClass", "user"); managers = findContacts(search); } else { managers.Add(view.me.Manager); } } view.Managers = managers; search.Clear(); search.AND.Add("company", "Vision Integrated Graphics"); search.AND.Add("objectClass", "user"); if (view.me.Title == "President" && view.me.DisplayName != "Doug Powell") { LDAPSearchObject searchDP = new LDAPSearchObject(); searchDP.AND.Add("displayname", "Doug Powell"); searchDP.AND.Add("company", "Vision Integrated Graphics"); searchDP.AND.Add("objectClass", "user"); Contact doug = findContact(searchDP); search.AND.Add("manager", doug.DistinguishedName); } else { search.AND.Add("manager", view.me.DistinguishedName); } view.DirectReports = findContacts(search).OrderBy(c => c.Department).ThenBy(c => c.Office).ThenBy(c => c.DisplayName); return(View(view)); }
/// <summary> Конструктор </summary> public ViewContactDetail(ModelContact modelContact) { InitializeComponent(); CurrentModelContact = modelContact; _viewModelContactDetail = new ViewModelContactDetail(modelContact); if (modelContact.Id != 0) { if (modelContact.ModelContactSubscriptionObj?.ModelEnumSubscriptionStateObj.Code == 0) { _viewModelContactDetail.InviteRead(); } } else { //Если пользователь отправил нам приглашение у него id = 0 и ModelEnumSubscriptionStateObj.Code = 2 (To) if (modelContact.ModelContactSubscriptionObj?.ModelEnumSubscriptionStateObj.Code == 2) { _viewModelContactDetail.InviteRead(); } } _viewModelContactDetail.BlockedChanged += OnBlockedChanged; _viewModelContactDetail.WhiteChanged += _viewModelContactDetail_WhiteChanged; _viewModelContactDetail.DeleteModelContactSuccessful += OnDeleteModelContactSuccessful; _viewModelContactDetail.SendRequestSuccessful += OnSendRequestSuccessful; _viewModelContactDetail.ApplyDenyInviteSuccessful += OnApplyDenyInviteSuccessful; DataContext = _viewModelContactDetail; if (modelContact.IsDodicall && modelContact.ListModelUserContact != null && modelContact.ListModelUserContact.Count > 0) { foreach (var modelUserContact in modelContact.ListModelUserContact) { StackPanelContact.Children.Add(CreateContactControl(modelUserContact)); } } if (CurrentModelContact.Id != 0) { var modelContactFromViewContact = ViewContact.CurrentViewContact.ListModelContact.FirstOrDefault(obj => obj.Id == CurrentModelContact.Id); if (modelContactFromViewContact != null) { _viewModelContactDetail.ShowContactDetailCard = true; } } else { if (_viewModelContactDetail.IsInvite) { _viewModelContactDetail.ShowContactInviteCard = true; } else { _viewModelContactDetail.ShowContactRequestCard = true; } } if (modelContact.ListModelUserContactExtra.Count != 0) { foreach (var modelUserContact in modelContact.ListModelUserContactExtra) { StackPanelExtraContact.Children.Add(CreateContactExtraControl(modelUserContact)); } } ChengeContactStatus(CurrentModelContact); CurrentModelContact.PropertyChanged += CurrentModelContactOnPropertyChanged; }