Example #1
0
        /// <summary>
        /// 指定した社員の勤務種別コードをDBから取得する。
        /// </summary>
        /// <param name="_employeeCD">対象社員コード</param>
        /// <returns>勤務種別コード</returns>
        public Dictionary <string, string> GetKinmuShubetsuByShainCD(string _employeeCD)
        {
            // 引数の社員に設定された勤務種別コードを選択し返却
            Dictionary <string, string> kinmuShubetsuCD = new Dictionary <string, string>();

            // 社員コードをDBより取得
            KNS_M01 userData = dbManager.GetSyainMasterByShainCD(_employeeCD);

            // 比較用種別コード
            string NIKKIN_1  = "1";
            string NIKKIN_2  = "2";
            string SAN_KOTAI = "3";

            // 勤務種別によって返却するリストを変更
            if (userData.KINSHUBETSU == NIKKIN_1)
            {
                kinmuShubetsuCD.Add("01", "01:出勤");
            }
            else if (userData.KINSHUBETSU == NIKKIN_2)
            {
                kinmuShubetsuCD.Add("51", "51:日2");
            }
            else if (userData.KINSHUBETSU == SAN_KOTAI)
            {
                kinmuShubetsuCD.Add("51", "51:日2");
                kinmuShubetsuCD.Add("61", "61:交昼");
                kinmuShubetsuCD.Add("62", "62:交夜");
            }
            else
            {
                kinmuShubetsuCD.Add("01", "01:出勤");
            }

            return(kinmuShubetsuCD);
        }
Example #2
0
        public void GetSyainMasterByAliasTest()
        {
            DBManager manager = new DBManager();
            KNS_M01   res     = manager.GetSyainMasterByAlias("rokamoto");

            Assert.IsTrue(res != null, "Getに失敗" + res + "件");
        }
Example #3
0
        public void GetSyainMasterByShainCDTest()
        {
            DBManager manager = new DBManager();
            KNS_M01   res     = manager.GetSyainMasterByShainCD("9017812");

            Assert.IsTrue(res != null, "Getに失敗" + res + "件");
        }
Example #4
0
 /// <summary>
 /// 部下一覧ドロップダウンリストが変更された際のイベント処理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void EmployeeDropDownList_SelectedIndexChanged(object sender, EventArgs e)
 {
     try
     {
         viewShainInfo = dbManager.GetSyainMasterByShainCD(employeeDropDownList.SelectedValue);
         Session[SESSION_STRING_VIEW_SHAIN_INFO] = viewShainInfo;
         InitPage();
         IsNotPostBack();
     }
     catch (KinmuException ex)
     {
         SetInformationPanel(ref InformationPanel, ref InfoIcon, ref InfoText, ex);
     }
 }
Example #5
0
        public static void SetSessionData(ref KNS_M01 loginShainInfo, ref KNS_M01 viewShainInfo, ref DateTime viewDateTime, HttpResponse Response, HttpRequest Request, HttpSessionState Session)
        {
            logger.Debug(LOG_START);
#if !DEBUG
            // ログイン済みでない場合は処理はせず、MasterPageからログイン情報を取得する
            if (!Request.IsAuthenticated)
            {
                SignIn();
            }
#endif
            loginShainInfo = (KNS_M01)Session[SESSION_STRING_LOGIN_SHAIN_INFO];
            viewShainInfo  = (KNS_M01)Session[SESSION_STRING_VIEW_SHAIN_INFO];
            viewDateTime   = (DateTime?)Session[SESSION_STRING_VIEW_DATETIME] ?? DateTime.Now;

            // セッションから社員コードを取得できない場合
            // ログイン画面に遷移させ、各種ユーザ情報を取得する
            if (loginShainInfo == null)
            {
                logger.Debug("ログイン社員セッション情報が取得できませんでした。");
                Session[SESSION_STRING_REDIRECT_URL] = Request.RawUrl;
                Response.Redirect("Login.aspx");
            }
        }
Example #6
0
 public void SetSessionData(ref KNS_M01 loginShainInfo, ref KNS_M01 viewShainInfo, ref DateTime viewDateTime)
 {
     logger.Debug(LOG_START);
     SetSessionData(ref loginShainInfo, ref viewShainInfo, ref viewDateTime, Response, Request, Session);
 }
Example #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            logger.Debug(LOG_START);

#if !DEBUG
            // ログイン済みでない場合は何もしない
            // (MasterページからMSの認証画面を呼び出す)
            if (!Request.IsAuthenticated)
            {
                KinmuSystem.SignIn();
            }
#endif
            // ユーザマネージャのインスタンスを生成
            UserManager userManager = new UserManager();
#if DEBUG
            string userName = "******";
            if (Request.QueryString["user"] != null)
            {
                userName = Request.QueryString["user"];
            }
#else
            // ユーザ情報の取得
            ClaimsIdentity userClaims = User.Identity as ClaimsIdentity;

            // ADに登録されたユーザ名(メールアドレス)を取得([email protected])
            string userName = userClaims?.FindFirst(System.IdentityModel.Claims.ClaimTypes.Name)?.Value;
#endif

            // aliasをもとに社員CDをDBから取得する
            KNS_M01 shainInfo = userManager.GetShainCDInfoByAlias(userName);

            // AD認証はできるがDBにユーザが登録されていない場合
            if (shainInfo == null)
            {
                resultLabel.Text = "ログインは成功しましたが、DBにユーザ情報が登録されていません。";
                return;
            }

            // 最終ログイン時間の更新
            Session[SESSION_STRING_LAST_LOGIN_TIME] = userManager.GetLastLogin(shainInfo.SHAIN_CD);
            int updateNum = userManager.SetLastLoginAtNow(shainInfo.SHAIN_CD);
            if (updateNum < 1)
            {
                resultLabel.Text = "ログインは成功しましたが、対象ユーザの最終ログイン時間が更新できませんでした。";
                return;
            }

            // ユーザ名(メールアドレス)から社員コードを取得
            Session[SESSION_STRING_LOGIN_SHAIN_INFO] = shainInfo;
            Session[SESSION_STRING_VIEW_SHAIN_INFO]  = shainInfo;
            Session[SESSION_STRING_VIEW_DATETIME]    = DateTime.Now;

            // 最終アクセスURLへ飛ばす
            string url = "List.aspx";
            if (Session[SESSION_STRING_REDIRECT_URL] != null)
            {
                url = (string)Session[SESSION_STRING_REDIRECT_URL];
                Session[SESSION_STRING_REDIRECT_URL] = null;
            }
            logger.Debug("リダイレクト先:" + url);
            Response.Redirect(url);
        }