|
@@ -151,10 +151,29 @@ namespace Vinno.vCloud.Common.FIS.Consultation
|
|
|
var memberInfo = ConsultationInfo?.ConsultationMemberInfos.FirstOrDefault(f => f.Id == member.Id);
|
|
|
if (member.OperationType == ClientMessageOperationType.Add)
|
|
|
{
|
|
|
+ ConsultationRoleType roleType = ConsultationRoleType.Initiator;
|
|
|
+ switch (member.RoleType)
|
|
|
+ {
|
|
|
+ case MeetingRoleType.Initiator:
|
|
|
+ roleType = ConsultationRoleType.Initiator;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Recipient:
|
|
|
+ roleType = ConsultationRoleType.Recipient;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Expert:
|
|
|
+ roleType = ConsultationRoleType.Expert;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Administrator:
|
|
|
+ roleType = ConsultationRoleType.Administrator;
|
|
|
+ break;
|
|
|
+ }
|
|
|
var meetingMemberInfo = new ConsultationMemberInfo
|
|
|
{
|
|
|
OperationType = member.OperationType,
|
|
|
- RoleType = member.RoleType,
|
|
|
+ RoleType = roleType,
|
|
|
RoomId = member.RoomId,
|
|
|
LoginSource = member.LoginSource,
|
|
|
State = member.State,
|
|
@@ -229,25 +248,7 @@ namespace Vinno.vCloud.Common.FIS.Consultation
|
|
|
Id = liveTerminal.Id
|
|
|
}).ToList();
|
|
|
|
|
|
- inviteMeeting.ConsultationMemberInfos = resultMessage.Recipients.Select(member => new ConsultationMemberInfo()
|
|
|
- {
|
|
|
- OperationType = member.OperationType,
|
|
|
- RoleType = member.RoleType,
|
|
|
- RoomId = member.RoomId,
|
|
|
- LoginSource = member.LoginSource,
|
|
|
- State = member.State,
|
|
|
- Id = member.Id,
|
|
|
- Name = member.Name,
|
|
|
- DisplayName = member.DisplayName,
|
|
|
- Avatar = member.Avatar,
|
|
|
- UserSign = member.UserSign,
|
|
|
- PushUrl = member.PushUrl,
|
|
|
- PullRtmpUrl = member.PullRtmpUrl,
|
|
|
- PullFlvUrl = member.PullFlvUrl,
|
|
|
- PullHlsUrl = member.PullHlsUrl,
|
|
|
- PushLiveState = member.PushLiveState,
|
|
|
- }).ToList();
|
|
|
-
|
|
|
+ inviteMeeting.ConsultationMemberInfos = resultMessage.Recipients.Select(member => RenderMemberInfo(member)).ToList();
|
|
|
return inviteMeeting;
|
|
|
}
|
|
|
}
|
|
@@ -255,6 +256,47 @@ namespace Vinno.vCloud.Common.FIS.Consultation
|
|
|
return new ConsultationRequestResult(LiveStates.UnknowException);
|
|
|
}
|
|
|
|
|
|
+ private ConsultationMemberInfo RenderMemberInfo(MeetingMemberInfoMessage member)
|
|
|
+ {
|
|
|
+ ConsultationRoleType roleType = ConsultationRoleType.Initiator;
|
|
|
+ switch (member.RoleType)
|
|
|
+ {
|
|
|
+ case MeetingRoleType.Initiator:
|
|
|
+ roleType = ConsultationRoleType.Initiator;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Recipient:
|
|
|
+ roleType = ConsultationRoleType.Recipient;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Expert:
|
|
|
+ roleType = ConsultationRoleType.Expert;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Administrator:
|
|
|
+ roleType = ConsultationRoleType.Administrator;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ return new ConsultationMemberInfo()
|
|
|
+ {
|
|
|
+ OperationType = member.OperationType,
|
|
|
+ RoleType = roleType,
|
|
|
+ RoomId = member.RoomId,
|
|
|
+ LoginSource = member.LoginSource,
|
|
|
+ State = member.State,
|
|
|
+ Id = member.Id,
|
|
|
+ Name = member.Name,
|
|
|
+ DisplayName = member.DisplayName,
|
|
|
+ Avatar = member.Avatar,
|
|
|
+ UserSign = member.UserSign,
|
|
|
+ PushUrl = member.PushUrl,
|
|
|
+ PullRtmpUrl = member.PullRtmpUrl,
|
|
|
+ PullFlvUrl = member.PullFlvUrl,
|
|
|
+ PullHlsUrl = member.PullHlsUrl,
|
|
|
+ PushLiveState = member.PushLiveState,
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
private CreateChatTableOutcome CreateChatTable(string recipientId, bool isGroup)
|
|
|
{
|
|
|
try
|
|
@@ -317,10 +359,29 @@ namespace Vinno.vCloud.Common.FIS.Consultation
|
|
|
List<ConsultationMemberInfo> meetingMemberInfos = new List<ConsultationMemberInfo>();
|
|
|
foreach (var member in resultMessage.Members)
|
|
|
{
|
|
|
+ ConsultationRoleType roleType = ConsultationRoleType.Initiator;
|
|
|
+ switch (member.RoleType)
|
|
|
+ {
|
|
|
+ case MeetingRoleType.Initiator:
|
|
|
+ roleType = ConsultationRoleType.Initiator;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Recipient:
|
|
|
+ roleType = ConsultationRoleType.Recipient;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Expert:
|
|
|
+ roleType = ConsultationRoleType.Expert;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Administrator:
|
|
|
+ roleType = ConsultationRoleType.Administrator;
|
|
|
+ break;
|
|
|
+ }
|
|
|
var meetingMemberInfo = new ConsultationMemberInfo
|
|
|
{
|
|
|
OperationType = member.OperationType,
|
|
|
- RoleType = member.RoleType,
|
|
|
+ RoleType = roleType,
|
|
|
RoomId = member.RoomId,
|
|
|
LoginSource = member.LoginSource,
|
|
|
State = member.State,
|
|
@@ -457,10 +518,29 @@ namespace Vinno.vCloud.Common.FIS.Consultation
|
|
|
List<ConsultationMemberInfo> meetingMemberInfos = new List<ConsultationMemberInfo>();
|
|
|
foreach (var member in resultMessage.Members)
|
|
|
{
|
|
|
+ ConsultationRoleType roleType = ConsultationRoleType.Initiator;
|
|
|
+ switch (member.RoleType)
|
|
|
+ {
|
|
|
+ case MeetingRoleType.Initiator:
|
|
|
+ roleType = ConsultationRoleType.Initiator;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Recipient:
|
|
|
+ roleType = ConsultationRoleType.Recipient;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Expert:
|
|
|
+ roleType = ConsultationRoleType.Expert;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case MeetingRoleType.Administrator:
|
|
|
+ roleType = ConsultationRoleType.Administrator;
|
|
|
+ break;
|
|
|
+ }
|
|
|
var meetingMemberInfo = new ConsultationMemberInfo
|
|
|
{
|
|
|
OperationType = member.OperationType,
|
|
|
- RoleType = member.RoleType,
|
|
|
+ RoleType = roleType,
|
|
|
RoomId = member.RoomId,
|
|
|
LoginSource = member.LoginSource,
|
|
|
State = member.State,
|
|
@@ -709,7 +789,7 @@ namespace Vinno.vCloud.Common.FIS.Consultation
|
|
|
{
|
|
|
_isEmergencyConsultationReceived = false;
|
|
|
}
|
|
|
- var recipientId = ConsultationInfo?.ConsultationMemberInfos?.FirstOrDefault(x => x.RoleType == MeetingRoleType.Recipient)?.Id;
|
|
|
+ var recipientId = ConsultationInfo?.ConsultationMemberInfos?.FirstOrDefault(x => x.RoleType == ConsultationRoleType.Recipient)?.Id;
|
|
|
if (recipientId == FLYINSONOUser.AccountId)
|
|
|
{
|
|
|
Hangup(true);
|