//#define 試用版

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
//using System.Reflection;
using System.Data.SqlClient;
using System.IO;
//using System.Threading;
//using System.Globalization;

using SystemCommon;
using ClientCommon;


namespace 顧客分析君
{
    public partial class _102メインメニュー : Form
    {
        ////////////////////////////////////////////////////////////////////////
        // メンバ変数
        ////////////////////////////////////////////////////////////////////////
        #region メンバ変数

        #endregion


        ////////////////////////////////////////////////////////////////////////
        // 公開 共通メソッド 
        ////////////////////////////////////////////////////////////////////////
        #region 公開 共通メソッド

        public _102メインメニュー()
        {
            InitializeComponent();

            Set表示項目();
        }

        #endregion

        ////////////////////////////////////////////////////////////////////////
        // 非公開 共通メソッド
        ////////////////////////////////////////////////////////////////////////
        #region 非公開 共通メソッド




        private void 文言変更()
        {
            //if (C02業務共通処理.分析手法を取得() == enm分析手法.顧客分析.ToString())
			if (C02業務共通処理.分析手法を取得() == enm分析手法.顧客分析.ToString())
			{
                //btn顧客一覧.Text = "顧客一覧";
                btn顧客一覧.Visible = true;
            }
            //else if (C02業務共通処理.分析手法を取得() == enm分析手法.バスケット分析.ToString())
			else if (C02業務共通処理.分析手法を取得() == enm分析手法.バスケット分析.ToString())
			{
                //btn顧客一覧.Text = "バスケット一覧";
                btn顧客一覧.Visible = false;
            }
        }


        private void 試用期限チェック()
        {
            // シリアル未確認であれば、試用期限をチェック
            if (d01属性ta.Scalar値(16) == "1")
            {
                // 試用期限を過ぎていたら終了
                if (d01属性ta.Scalar値(14) == "")
                {
                    //d01属性ta.Update(DateTime.Today.ToString(), C02業務共通処理.miログインスタッフNo, 14);
					d01属性ta.Update(DateTime.Today.ToString(), C02業務共通処理.miログインスタッフNo, 14);
				}
                else
                {
                    TimeSpan ts初期起動日と今日との差 
                        = (TimeSpan)(DateTime.Today - DateTime.Parse(d01属性ta.Scalar値(14)));

                    if (ts初期起動日と今日との差.TotalDays > 30)
                    {
                        MessageBox.Show(Properties.Resources.MSG_W_試用期間を過ぎた為_起動する事はできません, this.Text, MessageBoxButtons.OK, 
                            MessageBoxIcon.Warning);

                        this.Close();
                    }
                }
            }
        }




        private void Set表示項目()
        {

#if 顧客分析君CRM
            //計算元データ登録

#endif
        }

        //private void DB初期化()
        //{
        //    _100初期化 _100初期化 = null;
        //    _100初期化 = new _100初期化();
        //    _100初期化.ShowDialog();
        //    if (_100初期化.mb初期化 == false)
        //    {
        //        this.Close();
        //        return;
        //    }
        //}


        #endregion


        ////////////////////////////////////////////////////////////////////////
        // イベントハンドラ
        ////////////////////////////////////////////////////////////////////////
        #region イベントハンドラ

        private void _102メインメニュー_Load(object sender, EventArgs e)
        {
#if DEBUG
            //string str = "";
            //Program.システム共通処理.GetAssembly(ref str);
#endif

            try
            {
//                if (C04システム共通.Chk多重起動() == false)
//                {
//                    this.Close();
//                    return;
//                }

//#if RELEASE
//                Properties.Settings.Default.KB = Properties.Settings.Default.R_KB;
//                Properties.Settings.Default.MASTER = Properties.Settings.Default.R_MASTER;
//#endif

//                if (Program.システム共通処理.IsExistシステムファイル() == false)
//                {
//                    MessageBox.Show(Properties.Resources.MSG_INF_083, this.Text, MessageBoxButtons.OK,
//                        MessageBoxIcon.Warning);

//                    this.Close();
//                    return;
//                }

//                if (Program.システム共通処理.SetDataPath() == false)
//                {
//                    MessageBox.Show(Properties.Resources.MSG_INF_013, this.Text, MessageBoxButtons.OK,
//                        MessageBoxIcon.Warning);

//                    this.Close();
//                    return;
//                }

//                string strTmp = "";
//                if (Program.システム共通処理.ChkSQLServer(ref strTmp) == false)
//                {
//                    Program.システム共通処理.SQLServer再起動();

//                    if (Program.システム共通処理.ChkSQLServer(ref strTmp) == false)
//                    {

//                        MessageBox.Show(Properties.Resources.MSG_INF_012, this.Text, MessageBoxButtons.OK,
//                            MessageBoxIcon.Warning);

//                        this.Close();
//                        return;
//                    }
//                }



//                if (Program.システム共通処理.IsExistDB() == false)
//                    DB初期化();
//                else if (Program.システム共通処理.IsExistSP() == false)
//                    DB初期化();


#if Express
                // Windows 7 ではエラーになる
                //Program.システム共通処理.ChkSQLServerExpressの最大DBサイズを超えているか();
#endif

                //if (d01属性ta.Scalar値(92) == "")
                //{
                //    _106言語選択 _106言語選択 = null;
                //    _106言語選択 = new _106言語選択();
                //    if (_106言語選択.ShowDialog() == DialogResult.Cancel)
                //    {
                //        this.Close();
                //        return;
                //    }
                //}
                //else
                //{
                //    //Program.システム共通処理.Set言語(d01属性ta.Scalar値(92));
                //    Thread.CurrentThread.CurrentUICulture = new CultureInfo(d01属性ta.Scalar値(92), true);
                //}
                if (d12スタッフta.Scalarスタッフ総数() < 1)
                {
                    _502スタッフ詳細 _502スタッフ詳細 = null;
                    _502スタッフ詳細 = new _502スタッフ詳細();
                    _502スタッフ詳細.miMode = 1;
                    _502スタッフ詳細.ShowDialog();

                    if (_502スタッフ詳細.mb登録 == false)
                    {
                        this.Close();
                        return;
                    }

                    C02業務共通処理.スタッフ認証(_502スタッフ詳細.mstrスタッフID
                        , _502スタッフ詳細.mstrパスワード);
                }
                else
                {
                    _101起動ロゴ _101起動ロゴ = null;
                    _101起動ロゴ = new _101起動ロゴ();
                    _101起動ロゴ.ShowDialog();
                    if (_101起動ロゴ.mb認証 == false)
                    {
                        this.Close();
                        return;
                    }
                }

                文言変更();

                toolTip.SetToolTip(btnお勧め商品一覧, Properties.Resources.TTIP_002);
                toolTip.SetToolTip(btn売れ筋商品一覧, Properties.Resources.TTIP_003);
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "_102メインメニュー_Load", ex);
            }
        }

