/// <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); }
/// <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); }
/// <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); }