/// <summary> /// クイズ登録 /// </summary> /// <param name="postedModel"></param> private void RegisterQuiz(MakeQuizModel postedModel) { using (var db = new SakanaDBEntities1()) { //新規登録 if (postedModel.QuizId == null) { //クイズテーブルへのインサート var inserted = db.QUIZ.Add(new QUIZ() { QUIZ_NAME = postedModel.QuizName, QUIZ_DETAIL = postedModel.QuizDetail, USER_ID = (int)Session["UserId"], CHALLENGE_NUM = 0, CLEAR_NUM = 0, CATEGORY_ID = postedModel.CategoryId, ANSWER = postedModel.Answer, ANSWER_HIRAGANA = postedModel.AnswerHiragana, ANSWER_DETAIL = postedModel.AnswerDetail, CREATED_DT = DateTime.Now, EDITED_DT = DateTime.Now, DELETE_FLG = 0 }); //クイズ画像テーブルへのインサート int i = 1; foreach (var hint in postedModel.HintList) { db.QUIZ_PICT.Add(new QUIZ_PICT() { QUIZ_ID = inserted.QUIZ_ID, HINT_SEQ = i, PICT_ID = hint.PictId, HINT_TXT = hint.HintTxt }); i++; } } //編集 else { //クイズテーブル更新 var targetQUIZ = db.QUIZ.Single(q => q.QUIZ_ID==postedModel.QuizId); targetQUIZ.QUIZ_NAME = postedModel.QuizName; targetQUIZ.QUIZ_DETAIL = postedModel.QuizName; targetQUIZ.CATEGORY_ID = postedModel.CategoryId; targetQUIZ.ANSWER = postedModel.Answer; targetQUIZ.ANSWER_HIRAGANA = postedModel.AnswerHiragana; targetQUIZ.ANSWER_DETAIL = postedModel.AnswerDetail; targetQUIZ.EDITED_DT = DateTime.Now; //クイズ画像テーブル更新 int i = 1; foreach (var hint in postedModel.HintList) { var targetQUIZPIC = db.QUIZ_PICT.Single (q => q.QUIZ_ID == postedModel.QuizId && q.HINT_SEQ==i); targetQUIZPIC.PICT_ID= hint.PictId; targetQUIZPIC.HINT_TXT = hint.HintTxt; i++; } } db.SaveChanges(); } }
public ActionResult UploadPictPost(HttpPostedFileBase fl, string picTitle) { //仮想パス(DB保存用) string upfileKasoPath; string pictTitle = picTitle; const string uploadFolder = "../N/"; UploadPictModel mdl = new UploadPictModel(); mdl.Picts = SearchPictData(); // コンテンツ・タイプが「image/*」であるか(画像ファイルか) // をチェック if (fl.ContentType.StartsWith("image/")) { // アップロード先のパスを生成 upfileKasoPath = uploadFolder + FileNameWithTimestamp(fl.FileName); string upfileZettaiPath = Server.MapPath(uploadFolder) + FileNameWithTimestamp(fl.FileName); // 同名のファイルが存在する場合はエラー if (System.IO.File.Exists(upfileZettaiPath)) { ViewBag.Msg = "同名のファイルが存在します。"; return View("UploadPict", mdl); } else { // 画像ファイルで同名のファイルが存在しない場合は保存処理 fl.SaveAs(upfileZettaiPath); ViewBag.Msg = String.Format( "{0}をアップロードしました。", fl.FileName); } } else { // 画像ファイルでない場合はエラー ViewBag.Msg = "画像以外はアップロードできません。"; return View("UploadPict", mdl); } Session["UserId"] = 1; int userId = (int)Session["UserId"]; //DB登録処理 using (var db = new SakanaDBEntities1()) { db.PICT.Add(new PICT { CREATE_DT=DateTime.Now, EDIT_DT = DateTime.Now, DELETE_FLG=0, PICT_PATH=upfileKasoPath, USER_ID = userId, PICT_TITLE=pictTitle }); // SaveChangesが呼び出された段階で初めてInsert文が発行される db.SaveChanges(); } ViewBag.Msg = "画像アップロードしました。"; // 入力元のフォームに結果を表示 return View("UploadPict", mdl); }