//DispalyAll Configurations for a system public ActionResult DisplayAll(int id) { var sys = db.Lsystem.FirstOrDefault(x => x.LsystemID == id); var config = db.ConfigurationCollection.Where(x => x.LsystemID == id).ToList(); ViewBag.LsystemID = id; ViewBag.LsystemFamilyID = sys.LsystemFamilyID; var model = new List<ConfigAllList>(); foreach(var con in config) { var modelitem = new ConfigAllList { ConfigurationName = con.CollectionName, OpOvList = new List<OptionOptionValList>(), ConfigID=con.ConfigurationCollectionID }; foreach(var op in sys.Options.OrderBy(x=>x.OptionName)) { var opov = new OptionOptionValList { OptionName = op.OptionName, Optionvalue = new List<string>() }; foreach (var ov in db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == con.ConfigurationCollectionID && x.OptionID == op.OptionID)) opov.Optionvalue.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == ov.OptionValueID).OptionVal); if (opov.Optionvalue.Count == 0) opov.Optionvalue.Add("No Value"); modelitem.OpOvList.Add(opov); } foreach(var op in db.Option.Where(x=>x.LsystemID==1038).OrderBy(x=>x.OptionName)) { var opov = new OptionOptionValList { OptionName = op.OptionName, Optionvalue = new List<string>() }; foreach (var ov in db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == con.ConfigurationCollectionID && x.OptionID == op.OptionID)) opov.Optionvalue.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == ov.OptionValueID).OptionVal); if (opov.Optionvalue.Count == 0) opov.Optionvalue.Add("No Value"); modelitem.OpOvList.Add(opov); } model.Add(modelitem); } ViewBag.Option = db.Lsystem.FirstOrDefault(x => x.LsystemID == id).Options.OrderBy(x=>x.OptionName).ToList(); ViewBag.Independent = db.Lsystem.FirstOrDefault(x => x.LsystemID == 1038).Options.OrderBy(x=>x.OptionName).ToList(); return View(model); }
//View complete details of a particular Configuration public ActionResult ListConfigurations(int id) { try { var config = db.ConfigurationCollection.FirstOrDefault(x=>x.ConfigurationCollectionID==id); ViewBag.LsystemName = db.Lsystem.FirstOrDefault(x => x.LsystemID == config.LsystemID).LsystemName; ViewBag.FamilyName = db.Lsystem.FirstOrDefault(x => x.LsystemID == config.LsystemID).LsystemFamily.FamilyName; var model = new ConfigAllList { ConfigID = id, ConfigurationName = config.CollectionName, OpOvList = new List<OptionOptionValList>() }; foreach(var op in db.Lsystem.FirstOrDefault(x=>x.LsystemID==config.LsystemID).Options.OrderBy(x=>x.OptionName)) { var opov = new OptionOptionValList { OptionName = op.OptionName, Optionvalue = new List<string>() }; foreach(var ov in db.Config_OptionVal.Where(x=>x.ConfigurationCollectionID==id&&x.OptionID==op.OptionID)) opov.Optionvalue.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == ov.OptionValueID).OptionVal); if (opov.Optionvalue.Count == 0) opov.Optionvalue.Add("No Value"); model.OpOvList.Add(opov); } foreach (var op in db.Option.Where(x => x.LsystemID == 1038).OrderBy(x => x.OptionName)) { var opov = new OptionOptionValList { OptionName = op.OptionName, Optionvalue = new List<string>() }; foreach (var ov in db.Config_OptionVal.Where(x => x.ConfigurationCollectionID == config.ConfigurationCollectionID && x.OptionID == op.OptionID)) opov.Optionvalue.Add(db.OptionValue.FirstOrDefault(x => x.OptionValueID == ov.OptionValueID).OptionVal); if (opov.Optionvalue.Count == 0) opov.Optionvalue.Add("No Value"); model.OpOvList.Add(opov); } ViewBag.Option = db.Lsystem.FirstOrDefault(x => x.LsystemID == config.LsystemID).Options.OrderBy(x => x.OptionName).ToList(); ViewBag.Independent = db.Lsystem.FirstOrDefault(x => x.LsystemID == 1038).Options.OrderBy(x => x.OptionName).ToList(); return View(model); } catch (Exception e) { ViewBag.Error = e.Message; return View("Error"); } }