/// <summary> /// Attempts to resolve the specified search string to a staff (returns a JSML encoded <see cref="StaffSummary"/>. /// </summary> /// <param name="search"></param> /// <returns></returns> public string ResolveStaffName(string search) { StaffSummary staff; var lookupHandler = new StaffLookupHandler(_component.Host.DesktopWindow); var resolved = lookupHandler.ResolveName(search, out staff); // bug #2896: the name may "resolve" to nothing, so we still need to check if staff actually has a value if (!resolved || staff == null) { resolved = lookupHandler.ResolveNameInteractive(search, out staff); } return(resolved ? JsmlSerializer.Serialize(staff, "staff") : null); }
/// <summary> /// Attempts to resolve the specified search string to a staff (returns a JSML encoded <see cref="StaffSummary"/>. /// </summary> /// <param name="search"></param> /// <param name="jsmlStaffTypesFilter">JSML encoded string list of staff types codes to filter with.</param> /// <returns></returns> public string ResolveFilteredStaffName(string search, string jsmlStaffTypesFilter) { StaffSummary staff; var filter = JsmlSerializer.Deserialize <List <String> >(jsmlStaffTypesFilter); var lookupHandler = new StaffLookupHandler(_component.Host.DesktopWindow, filter.ToArray()); var resolved = lookupHandler.ResolveName(search, out staff); // bug #2896: the name may "resolve" to nothing, so we still need to check if staff actually has a value if (!resolved || staff == null) { resolved = lookupHandler.ResolveNameInteractive(search, out staff); } return(resolved ? JsmlSerializer.Serialize(staff, "staff") : null); }