Exemplo n.º 1
0
        public static string ToValue(this Models.ProjectStatus status)
        {
            switch (status)
            {
            case Models.ProjectStatus.Default:
                return("Default");

            case Models.ProjectStatus.Accepting:
                return("Accepting");

            case Models.ProjectStatus.Accepted:
                return("Accepted");

            case Models.ProjectStatus.Holding:
                return("Holding");

            case Models.ProjectStatus.Held:
                return("Held");

            case Models.ProjectStatus.Cancelled:
                return("Cancelled");

            case Models.ProjectStatus.Expired:
                return("Expired");

            default:
                break;
            }
            return("");
        }
Exemplo n.º 2
0
        /// <summary>
        /// 遷移可能な、次のステートの配列を取得します。
        /// </summary>
        /// <returns></returns>
        /// <remarks>
        /// <list type="table">
        /// <listheader>
        /// <term>現在の値</term>
        /// <description>説明</description>
        /// </listheader>
        /// <item>
        /// <term>Default</term>
        /// <description>デフォルト状態。プロジェクトは未公開。Acceptingに遷移可能。</description>
        /// </item>
        /// <item>
        /// <term>Accepting</term>
        /// <description>募集開始状態(公開)。募集期間内であれば参加者が申込み可能。AcceptedとCancelledに遷移可能。</description>
        /// </item>
        /// <item>
        /// <term>Accepted</term>
        /// <description>募集早期締め切り状態(公開)。募集期間内だが参加者は申込み不可能。HoldingとCancelledに遷移可能。</description>
        /// </item>
        /// <item>
        /// <term>Holding</term>
        /// <description>プロジェクト開催状態(公開)。HeldとCancelledとExpiredに遷移可能。</description>
        /// </item>
        /// <item>
        /// <term>Held</term>
        /// <description>プロジェクト完了状態(公開)。Expiredに遷移可能。</description>
        /// </item>
        /// <item>
        /// <term>Cancelled</term>
        /// <description>開催側都合によるプロジェクト中止状態(公開)。Expiredに遷移可能。</description>
        /// </item>
        /// <item>
        /// <term>Expired</term>
        /// <description>プロジェクト破棄状態。プロジェクトの公開を停止する。</description>
        /// </item>
        /// </list>
        /// </remarks>
        public static Models.ProjectStatus[] ToNextStates(this Models.ProjectStatus status)
        {
            switch (status)
            {
            case Models.ProjectStatus.Default:
                return(new[] { Models.ProjectStatus.Default, Models.ProjectStatus.Accepting });

            case Models.ProjectStatus.Accepting:
                return(new[] { Models.ProjectStatus.Accepting, Models.ProjectStatus.Accepted, Models.ProjectStatus.Cancelled });

            case Models.ProjectStatus.Accepted:
                return(new[] { Models.ProjectStatus.Accepted, Models.ProjectStatus.Holding, Models.ProjectStatus.Cancelled });

            case Models.ProjectStatus.Holding:
                return(new[] { Models.ProjectStatus.Holding, Models.ProjectStatus.Held, Models.ProjectStatus.Cancelled });

            case Models.ProjectStatus.Held:
                return(new[] { Models.ProjectStatus.Held, Models.ProjectStatus.Expired });

            case Models.ProjectStatus.Cancelled:
                return(new[] { Models.ProjectStatus.Cancelled, Models.ProjectStatus.Expired });

            case Models.ProjectStatus.Expired:
                return(new[] { Models.ProjectStatus.Expired });

            default:
                break;
            }
            return(new Models.ProjectStatus[0]);
        }
Exemplo n.º 3
0
        public static string ToText(this Models.ProjectStatus status)
        {
            switch (status)
            {
            case Models.ProjectStatus.Default:
                return("公開前");

            case Models.ProjectStatus.Accepting:
                return("募集開始");

            case Models.ProjectStatus.Accepted:
                return("募集終了");

            case Models.ProjectStatus.Holding:
                return("実施開始");

            case Models.ProjectStatus.Held:
                return("実施終了");

            case Models.ProjectStatus.Cancelled:
                return("キャンセル");

            case Models.ProjectStatus.Expired:
                return("公開停止");

            default:
                break;
            }
            return("");
        }