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