public long AddOrUpdateConversation(long firstUser, long secondUser)
        {
            var now          = DateTime.UtcNow;
            var conversation = GetConversationByUsersId(firstUser, secondUser);

            if (conversation == null)
            {
                conversation = new ConversationModel
                {
                    UserOneID        = firstUser,
                    UserTwoID        = secondUser,
                    CreationDate     = now,
                    ModificationDate = now
                };

                conversationsRepository.Insert(conversation);
            }
            else
            {
                conversation.ModificationDate = DateTime.Now;
                conversationsRepository.Update(conversation);
            }

            UnitOfWork.Commit();
            return(conversation.ID);
        }
Пример #2
0
        /// <summary>
        /// Добавить или обновить диалог двух пользователей по их идентификаторам
        /// </summary>
        /// <param name="firstUser">Идентификатор первого пользователя</param>
        /// <param name="secondUser">Идентификатор первого пользователя</param>
        /// <returns>Идентификатор созданные или обновлённые данные о диалоге</returns>
        public long AddOrUpdateConversation(long firstUser, long secondUser)
        {
            var now = DateTime.UtcNow; // Получаем текущие дату и время
            // Получаем данные о диалоге
            var conversation = GetConversationByUsersId(firstUser, secondUser);

            if (conversation == null) // Если диалога не существует
            {
                // Создаём данные о ноыом диалоге
                conversation = new ConversationModel
                {
                    UserOneID        = firstUser,  // Первый пользователь
                    UserTwoID        = secondUser, // Второй пользователь
                    CreationDate     = now,        // Текущие дата и время создания
                    ModificationDate = now         // Текущие дата и время изменения
                };
                // Добавляем данные о диалоге в хранилище
                conversationsRepository.Insert(conversation);
            }
            else // Если диалог существует
            {
                // Изменяем дату изменения на текущую
                conversation.ModificationDate = DateTime.Now; // можно заменить на now
                // Обновляем данные о диалоге в хранилище
                conversationsRepository.Update(conversation);
            }

            // Подтверждаем Единицу работы
            UnitOfWork.Commit();
            // Возвращаем идентификатор диалога
            return(conversation.ID);
        }