public IActionResult Index() { // ユーザー情報を取得 var user = _context.ApplicationUsers.Where(t => t.UserName == User.Identity.Name) .FirstOrDefault(); KintaiViewModel model = new KintaiViewModel(); // 打刻データを表示 _services.RecData(model, _context, user); return(View(model)); }
/// <summary> /// ユーザーの打刻情報 /// </summary> /// <param name="model">勤怠管理画面ViewModel</param> /// <param name="_context">DBコンテキスト</param> /// <param name="loginUser">ログインユーザー情報</param> public void RecData(KintaiViewModel model, ApplicationDbContext _context, ApplicationUser loginUser) { string dakokuData = GetRecDb(_context, loginUser); if (dakokuData == "") { model.TimeIn = ""; } else { model.TimeIn = dakokuData; } }
public IActionResult Rec(KintaiViewModel viewModel) { if (ModelState.IsValid) { //トランザクション開始 using (var transaction = _context.Database.BeginTransaction()) { try { // 現在時刻 DateTime nowTime = DateTime.Now; // ユーザー情報を取得 var user = _context.ApplicationUsers.Where(t => t.UserName == User.Identity.Name) .FirstOrDefault(); Kintai model = new Kintai(); // 現在時刻をセット model.RecordingDate = nowTime; // ユーザーをセット model.ApplicationUser = user; // viewModelに値を渡す viewModel.TimeIn = model.RecordingDate.ToString("HH:mm"); // DBに追加 _context.Add(model); // データベースに変更が反映 _context.SaveChanges(); // データベースの更新内容が有効 transaction.Commit(); // 勤怠管理画面に戻る //return RedirectToAction(nameof(Index)); return(View("Index", viewModel)); } catch (Exception ex) { transaction.Rollback(); ModelState.AddModelError(string.Empty, "エラーが発生しました。"); } } } return(View("Index", viewModel)); }