text: /**
   * TextMagic API
   * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
   *
   * OpenAPI spec version: 2
   * 
   *
   * NOTE: This class is auto generated by the swagger code generator 2.4.8.
   * https://github.com/swagger-api/swagger-codegen.git
   * Do not edit the class manually.
   */
  
  /*
   * Chat.h
   *
   * 
   */
  
  #ifndef COM_TEXTMAGIC_CLIENT_MODEL_Chat_H_
  #define COM_TEXTMAGIC_CLIENT_MODEL_Chat_H_
  
  
  #include "../ModelBase.h"
  
  #include "Country.h"
  #include <cpprest/details/basic_types.h>
  #include "Contact.h"
  
  namespace com {
  namespace textmagic {
  namespace client {
  namespace model {
  
  /// <summary>
  /// 
  /// </summary>
  class  Chat
      : public ModelBase
  {
  public:
      Chat();
      virtual ~Chat();
  
      /////////////////////////////////////////////
      /// ModelBase overrides
  
      void validate() override;
  
      web::json::value toJson() const override;
      void fromJson(web::json::value& json) override;
  
      void toMultipart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& namePrefix) const override;
      void fromMultiPart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& namePrefix) override;
  
      /////////////////////////////////////////////
      /// Chat members
  
      /// <summary>
      /// Chat ID.
      /// </summary>
      int32_t getId() const;
          void setId(int32_t value);
      /// <summary>
      /// 
      /// </summary>
      int32_t getOriginalId() const;
          void setOriginalId(int32_t value);
      /// <summary>
      /// Chat partner&#39;s phone number.
      /// </summary>
      utility::string_t getPhone() const;
          void setPhone(utility::string_t value);
      /// <summary>
      /// 
      /// </summary>
      std::shared_ptr<Contact> getContact() const;
          void setContact(std::shared_ptr<Contact> value);
      /// <summary>
      /// If this field has a value, it means that the chat phone number has been unsubscribed from you and this value is an ID of an Unsubscribed contact entity. See [Get all unsubscribed contacts](https://docs.textmagic.com/#operation/getUnsubscribers).
      /// </summary>
      int32_t getUnsubscribedContactId() const;
          void setUnsubscribedContactId(int32_t value);
      /// <summary>
      /// Total unread incoming messages.
      /// </summary>
      int32_t getUnread() const;
          void setUnread(int32_t value);
      /// <summary>
      /// Time when the last incoming message arrived at this chat.
      /// </summary>
      utility::datetime getUpdatedAt() const;
          void setUpdatedAt(utility::datetime value);
      /// <summary>
      /// Chat status:   * **a** - Active;   * **c** - Closed;   * **d** - Deleted. 
      /// </summary>
      utility::string_t getStatus() const;
          void setStatus(utility::string_t value);
      /// <summary>
      /// Indicates when the chat is muted.
      /// </summary>
      int32_t getMute() const;
          void setMute(int32_t value);
      /// <summary>
      /// The last message content of a chat.
      /// </summary>
      utility::string_t getLastMessage() const;
          void setLastMessage(utility::string_t value);
      /// <summary>
      /// Last message type: * **ci** - incoming call; * **co** - outgoing call; * **i** - incoming message; * **o** - outgoing message. 
      /// </summary>
      utility::string_t getDirection() const;
          void setDirection(utility::string_t value);
      /// <summary>
      /// If filled, the value will be used as a sender number for all outgoing messages of a chat.
      /// </summary>
      utility::string_t getFrom() const;
          void setFrom(utility::string_t value);
      /// <summary>
      /// Date and time until the chat will be muted.
      /// </summary>
      utility::datetime getMutedUntil() const;
          void setMutedUntil(utility::datetime value);
      /// <summary>
      /// Time left untill the chat will be unmuted (seconds).
      /// </summary>
      int32_t getTimeLeftMute() const;
          void setTimeLeftMute(int32_t value);
      /// <summary>
      /// 
      /// </summary>
      std::shared_ptr<Country> getCountry() const;
          void setCountry(std::shared_ptr<Country> value);
      /// <summary>
      /// Indicates when the chat is pinned.
      /// </summary>
      bool isPinned() const;
          void setPinned(bool value);
  
  protected:
      int32_t m_Id;
          int32_t m_OriginalId;
          utility::string_t m_Phone;
          std::shared_ptr<Contact> m_Contact;
          int32_t m_UnsubscribedContactId;
          int32_t m_Unread;
          utility::datetime m_UpdatedAt;
          utility::string_t m_Status;
          int32_t m_Mute;
          utility::string_t m_LastMessage;
          utility::string_t m_Direction;
          utility::string_t m_From;
          utility::datetime m_MutedUntil;
          int32_t m_TimeLeftMute;
          std::shared_ptr<Country> m_Country;
          bool m_Pinned;
      };
  
  }
  }
  }
  }
  
  #endif /* COM_TEXTMAGIC_CLIENT_MODEL_Chat_H_ */
  