public ActionResult Edit(HeroViewModel vmodel) { if (ModelState.IsValid) { bool isUniversal = TranslationBL.CheckIfUniversal(vmodel.HeroesTrans); db.Entry(vmodel.Hero).State = EntityState.Modified; foreach (var item in vmodel.HeroesTrans) { if (item.nameHero != null) { if (isUniversal) { item.languageId = LanguageBL.FindIdLanguageByShortForm("all"); db.Entry(item).State = EntityState.Modified; } else { db.Entry(item).State = EntityState.Modified; } } } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(vmodel)); }
//public ActionResult Default(int? id, string lang) //{ // if (id == null) // { // return new HttpStatusCodeResult(HttpStatusCode.BadRequest); // } // string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); // string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); // //action comming from de Nav Bar --> id = 0 // if (id == 0) // { // id = LanguageBL.FindIdLanguageByShortForm(lang); // } // //to do --> modify nameSet // string nameSet = "Language"; // string val = LanguageBL.FindShortFormById(id); // var result = db.SETTINGs.SingleOrDefault(s => s.nameSetting == nameSet); // if (result != null) // { // result.valueSetting = val; // db.SaveChanges(); // } // if (actionName == "Default") // { // return RedirectToAction("Index", controllerName); // } // else // { // return RedirectToAction(actionName, controllerName); // } //} public ActionResult Default(int?id, string lang, string controllerName, string actionName) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (controllerName == null) { controllerName = this.ControllerContext.RouteData.Values["controller"].ToString(); } if (actionName == null) { actionName = this.ControllerContext.RouteData.Values["action"].ToString(); } //action comming from de Nav Bar --> id = 0 if (id == 0) { id = LanguageBL.FindIdLanguageByShortForm(lang); } //to do --> modify nameSet string nameSet = "Language"; string val = LanguageBL.FindShortFormById(id); var result = db.SETTINGs.SingleOrDefault(s => s.nameSetting == nameSet); if (result != null) { result.valueSetting = val; db.SaveChanges(); Session["Language"] = val; } if (actionName == "Default") { return(RedirectToAction("Index", controllerName)); } else { return(RedirectToAction(actionName, controllerName)); } }
public ActionResult Create(HeroViewModel vmodel) { if (ModelState.IsValid) { //Check if nameHero have min 1 value IList <HERO_TRANSLATION> heroesT = vmodel.HeroesTrans; bool nameHeroIsValid = TranslationBL.CheckIfMinOneValued(heroesT); if (nameHeroIsValid) { //Check if Hero exist by nameHero before create bool nameExist = TranslationBL.CheckIfNameExist(heroesT); if (!nameExist) { HERO hero = new HERO { imageHero = vmodel.ImageHero }; db.HEROs.Add(hero); db.SaveChanges(); int id = hero.idHero; int count = heroesT.Count(); //Check if nameHero isUniversal bool isUniversal = TranslationBL.CheckIfUniversal(heroesT); if (isUniversal) { for (int i = 0; i < heroesT.Count(); i++) { if (heroesT[i].nameHero != null) { heroesT[i].heroId = id; //change language with universal heroesT[i].languageId = LanguageBL.FindIdLanguageByShortForm("all"); } else { heroesT.Remove(heroesT[i]); i--; } } } else { foreach (var item in heroesT) { item.heroId = id; } } db.HERO_TRANSLATIONs.AddRange(heroesT); db.SaveChanges(); return(RedirectToAction("Index")); } else { //to do --> match the error with the name that causes the error ViewBag.nameIsNotValid = "Le nom existe déjà, veuillez saisir un autre nom!"; } } else { ViewBag.nameIsNotValid = "Veuillez saisir un nom!"; } } vmodel.ListLang = LanguageBL.FindLanguageListWithoutUniversal(); return(View(vmodel)); }