public ActionResult <Remove> Delete(Remove param)
        {
            if (param == null)
            {
                param._message = _localizer["No parameters."];
                return(BadRequest(param));
            }



            try
            {
                var model = new Kintai();

                model = (from a in _context.Kintais
                         where a.KintaiId.Equals(param.KintaiId)
                         select a).FirstOrDefault();

                if (model == null)
                {
                    param._message = _localizer["It has already been deleted."];
                    return(BadRequest(param));
                }
                //削除
                _context.Kintais.Remove(model);
                _context.SaveChanges();

                return(Ok(param));
            }
            catch (Exception ex)
            {
                param._message = _localizer["System error Please inform system personnel.({0})", ex.Message];
                return(BadRequest(param));
            }
        }
Exemple #2
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));
        }
        public ActionResult <Edit> Store([FromBody] Edit param)
        {
            if (param == null)
            {
                param          = new Edit();
                param._message = _localizer["No parameters."];
                return(BadRequest(param));
            }
            if (!TryValidateModel(param))
            {
                param._message = _localizer["The input is incorrect."];

                return(BadRequest(param));
            }

            //新規の場合
            if (param.KintaiId == null)
            {
                try
                {
                    var storeModel = new Kintai();
                    ReflectionUtility.Model2Model(param, storeModel);

                    //時間の書式統一
                    storeModel.Sykjk    = Hhmmformater(storeModel.Sykjk);
                    storeModel.Tkjk     = Hhmmformater(storeModel.Tkjk);
                    storeModel.SykjkDkk = Hhmmformater(storeModel.SykjkDkk);
                    storeModel.TkjkDkk  = Hhmmformater(storeModel.TkjkDkk);

                    storeModel.KykJkn   = Hhmmformater(storeModel.KykJkn);
                    storeModel.Zgyjkn   = Hhmmformater(storeModel.Zgyjkn);
                    storeModel.Zgyjkn36 = Hhmmformater(storeModel.Zgyjkn36);

                    storeModel.KintaiId = (Guid.NewGuid()).ToString();
                    storeModel.Owner    = HttpContext.User.Identity.Name;
                    storeModel.Registed = DateTime.Now;
                    storeModel.Updated  = DateTime.Now;
                    storeModel.Version  = 1;

                    //登録
                    _context.Kintais.Add(storeModel);
                    _context.SaveChanges();
                    ReflectionUtility.Model2Model(storeModel, param);
                    return(Ok(param));
                }
                catch (Exception ex)
                {
                    param._message = _localizer["System error Please inform system personnel.({0})", ex.Message];
                    return(BadRequest(param));
                }
            }
            else
            {
                //更新の場合


                try
                {
                    //更新前データを取得する
                    var storeModel = (from a in _context.Kintais
                                      where a.KintaiId.Equals(param.KintaiId)
                                      select a).FirstOrDefault();

                    if (storeModel == null)
                    {
                        param._message = _localizer["It has already been deleted."];
                        return(BadRequest(param));
                    }
                    if (storeModel.Version != param.Version)
                    {
                        param._message = _localizer["Other people have been updated."];
                        return(BadRequest(param));
                    }


                    ReflectionUtility.Model2Model(param, storeModel);

                    //時間の書式統一
                    storeModel.Sykjk    = Hhmmformater(storeModel.Sykjk);
                    storeModel.Tkjk     = Hhmmformater(storeModel.Tkjk);
                    storeModel.SykjkDkk = Hhmmformater(storeModel.SykjkDkk);
                    storeModel.TkjkDkk  = Hhmmformater(storeModel.TkjkDkk);

                    storeModel.KykJkn   = Hhmmformater(storeModel.KykJkn);
                    storeModel.Zgyjkn   = Hhmmformater(storeModel.Zgyjkn);
                    storeModel.Zgyjkn36 = Hhmmformater(storeModel.Zgyjkn36);


                    storeModel.Updated  = DateTime.Now;
                    storeModel.Version += 1;


                    //更新
                    _context.Kintais.Update(storeModel);
                    _context.SaveChanges();
                    ReflectionUtility.Model2Model(storeModel, param);

                    return(Ok(param));
                }
                catch (Exception ex)
                {
                    param._message = _localizer["System error Please inform system personnel.({0})", ex.Message];
                    return(BadRequest(param));
                }
            }
        }