Utils/Constants.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ChatworkBulkSender.Utils
{
    public class Constants
    {
        /// <summary>
        /// システムのバージョン
        /// </summary>
        public static readonly string VERSION = "1.0.0";

        /// <summary>
        /// 送信タイプ
        /// </summary>
        public enum SEND_TYPE
        {
            REGULAR_SENDING = 0,    // 定期送信
            ADHOC_SENDING = 1       // 不定期送信
        }

        /// <summary>
        /// 定期送信における「送信対象」の区分
        /// </summary>
        public enum DESTINAION_SELECT_TYPE
        {
            NOT_SELECTED = -1,  // 未選択(DBに登録されることはない)
            AUTO = 0,           // 自動選択
            MANUAL = 1          // 手動選択
        }

        /// <summary>
        /// 送信結果
        /// </summary>
        public enum SEND_RESULT
        {
            SUCCESS = 0,    // 成功
            FAILURE = 1     // 失敗
        }

        /// <summary>
        /// 未使用フラグ
        /// </summary>
        public enum UNUSED_FLAG
        {
            USED = 0,       // 使用データ
            UNUSED = 1      // 未使用データ
        }

        /// <summary>
        /// 削除フラグ
        /// </summary>
        public enum DELETE_FLAG
        {
            NON_DELETED = 0,    // 未削除データ
            DELETED = 1         // 削除データ
        }

        /// <summary>
        /// 送信試行フラグ
        /// </summary>
        public enum SEND_ATTEMPTED
        {
            NO_ATTEMPTED,   // 送信を試みた
            ATTEMPTED       // 送信を試みなかった
        }

        #region Chatwork API v2 文字数制限数

        /// <summary>
        /// APIトークンの文字数(固定長)
        /// </summary>
        public const int API_TOKEN_LENGTH = 32;

        /// <summary>
        /// ルームIDの最大文字数(最大20桁の数値)
        /// </summary>
        public const int ROOM_ID_MAX_LENGTH = 20;

        /// <summary>
        /// アカウントIDの最大文字数(最大20桁の数値)
        /// </summary>
        public const int ACCOUNT_ID_MAX_LENGTH = 20;

        /// <summary>
        /// アカウント名の最大文字数
        /// </summary>
        public const int ACCOUNT_NAME_MAX_LENGTH = 100;

        /// <summary>
        /// 顧客名の最大文字数
        /// </summary>
        public const int CUSTOMER_NAME_MAX_LENGTH = 100;

        /// <summary>
        /// パターン名の最大文字数
        /// </summary>
        public const int PATTERN_NAME_MAX_LENGTH = 100;


        #endregion

        #region
        /// <summary>
        /// APIトークンの形式パターン(32文字の16進数)
        /// </summary>
        public const string API_TOKEN_PATTERN = @"^[0-9a-f]{32}$";

        /// <summary>
        /// ルームIDの形式パターン(1〜20桁の数値)
        /// </summary>
        public const string ROOM_ID_PATTERN = @"^\d{1,20}$";

        /// <summary>
        /// アカウントIDの形式パターン(1〜20桁の数値)
        /// </summary>
        public const string ACCOUNT_ID_PATTERN = @"^\d{1,20}$";

        #endregion
    }
}