mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-12 12:06:58 +00:00
fix: updates to resolve directory issues
updateDirectoryXsig logic to resolve showing contacts in root when folders are in use (ZoomRooms). LinkVideoCodecDirectoryToApi to resolve analog value driving total number of contacts when folders are in use (ZoomRooms). ConvertZoomContactsToGeneric to reference roomFolder.FolderId and contactFolder.FolderId in foreach loops.
This commit is contained in:
parent
23af38aefa
commit
cbec2f2119
2 changed files with 50 additions and 33 deletions
|
|
@ -1004,7 +1004,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
|
||||
if (codec.DirectoryRoot != null)
|
||||
{
|
||||
trilist.SetUshort(joinMap.DirectoryRowCount.JoinNumber, (ushort)codec.DirectoryRoot.CurrentDirectoryResults.Count);
|
||||
var contactsCount = codec.DirectoryRoot.CurrentDirectoryResults.Where(c => c.ParentFolderId.Equals("root")).ToList().Count;
|
||||
trilist.SetUshort(joinMap.DirectoryRowCount.JoinNumber, (ushort)contactsCount);
|
||||
Debug.Console(2, this, ">>> contactsCount: {0}", contactsCount);
|
||||
|
||||
var clearBytes = XSigHelpers.ClearOutputs();
|
||||
|
||||
|
|
@ -1020,7 +1022,13 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
|
||||
codec.DirectoryResultReturned += (sender, args) =>
|
||||
{
|
||||
trilist.SetUshort(joinMap.DirectoryRowCount.JoinNumber, (ushort)args.Directory.CurrentDirectoryResults.Count);
|
||||
var isRoot = codec.CurrentDirectoryResultIsNotDirectoryRoot.BoolValue == false;
|
||||
var argsCount = isRoot
|
||||
? args.Directory.CurrentDirectoryResults.Where(a => a.ParentFolderId.Equals("root")).ToList().Count
|
||||
: args.Directory.CurrentDirectoryResults.Count;
|
||||
|
||||
trilist.SetUshort(joinMap.DirectoryRowCount.JoinNumber, (ushort)argsCount);
|
||||
Debug.Console(2, this, ">>> argsCount: {0}", argsCount);
|
||||
|
||||
var clearBytes = XSigHelpers.ClearOutputs();
|
||||
|
||||
|
|
@ -1191,26 +1199,29 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
? xSigMaxIndex
|
||||
: directory.CurrentDirectoryResults.Count];
|
||||
|
||||
Debug.Console(2, this, "IsRoot: {0}, Directory Count: {1}, TokenArray.Length: {2}", isRoot,
|
||||
directory.CurrentDirectoryResults.Count, tokenArray.Length);
|
||||
Debug.Console(2, this, "IsRoot: {0}, Directory Count: {1}, TokenArray.Length: {2}", isRoot, directory.CurrentDirectoryResults.Count, tokenArray.Length);
|
||||
|
||||
var contacts = directory.CurrentDirectoryResults.Count > xSigMaxIndex
|
||||
? directory.CurrentDirectoryResults.Take(xSigMaxIndex)
|
||||
: directory.CurrentDirectoryResults;
|
||||
|
||||
var contactsToDisplay = isRoot
|
||||
? contacts.Where(c => c.ParentFolderId == "root")
|
||||
: contacts.Where(c => c.ParentFolderId != "root");
|
||||
|
||||
var counterIndex = 1;
|
||||
foreach (var entry in contacts)
|
||||
foreach (var entry in contactsToDisplay)
|
||||
{
|
||||
var arrayIndex = counterIndex - 1;
|
||||
var entryIndex = counterIndex;
|
||||
|
||||
Debug.Console(2, this, "Entry{2:0000} Name: {0}, Folder ID: {1}", entry.Name, entry.FolderId, entryIndex);
|
||||
Debug.Console(2, this, "Entry{2:0000} Name: {0}, Folder ID: {1}, Type: {3}, ParentFolderId: {4}",
|
||||
entry.Name, entry.FolderId, entryIndex, entry.GetType().GetCType().FullName, entry.ParentFolderId);
|
||||
|
||||
if (entry is DirectoryFolder && entry.ParentFolderId == "root")
|
||||
if (entry is DirectoryFolder)
|
||||
{
|
||||
tokenArray[arrayIndex] = new XSigSerialToken(entryIndex, String.Format("[+] {0}", entry.Name));
|
||||
|
||||
counterIndex++;
|
||||
counterIndex++;
|
||||
|
||||
continue;
|
||||
|
|
@ -1222,8 +1233,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
}
|
||||
|
||||
return GetXSigString(tokenArray);
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void LinkVideoCodecCallControlsToApi(BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
|
||||
|
|
|
|||
|
|
@ -303,11 +303,19 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.ZoomRoom
|
|||
{
|
||||
var contact = new InvitableDirectoryContact { Name = c.ScreenName, ContactId = c.Jid };
|
||||
|
||||
contact.ContactMethods.Add(new ContactMethod() { Number = c.Jid, Device = eContactMethodDevice.Video, CallType = eContactMethodCallType.Video, ContactMethodId = c.Jid });
|
||||
contact.ContactMethods.Add(new ContactMethod()
|
||||
{
|
||||
Number = c.Jid,
|
||||
Device = eContactMethodDevice.Video,
|
||||
CallType = eContactMethodCallType.Video,
|
||||
ContactMethodId = c.Jid
|
||||
});
|
||||
|
||||
if (folders.Count > 0)
|
||||
{
|
||||
contact.ParentFolderId = c.IsZoomRoom ? "rooms" : "contacts";
|
||||
contact.ParentFolderId = c.IsZoomRoom
|
||||
? roomFolder.FolderId // "rooms"
|
||||
: contactFolder.FolderId; // "contacts"
|
||||
}
|
||||
|
||||
contacts.Add(contact);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue