/// <summary> /// ドロップダウンリストの選択肢を設定 /// </summary> /// <param name="traineeEdt">教習生編集情報</param> private void SetSelectItem(V_TraineeCommutingEdt traineeEdt) { // 編集モードの場合 if (AppConstant.EditMode.Edit.Equals(traineeEdt.EditMode)) { // 性別の選択肢設定 traineeEdt.Trainee.SelectGender = new SelectList(new List <SelectListItem> { new SelectListItem() { Text = AppConstant.GENDER_MALE, Value = AppConstant.GENDER_MALE }, new SelectListItem() { Text = AppConstant.GENDER_FEMALE, Value = AppConstant.GENDER_FEMALE } }, "Value", "Text", traineeEdt.Trainee.Gender); // 教習コースの選択肢設定 traineeEdt.Trainee.SelectTrainingCourse = new SelectList(db.TrainingCourse.OrderBy(x => x.TrainingCourseCd).ToList(), "TrainingCourseCd", "TrainingCourseName", traineeEdt.Trainee.TrainingCourseCd); } // 確認モードの場合 else { // 教習コースを設定 traineeEdt.Trainee.TrainingCourse = db.TrainingCourse.Find(traineeEdt.Trainee.TrainingCourseCd); } }
/// <summary> /// 登録表示 /// </summary> /// <returns></returns> public ActionResult Regist() { Trace.WriteLine("GET /TraineeCommuting/Regist"); V_TraineeCommutingEdt traineeEdt = new V_TraineeCommutingEdt(); // 教習生のインスタンスを生成 traineeEdt.Trainee = new T_TraineeCommuting() { ReserveDate = DateTime.Today }; // 編集モードを設定 traineeEdt.EditMode = AppConstant.EditMode.Edit; // ドロップダウンリストの選択肢を設定 this.SetSelectItem(traineeEdt); return(View(traineeEdt)); }
/// <summary> /// 更新表示 /// </summary> /// <param name="id">教習生ID</param> /// <returns></returns> public ActionResult Edit(int id) { Trace.WriteLine("GET /TraineeCommuting/Edit/" + id); V_TraineeCommutingEdt traineeEdt = new V_TraineeCommutingEdt(); // DBから教習生情報を取得 traineeEdt.Trainee = db.TraineeCommuting.Find(id); if (traineeEdt.Trainee == null) { return(HttpNotFound()); } // 編集モードを設定 traineeEdt.EditMode = AppConstant.EditMode.Edit; // ドロップダウンリストの選択肢を設定 this.SetSelectItem(traineeEdt); return(View(traineeEdt)); }
public ActionResult Edit(string cmd, [Bind(Include = "Trainee")] V_TraineeCommutingEdt traineeEdt) { Trace.WriteLine("POST /TraineeCommuting/Edit/" + traineeEdt.Trainee.TraineeId); // 確認ボタンが押下された場合 if (AppConstant.CMD_CONFIRM.Equals(cmd)) { // 入力チェック bool validation = true; if (ModelState.IsValid) { // 入校予定日、仮免予定日の比較 if (traineeEdt.Trainee.EntrancePlanDate >= traineeEdt.Trainee.TmpLicencePlanDate) { ViewBag.ErrorMessage = "仮免予定日は入校予定日より後に設定してください。"; validation = false; } // 仮免予定日、卒業予定日の比較 if (validation == true && traineeEdt.Trainee.TmpLicencePlanDate >= traineeEdt.Trainee.GraduatePlanDate) { ViewBag.ErrorMessage = "卒業予定日は仮免予定日より後に設定してください。"; validation = false; } } else { // エラーメッセージを生成 ViewBag.ErrorMessage = new Utility().GetErrorMessage(ModelState); validation = false; } if (validation == true) { // 確認モードに設定 traineeEdt.EditMode = AppConstant.EditMode.Confirm; // 入校予定日-10日(TODO:いったん-10日としている) DateTime dateFrom = ((DateTime)traineeEdt.Trainee.EntrancePlanDate).AddDays(-10); // 卒業予定日+10日(TODO:いったん+10日としている) DateTime dateTo = ((DateTime)traineeEdt.Trainee.GraduatePlanDate).AddDays(10); // 表データを作成 traineeEdt.ChartData = new Utility().GetChartData(db, dateFrom, dateTo, null, traineeEdt.Trainee); } else { // 編集モードに変更 traineeEdt.EditMode = AppConstant.EditMode.Edit; } } // 戻るボタンが押下された場合 else if (AppConstant.CMD_RETURN.Equals(cmd)) { // 編集モードに変更 traineeEdt.EditMode = AppConstant.EditMode.Edit; } // 更新ボタンが押下された場合 else if (AppConstant.CMD_UPDATE.Equals(cmd)) { // マスタは更新しないため、データをクリア(TODO:他に良い方法があるか…?) traineeEdt.Trainee.TrainingCourse = null; // 更新処理 db.Entry(traineeEdt.Trainee).State = EntityState.Modified; db.SaveChanges(); // 一覧へリダイレクト return(RedirectToAction("List")); } // その他 else { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } // ドロップダウンリストの選択肢を設定 this.SetSelectItem(traineeEdt); return(View(traineeEdt)); }