Beispiel #1
0
        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));
        }
Beispiel #2
0
        /// <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;
            }
        }
Beispiel #3
0
        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));
        }