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(""); }
/// <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]); }
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(""); }