// GET: Config_OptionVal/Create public ActionResult Create(int id) { var model = new Config_OptionVal { ConfigurationCollectionID=id, ConfigurationCollection=db.ConfigurationCollection.FirstOrDefault(x=>x.ConfigurationCollectionID==id) }; //var lsysid = db.ConfigurationCollection.FirstOrDefault(x => x.ConfigurationCollectionID == id).LsystemID; ////ViewBag.ConfigurationCollectionID = new SelectList(db.ConfigurationCollection, "ConfigurationCollectionID", "CollectionName"); ////ViewBag.OptionValueID = new SelectList(db.OptionValue, "OptionValueID", "OptionVal"); //ViewBag.Lsystem = db.Lsystem.Include(x => x.Options).FirstOrDefault(x => x.LsystemID == lsysid); return View(model); }
public ActionResult Edit([Bind(Include = "ConfigCol,selected")] EditConfigVM editVM,int[] OptionValues) { try { var con12 = db.ConfigurationCollection.FirstOrDefault(x => x.ConfigurationCollectionID == editVM.ConfigCol.ConfigurationCollectionID); ViewBag.LsystemID = con12.LsystemID; if (ModelState.IsValid) { ConfigurationCollection concol = db.ConfigurationCollection.FirstOrDefault(x => x.ConfigurationCollectionID == editVM.ConfigCol.ConfigurationCollectionID); if (db.ConfigurationCollection.Any(x => x.CollectionName.Equals(editVM.ConfigCol.CollectionName) && x.ConfigurationCollectionID != editVM.ConfigCol.ConfigurationCollectionID)) { ModelState.AddModelError("CollectionName", "Colelction Name already exists"); ConfigurationCollection configurationCollection = db.ConfigurationCollection.Find(editVM.ConfigCol.ConfigurationCollectionID); var model = new EditConfigVM { ConfigCol = configurationCollection, selected = new List<OptionValue>(), Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList() }; var sel = db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == editVM.ConfigCol.ConfigurationCollectionID).ToList(); var Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); model.ConfigCol.OptionValues = new List<OptionValue>(); foreach (var item in sel) model.selected.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == item.OptionValueID)); ViewBag.LsystemID = new SelectList(db.Lsystem.OrderBy(x=>x.LsystemName), "LsystemID", "LsystemName", editVM.ConfigCol.LsystemID); return View(editVM); } if (OptionValues == null) { ModelState.AddModelError("", "Configuration Cannot be empty. Select Values for Options"); ConfigurationCollection configurationCollection = db.ConfigurationCollection.Find(editVM.ConfigCol.ConfigurationCollectionID); var model = new EditConfigVM { ConfigCol = configurationCollection, selected = new List<OptionValue>(), Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList() }; var sel = db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == editVM.ConfigCol.ConfigurationCollectionID).ToList(); var Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); model.ConfigCol.OptionValues = new List<OptionValue>(); foreach (var item in sel) model.selected.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == item.OptionValueID)); model.ConfigCol.Lsystem = Lsystem; return View(model); } var opl = db.Lsystem.FirstOrDefault(x => x.LsystemID == con12.LsystemID).Options.ToList(); var opcheck = new List<Option>(); foreach (var ov in OptionValues) opcheck.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == ov).Option); bool unavailable = false; foreach (var item in opl) if (!opcheck.Contains(item)) unavailable = true; if (unavailable) { ModelState.AddModelError("", "Option values for all Options in the system has not been selected"); ConfigurationCollection configurationCollection = db.ConfigurationCollection.Find(editVM.ConfigCol.ConfigurationCollectionID); var model = new EditConfigVM { ConfigCol = configurationCollection, selected = new List<OptionValue>(), Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList() }; var sel = db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == editVM.ConfigCol.ConfigurationCollectionID).ToList(); var Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); model.ConfigCol.OptionValues = new List<OptionValue>(); foreach (var item in sel) model.selected.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == item.OptionValueID)); model.ConfigCol.Lsystem = Lsystem; return View(model); } concol.ModifiedOn = DateTime.Now; concol.ModifiedBy = User.Identity.Name; concol.CollectionName = editVM.ConfigCol.CollectionName; concol.DescriptionDE = editVM.ConfigCol.DescriptionDE; concol.DescriptionEN = editVM.ConfigCol.DescriptionEN; db.Entry(concol).State = EntityState.Modified; db.Entry(concol).Property(x => x.CreatedOn).IsModified = false; db.Entry(concol).Property(x => x.CreatedBy).IsModified = false; db.SaveChanges(); var dellist = db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == editVM.ConfigCol.ConfigurationCollectionID).ToList(); foreach (var sel in dellist) db.Config_OptionVal.Remove(sel); foreach (var item in OptionValues) { var config_ov = new Config_OptionVal(); var con = concol; var ov = db.OptionValue.Find(item); config_ov.ConfigurationCollection = con; config_ov.OptionValue = ov; config_ov.ConfigurationCollectionID = con.ConfigurationCollectionID; config_ov.OptionValueID = ov.OptionValueID; config_ov.OptionID = ov.OptionID; db.Config_OptionVal.Add(config_ov); db.SaveChanges(); } return RedirectToAction("DisplayAll", "ConfigurationCollections", new { id= con12.LsystemID}); } editVM.selected = new List<OptionValue>(); editVM.Options = db.Option.Where(x=>x.LsystemID==editVM.ConfigCol.LsystemID||x.LsystemID==1038).ToList(); return View(editVM); } catch(Exception e) { ViewBag.Error = e.Message; return View("Error"); } }
public ActionResult Create([Bind(Include = "ConfigurationCollectionID,CollectionName,DescriptionEN,DescriptionDE,LsystemID")] ConfigurationCollection configurationCollection, int[] OptionValues) { try { if (ModelState.IsValid) { if (db.ConfigurationCollection.Any(x => x.CollectionName.Equals(configurationCollection.CollectionName))) { ModelState.AddModelError("CollectionName", "Collection Name already exists"); //ViewBag.LsystemID = new SelectList(db.Lsystem, "LsystemID", "LsystemName", configurationCollection.LsystemID); configurationCollection.Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); configurationCollection.OptionValues = new List<OptionValue>(); configurationCollection.Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList(); return View(configurationCollection); } if(OptionValues==null) { ModelState.AddModelError("CollectionName", "Configuration Cannot be empty. Select Values for Options"); configurationCollection.Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); configurationCollection.OptionValues = new List<OptionValue>(); configurationCollection.Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList(); return View(configurationCollection); } var opl = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID).Options.ToList(); var opcheck = new List<Option>(); foreach(var ov in OptionValues) opcheck.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == ov).Option); bool unavailable = false; foreach (var item in opl) if (!opcheck.Contains(item)) unavailable = true; if(unavailable) { ModelState.AddModelError("", "Option values for all Options in the system has not been selected"); configurationCollection.Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); configurationCollection.OptionValues = new List<OptionValue>(); configurationCollection.Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList(); return View(configurationCollection); } configurationCollection.CreatedBy = User.Identity.Name; configurationCollection.CreatedOn = DateTime.Now; configurationCollection.ModifiedBy = User.Identity.Name; configurationCollection.ModifiedOn = DateTime.Now; db.ConfigurationCollection.Add(configurationCollection); db.SaveChanges(); foreach(var item in OptionValues) { var config_ov = new Config_OptionVal(); var con = configurationCollection; var ov = db.OptionValue.Find(item); config_ov.ConfigurationCollection = con; config_ov.OptionValue = ov; config_ov.ConfigurationCollectionID = con.ConfigurationCollectionID; config_ov.OptionValueID = ov.OptionValueID; config_ov.OptionID = ov.OptionID; db.Config_OptionVal.Add(config_ov); db.SaveChanges(); } return RedirectToAction("DisplayAll", "ConfigurationCollections", new { id= configurationCollection.LsystemID}); } configurationCollection.Lsystem = db.Lsystem.FirstOrDefault(x => x.LsystemID == configurationCollection.LsystemID); configurationCollection.Options = db.Option.Where(x => x.LsystemID == configurationCollection.LsystemID || x.LsystemID == 1038).ToList(); configurationCollection.OptionValues = new List<OptionValue>(); return View(configurationCollection); } catch(Exception e) { ViewBag.Error = e.Message; return View("Error"); } }