ImagingTools Core SDK
CSupportTicketComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4// ACF includes
5#include <icomp/CComponentBase.h>
6#include <istd/IChangeable.h>
7
8// ImtCore includes
9#include <imtdesk/ISupportTicket.h>
10
11
12namespace imtdesk
13{
14
15
16class CSupportTicketComp:
17 public icomp::CComponentBase,
18 virtual public ISupportTicket
19{
20public:
21 typedef icomp::CComponentBase BaseClass;
22
23 I_BEGIN_COMPONENT(CSupportTicketComp)
24 I_REGISTER_INTERFACE(ISupportTicket);
25 I_REGISTER_INTERFACE(iser::ISerializable);
26 I_REGISTER_INTERFACE(istd::IChangeable);
27 I_END_COMPONENT
28
29 // reimplemented (imtdesk::ISupportTicket)
30 virtual QByteArray GetId() const override;
31 virtual void SetId(const QByteArray& id) override;
32 virtual QString GetTitle() const override;
33 virtual void SetTitle(const QString& title) override;
34 virtual QString GetDescription() const override;
35 virtual void SetDescription(const QString& description) override;
36 virtual TicketType GetTicketType() const override;
37 virtual void SetTicketType(TicketType ticketType) override;
38 virtual TicketStatus GetStatus() const override;
39 virtual void SetStatus(TicketStatus status) override;
40 virtual TicketPriority GetPriority() const override;
41 virtual void SetPriority(TicketPriority priority) override;
42 virtual QByteArray GetAssigneeId() const override;
43 virtual void SetAssigneeId(const QByteArray& assigneeId) override;
44 virtual QByteArray GetReporterId() const override;
45 virtual void SetReporterId(const QByteArray& reporterId) override;
46 virtual QByteArray GetConversationId() const override;
47 virtual void SetConversationId(const QByteArray& conversationId) override;
48 virtual QByteArray GetMessageId() const override;
49 virtual void SetMessageId(const QByteArray& messageId) override;
50 virtual Environment GetEnvironment() const override;
51 virtual void SetEnvironment(Environment environment) override;
52 virtual QStringList GetTags() const override;
53 virtual void SetTags(const QStringList& tags) override;
54 virtual QString GetCreatedAt() const override;
55 virtual void SetCreatedAt(const QString& createdAt) override;
56 virtual QString GetUpdatedAt() const override;
57 virtual void SetUpdatedAt(const QString& updatedAt) override;
58 virtual QString GetResolvedAt() const override;
59 virtual void SetResolvedAt(const QString& resolvedAt) override;
60
61 // reimplemented (iser::ISerializable)
62 virtual bool Serialize(iser::IArchive& archive) override;
63
64 // reimplemented (istd::IChangeable)
65 virtual bool CopyFrom(const IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
66 virtual bool IsEqual(const IChangeable& object) const override;
67 virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode = CM_WITHOUT_REFS) const override;
68 virtual bool ResetData(CompatibilityMode mode = CM_WITHOUT_REFS) override;
69
70private:
71 QByteArray m_id;
72 QString m_title;
73 QString m_description;
74 TicketType m_ticketType = TT_ACCESS_REQUEST;
75 TicketStatus m_status = TS_OPEN;
76 TicketPriority m_priority = TP_MEDIUM;
77 QByteArray m_assigneeId;
78 QByteArray m_reporterId;
79 QByteArray m_conversationId;
80 QByteArray m_messageId;
81 Environment m_environment = ENV_PRODUCTION;
82 QStringList m_tags;
83 QString m_createdAt;
84 QString m_updatedAt;
85 QString m_resolvedAt;
86};
87
88} // namespace imtdesk
Service Desk Ticketing Domain Model Module.