Skip to content

Commit 257211f

Browse files
authored
Merge pull request #210 from Resgrid/develop
CU-868dk7jz1 Fixed messaging queue bug
2 parents 6b7da55 + 260f08e commit 257211f

File tree

2 files changed

+202
-61
lines changed

2 files changed

+202
-61
lines changed

Core/Resgrid.Services/QueueService.cs

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -116,42 +116,28 @@ public async Task<List<QueueItem>> GetAllPendingDeleteDepartmentQueueItemsAsync(
116116

117117
public async Task<bool> EnqueueMessageBroadcastAsync(MessageQueueItem mqi, CancellationToken cancellationToken = default(CancellationToken))
118118
{
119-
if (Config.SystemBehaviorConfig.IsAzure)
119+
if (!String.IsNullOrWhiteSpace(mqi.Message.ReceivingUserId))
120120
{
121-
if (!String.IsNullOrWhiteSpace(mqi.Message.ReceivingUserId))
122-
{
123-
var dm = await _departmentsService.GetDepartmentMemberAsync(mqi.Message.ReceivingUserId, mqi.DepartmentId);
124-
string departmentNumber = await _departmentSettingsService.GetTextToCallNumberForDepartmentAsync(dm.DepartmentId);
125-
mqi.DepartmentTextNumber = departmentNumber;
126-
127-
if (mqi.Message.ReceivingUser == null)
128-
{
129-
var user = mqi.Profiles.FirstOrDefault(x => x.UserId == mqi.Message.ReceivingUserId);
121+
var dm = await _departmentsService.GetDepartmentMemberAsync(mqi.Message.ReceivingUserId, mqi.DepartmentId);
122+
string departmentNumber = await _departmentSettingsService.GetTextToCallNumberForDepartmentAsync(dm.DepartmentId);
123+
mqi.DepartmentTextNumber = departmentNumber;
130124

131-
if (user != null && user.User != null)
132-
mqi.Message.ReceivingUser = user.User;
133-
}
134-
}
135-
else if (!String.IsNullOrWhiteSpace(mqi.Message.SendingUserId))
125+
if (mqi.Message.ReceivingUser == null)
136126
{
137-
var dm = await _departmentsService.GetDepartmentMemberAsync(mqi.Message.SendingUserId, mqi.DepartmentId);
138-
string departmentNumber = await _departmentSettingsService.GetTextToCallNumberForDepartmentAsync(dm.DepartmentId);
139-
mqi.DepartmentTextNumber = departmentNumber;
140-
}
127+
var user = mqi.Profiles.FirstOrDefault(x => x.UserId == mqi.Message.ReceivingUserId);
141128

142-
return await _outboundQueueProvider.EnqueueMessage(mqi);
129+
if (user != null && user.User != null)
130+
mqi.Message.ReceivingUser = user.User;
131+
}
143132
}
144-
else
133+
else if (!String.IsNullOrWhiteSpace(mqi.Message.SendingUserId))
145134
{
146-
QueueItem item = new QueueItem();
147-
item.QueueType = (int)QueueTypes.MessageBroadcast;
148-
item.SourceId = mqi.Message.MessageId.ToString();
149-
item.QueuedOn = DateTime.UtcNow;
150-
151-
await _queueItemsRepository.SaveOrUpdateAsync(item, cancellationToken);
135+
var dm = await _departmentsService.GetDepartmentMemberAsync(mqi.Message.SendingUserId, mqi.DepartmentId);
136+
string departmentNumber = await _departmentSettingsService.GetTextToCallNumberForDepartmentAsync(dm.DepartmentId);
137+
mqi.DepartmentTextNumber = departmentNumber;
152138
}
153139

154-
return true;
140+
return await _outboundQueueProvider.EnqueueMessage(mqi);
155141
}
156142

157143
public async Task<bool> EnqueueCallBroadcastAsync(CallQueueItem cqi, CancellationToken cancellationToken = default(CancellationToken))

0 commit comments

Comments
 (0)