لقد تم تكليفك بمهمة تنفيذ خدمة التعليق في مشروع واجهة برمجة تطبيقات الويب. ستكون الخدمة مسؤولة عن إنشاء التعليقات أو تحديثها لنموذج معين.

تطبق فئة `CommentService` واجهة `ICommentService`، والتي تحدد الطريقة التالية:

```
Task<ProcessResult> CreateOrUpdateAsync(CommentNewViewModel model);
```

تأخذ الطريقة `CreateOrUpdateAsync` كائن `CommentNewViewModel` كمعلمة وترجع `Task<ProcessResult>`. مهمتك هي تنفيذ طريقة "CreateOrUpdateAsync" في فئة "CommentService".

تحتاج إلى كتابة كود C# لتنفيذ طريقة `CreateOrUpdateAsync` والتأكد من قيامها بالمهام التالية:

1. تحقق مما إذا كان "النموذج" المقدم صالحًا. إذا كان النموذج غير صالح، قم بإرجاع كائن `ProcessResult` مع رسالة خطأ مناسبة.
2. إذا كان النموذج صالحًا، فقم بإنشاء تعليق جديد باستخدام البيانات من كائن "النموذج". يمكنك افتراض أن كيان "التعليق" يحتوي على الخصائص التالية: "المعرف" و"المحتوى" و"الإنشاء في".
3. إذا كان التعليق بنفس "المعرف" موجودًا بالفعل في قاعدة البيانات، فقم بتحديث خصائص "المحتوى" و"CreatedAt" الخاصة به بالقيم من كائن "النموذج". وإلا، قم بإنشاء سجل تعليق جديد في قاعدة البيانات.
4. بعد إنشاء التعليق أو تحديثه، قم بإرجاع كائن `ProcessResult` مع رسالة نجاح.

ملحوظة:
- تمثل فئة `CommentNewViewModel` البيانات التي يتم إرسالها إلى واجهة برمجة تطبيقات الويب لإنشاء تعليق أو تحديثه. يمكنك أن تفترض أنه يحتوي على الخصائص اللازمة للعملية.

مهمتك هي تنفيذ أسلوب `CreateOrUpdateAsync` الذي يلبي المتطلبات المذكورة أعلاه.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}