170 похожих чатов

У меня личные сообщения организованы так: Есть модель Message, у

которой есть свойства OwnerId - то есть тот кто создал сообщение, ToWhomId - то есть кому адрессовано сообщение, Id - индификатор самого сообщения и Text - содержимое сообщения, DateOfCreate - дата создания. Если нужно получить диалоги, то я ищу в базе данных все сообщения, где OwnerId == Id авторизовоного пользователя, сортирую по дате создания и оставляю только уникальные по свойству message.ToWhom, затем отдаю клиенту, таким образом получаю все диалоги. Если "Удалить диалог", то достаточно просто удалить все сообщения от авторизованого юзера к указаному айди. Как лучше организовать "Удалить сообщение только у себя"?

6 ответов

9 просмотров

сложно будет потом расширять функционал. Проще изначально считать каждую переписку диалогом и, тогда towhomid будет просто чат ид, а не конкретный человек

21th- Автор вопроса
Heartless
сложно будет потом расширять функционал. Проще изн...

и какая сущность будет Chat? Какие там поля должны быть

21th- Автор вопроса
Heartless
сложно будет потом расширять функционал. Проще изн...

Id -идентификатор LastMessage - последнее сообщение Participant - лист в котором будет максимум 2 участника или как

21th- Автор вопроса
Heartless
сложно будет потом расширять функционал. Проще изн...

и почему будет сложно расширять функционал

21th- Автор вопроса

как сделать "непрочитанные сообщения", то есть в том же диалоге мне отправили 10 сообщений пока я отходил и у меня 10 не прочитанных, как это правильно реализовать? пока способы которые мне приходят в голову неоптимизированные

21th- Автор вопроса
21th
как сделать "непрочитанные сообщения", то есть в т...

сейчас додумаю свой вариант, и напишу сюда, чтобы оценили

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта