public ActionResult ModuleCreate(ChangeModuleInfoModel model) { if (ModelState.IsValid) { User user = RDB.db.Users.Where(p => p.idName.Equals(User.Identity.Name)).Single(); Module module = new Module(); // 入力されたモジュール名が既に使用されているかどうかを調べる bool Name = false; foreach (var x in user.Modules) { if (x.Name.Equals(model.ModuleName)) { Name = true; } } if (Name) { ModelState.AddModelError("", "そのモジュール名は既に使用しています。"); return View(model); } else { module.Name = model.ModuleName; } if (model.rPWCheck) { model.rPassword = null; } else { module.rPassWord = model.rPassword; } if (model.wPWCheck) { model.wPassword = null; } else { module.wPassWord = model.wPassword; } module.Location = model.Location; module.Detail = model.Detail; module.NumData = 0; module.Type = "0"; module.Users.Add(user); RDB.db.Modules.Add(module); RDB.db.SaveChanges(); return RedirectToAction("Index", "Home"); } // ここで問題が発生した場合はフォームを再表示します return View(model); }
// データの種類の変更 public ActionResult ChangeTypeData(Module model) { ChangeTypeData CTDmodel = new ChangeTypeData(); CTDmodel.ModuleName = model.Name; CTDmodel.UnitList = new List<string>(); CTDmodel.TypeDataList = new List<string>(); CTDmodel.TypeDataAllList = new List<string>(); //今設定されているデータ種類(名前とデータ型)の取得 foreach (var unit in RDB.db.Modules.Where(p => p.id == model.id).Single().Units) { CTDmodel.UnitList.Add(unit.Unit1); CTDmodel.TypeDataList.Add(RDB.db.TypeDatas.Where(p => p.id == unit.TypeDataId).Single().DataType); } //設定可能なデータ型を全て取得 foreach (var typedata in RDB.db.TypeDatas) { CTDmodel.TypeDataAllList.Add(typedata.DataType); } return View(CTDmodel); }
// モジュール情報の変更 public ActionResult ChangeModuleInfo(Module model) { ChangeModuleInfoModel CMmodel = new ChangeModuleInfoModel(); CMmodel.BeforeName = model.Name; CMmodel.ModuleName = model.Name; CMmodel.rPassword = model.rPassWord; CMmodel.rPWCheck = true; CMmodel.wPassword = model.wPassWord; CMmodel.wPWCheck = true; CMmodel.Location = model.Location; CMmodel.Detail = model.Detail; return View(CMmodel); }