        private void btn販売履歴_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.販売履歴) == false)
                    return;

                _201販売履歴 _201販売履歴 = null;
                _201販売履歴 = new _201販売履歴();
                C01FormCommon.画面最小サイズに変更(_201販売履歴, true);
                _201販売履歴.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn販売履歴_Click", ex);
            }
        }

        private void btn顧客一覧_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.顧客一覧) == false)
                    return;

                _202顧客一覧 _202顧客一覧 = null;
                _202顧客一覧 = new _202顧客一覧();
                C01FormCommon.画面最小サイズに変更(_202顧客一覧, true);
                _202顧客一覧.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn顧客一覧_Click", ex);
            }
        }

        private void btn商品一覧_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.商品一覧) == false)
                    return;

                _204商品一覧 _204商品一覧 = null;
                _204商品一覧 = new _204商品一覧();
                C01FormCommon.画面最小サイズに変更(_204商品一覧, true);
                _204商品一覧.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn商品一覧_Click", ex);
            }
        }

        private void btnPR履歴_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.PR履歴) == false)
                    return;

                _210PR履歴 _210PR履歴 = null;
                _210PR履歴 = new _210PR履歴();
                C01FormCommon.画面最小サイズに変更(_210PR履歴, true);
                _210PR履歴.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnPR履歴_Click", ex);
            }
        }


        private void btn計算_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.計算) == false)
                    return;

                _301計算 _301計算 = null;
                _301計算 = new _301計算();
                _301計算.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn計算_Click", ex);
            }
        }

        private void btnRFM分析_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.RFM分析) == false)
                    return;

                _401RFM分析 _401RFM分析 = null;
                _401RFM分析 = new _401RFM分析();
				_401RFM分析.mb呼出し元画面名 = this.Text;
				C01FormCommon.画面最小サイズに変更(_401RFM分析, true);
                _401RFM分析.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnRFM分析_Click", ex);
            }
        }

        private void btnFM分析_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.FM分析) == false)
                    return;

                _407FM分析 _407FM分析 = null;
                _407FM分析 = new _407FM分析();
                _407FM分析.mb呼出し元画面名 = this.Text;
                C01FormCommon.画面最小サイズに変更(_407FM分析, true);
                _407FM分析.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnFM分析_Click", ex);
            }
        }

        private void btn顧客動向表_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.顧客動向表) == false)
                    return;

                _404顧客動向表 _404顧客動向表 = null;
                _404顧客動向表 = new _404顧客動向表();
                C01FormCommon.画面最小サイズに変更(_404顧客動向表, _404顧客動向表.mi画面最小サイズ_縦
                    , _404顧客動向表.mi画面最小サイズ_幅);
                _404顧客動向表.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn顧客動向表_Click", ex);
            }
        }

        private void btn顧客属性別割合_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.顧客属性別割合) == false)
                    return;

            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn顧客属性別割合_Click", ex);
            }
        }

        private void btnお勧め商品_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.お勧め商品一覧) == false)
                    return;

                _402お勧め商品一覧 _402お勧め商品一覧 = null;
                _402お勧め商品一覧 = new _402お勧め商品一覧();
                _402お勧め商品一覧.bitMode = 1;
                C01FormCommon.画面最小サイズに変更(_402お勧め商品一覧, true);
                _402お勧め商品一覧.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnお勧め商品_Click", ex);
            }

        }

        private void btn売れ筋商品_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.売れ筋商品一覧) == false)
                    return;

                _402お勧め商品一覧 _402お勧め商品一覧 = null;
                _402お勧め商品一覧 = new _402お勧め商品一覧();
                _402お勧め商品一覧.bitMode = 2;
                C01FormCommon.画面最小サイズに変更(_402お勧め商品一覧, true);
                _402お勧め商品一覧.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn売れ筋商品_Click", ex);
            }

        }

        private void btn相関商品一覧_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.相関商品一覧) == false)
                    return;

                _406相関商品一覧 _406相関商品一覧 = null;
                _406相関商品一覧 = new _406相関商品一覧();
                C01FormCommon.画面最小サイズに変更(_406相関商品一覧, true);
                _406相関商品一覧.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn売れ筋商品_Click", ex);
            }
        }

        private void btnシステム設定_Click(object sender, EventArgs e)
        {
            try
            {
#if 顧客分析君CRM
                if (C02業務共通処理.チェック閲覧権限(this.Text
                    , C_画面名.システム設定メニュー.ToString()) == false)
                    return;

                _112システム設定メニュー _112システム設定メニュー = null;
                _112システム設定メニュー = new _112システム設定メニュー();
                _112システム設定メニュー.ShowDialog();
#endif

#if 顧客分析君2010
                _108分析手法設定 _108分析手法設定 = null;
                _108分析手法設定 = new _108分析手法設定();
                _108分析手法設定.ShowDialog();

                文言変更();
#endif
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnシステム設定_Click", ex);
            }
        }

        private void btnマスタ設定_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text
                    , C_画面名.マスタ設定メニュー.ToString()) == false)
                    return;

                _113マスタ設定メニュー _113マスタ設定メニュー = null;
                _113マスタ設定メニュー = new _113マスタ設定メニュー();
                _113マスタ設定メニュー.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnマスタ設定_Click", ex);
            }
        }

        private void btnバックアップ_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text
                    , C_画面名.バックアップ) == false)
                    return;

                _103処理状況 _103処理状況 = null;
                _103処理状況 = new _103処理状況();
                _103処理状況.mbtMode = 1;
                _103処理状況.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnバックアップ_Click", ex);
            }
        }

        private void btn復元_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text
                    , C_画面名.復元) == false)
                    return;

                _103処理状況 _103処理状況 = null;
                _103処理状況 = new _103処理状況();
                _103処理状況.mbtMode = 2;
                _103処理状況.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn復元_Click", ex);
            }
        }

        private void btnスタッフ一覧_Click(object sender, EventArgs e)
        {
            try
            {
                _501スタッフ一覧 _109スタッフ一覧 = null;
                _109スタッフ一覧 = new _501スタッフ一覧();
                C01FormCommon.画面最小サイズに変更(_109スタッフ一覧, false);
                _109スタッフ一覧.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnスタッフ一覧_Click", ex);
            }
        }

        private void btn操作履歴_Click(object sender, EventArgs e)
        {
            try
            {
                if (C02業務共通処理.チェック閲覧権限(this.Text, C_画面名.操作履歴) == false)
                    return;

                _203操作履歴 _110操作履歴 = null;
                _110操作履歴 = new _203操作履歴();
                C01FormCommon.画面最小サイズに変更(_110操作履歴, true);
                _110操作履歴.ShowDialog();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btn操作履歴_Click", ex);
            }
        }

        private void btnログオフ_Click(object sender, EventArgs e)
        {
            try
            {
                this.Close();
            }
            catch (Exception ex)
            {
                C04システム共通.ErrorLog("_102メインメニュー", "btnログオフ_Click", ex);
            }
        }


        #endregion




















    }
}
