예제 #1
0
        /// <summary> Получить ChatMessageModelManaged из ModelChatMessage </summary>
        private static ChatMessageModelManaged GetChatMessageModelManagedFromModelChatMessage(ModelChatMessage modelChatMessage)
        {
            var result = new ChatMessageModelManaged
            {
                Changed       = modelChatMessage.Changed,
                ChatId        = modelChatMessage.IdChat,
                Readed        = modelChatMessage.Readed,
                Rownum        = modelChatMessage.Rownum,
                StringContent = modelChatMessage.StringContent,
                Sender        = DataSourceContact.GetContactModelManagedFromModelContact(modelChatMessage.Sender)
            };

            if (modelChatMessage.ModelContactData != null)
            {
                result.ContactData = DataSourceContact.GetContactModelManagedFromModelContact(modelChatMessage.ModelContactData);
            }

            if (modelChatMessage.ListQuotedModelChatMessage != null)
            {
                result.QuotedMessages = GetArrayChatMessageModelManagedFromListModelChatMessage(modelChatMessage.ListQuotedModelChatMessage.ToList());
                result.QuoteType      = ChatMessageQuoteTypeManaged.Quote;
            }

            //if (modelChatMessage.ListQuotedModelChatMessage.Count > 0) result.QuoteType = ChatMessageQuoteTypeManaged.Quote;

            return(result);
        }
예제 #2
0
        /// <summary> Получить ChatMessageModelManaged из ModelChatMessage </summary>
        private static ChatMessageModelManaged ConvertModelChatMessageFromChatMessageModelManaged(ModelChatMessage modelChatMessage)
        {
            if (modelChatMessage == null)
            {
                return(null);
            }

            var result = new ChatMessageModelManaged
            {
                Id            = modelChatMessage.Id,
                ChatId        = modelChatMessage.IdChat,
                SendTime      = modelChatMessage.SendTime,
                Servered      = modelChatMessage.Servered,
                Readed        = modelChatMessage.Readed,
                StringContent = modelChatMessage.StringContent,

                Sender      = DataSourceContact.GetContactModelManagedFromModelContact(modelChatMessage.Sender),
                ContactData = DataSourceContact.GetContactModelManagedFromModelContact(modelChatMessage.ModelContactData),
                Type        = (ChatMessageTypeManaged)modelChatMessage.ModelEnumChatMessageTypeObj.Code
            };


            if (modelChatMessage.ModelNotificationDataObj != null)
            {
                result.NotificationData = new ChatNotificationDataManaged()
                {
                    Contacts = DataSourceContact.ConvertListModelContactFromArrayContactModelManaged(modelChatMessage.ModelNotificationDataObj.ListModelContact).ToArray(),
                    Type     = (ChatNotificationTypeManaged)modelChatMessage.ModelNotificationDataObj.ModelEnumChatNotificationTypeObj.Code
                };
            }

            if (modelChatMessage.HaveQuoted)
            {
                result.QuotedMessages = ConvertListModelChatMessageFromListChatMessageModelManaged(modelChatMessage.ListQuotedModelChatMessage.ToList()).ToArray();
            }

            return(result);
        }
예제 #3
0
        /// <summary> Получить ModelChatMessage из ChatMessageModelManaged </summary>
        private static ModelChatMessage GetModelChatMessageFromChatMessageModelManaged(ChatMessageModelManaged chatMessageModelManaged)
        {
            if (chatMessageModelManaged == null)
            {
                return(null);
            }

            var dataSourceContact = new DataSourceContact();

            var result = new ModelChatMessage
            {
                Id            = chatMessageModelManaged.Id,
                IdChat        = chatMessageModelManaged.ChatId,
                SendTime      = chatMessageModelManaged.SendTime,
                Servered      = chatMessageModelManaged.Servered,
                Readed        = chatMessageModelManaged.Readed,
                StringContent = chatMessageModelManaged.StringContent,
                Changed       = chatMessageModelManaged.Changed,
                Rownum        = chatMessageModelManaged.Rownum,
                Encrypted     = chatMessageModelManaged.Encrypted,

                Sender           = DataSourceContact.GetModelContactFromContactModelManaged(chatMessageModelManaged.Sender),
                ModelContactData = DataSourceContact.GetModelContactFromContactModelManaged(chatMessageModelManaged.ContactData),

                ModelEnumChatMessageTypeObj          = ModelEnumChatMessageType.GetModelEnum((int)chatMessageModelManaged.Type),
                ModelEnumChatMessageQuoteTypeObj     = ModelEnumChatMessageQuoteType.GetModelEnum((int)chatMessageModelManaged.QuoteType),
                ModelEnumChatMessageSecurityLevelObj = ModelEnumChatMessageSecurityLevel.GetModelEnum((int)chatMessageModelManaged.SecurityLevel)
            };

            if (result.ModelContactData != null)
            {
                DataSourceContact.RefreshModelContactStatus(result.ModelContactData);
            }

            var quotedMessages = ConvertChatMessageModelManagedAtModelChatMessage(chatMessageModelManaged.QuotedMessages);

            if (quotedMessages.Count != 0)
            {
                result.ListQuotedModelChatMessage = new ObservableCollection <ModelChatMessage>(quotedMessages);
            }

            if (chatMessageModelManaged.NotificationData != null)
            {
                result.ModelNotificationDataObj = new ModelNotificationData()
                {
                    ListModelContact = DataSourceContact.GetListModelContactFromArrayContactModelManaged(chatMessageModelManaged.NotificationData.Contacts),
                    ModelEnumChatNotificationTypeObj = ModelEnumChatNotificationType.GetModelEnum((int)chatMessageModelManaged.NotificationData.Type)
                };
            }



            return(result);
        }