/// <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); }
public void GetSyainMasterByAliasTest() { DBManager manager = new DBManager(); KNS_M01 res = manager.GetSyainMasterByAlias("rokamoto"); Assert.IsTrue(res != null, "Getに失敗" + res + "件"); }
public void GetSyainMasterByShainCDTest() { DBManager manager = new DBManager(); KNS_M01 res = manager.GetSyainMasterByShainCD("9017812"); Assert.IsTrue(res != null, "Getに失敗" + res + "件"); }
/// <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); } }
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"); } }
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); }
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); }