public virtual ActionResult Save(ProfileTypeViewModel model) { if (ModelState.IsValid) { var profileType = profileTypeService.Find(model.Id); if (profileType == null) { throw new HttpException((int)HttpStatusCode.NotFound, HttpContext.Translate("Messages.NotFound", ResourceHelper.GetControllerScope(this))); } if (profileTypeService.Save(model.MapTo(profileType))) { //save locale var localeService = ServiceLocator.Current.GetInstance <IProfileTypeLocaleService>(); ProfileTypeLocale locale = localeService.GetLocale(profileType.Id, model.SelectedCulture); locale = model.MapLocaleTo(locale ?? new ProfileTypeLocale { ProfileType = profileType }); localeService.Save(locale); Success(HttpContext.Translate("Messages.Success", String.Empty)); return(RedirectToAction(ProfilesMVC.ProfileType.Edit(model.Id))); } } else { Error(HttpContext.Translate("Messages.ValidationError", String.Empty)); } return(View("Edit", model)); }
public virtual ActionResult ChangeLanguage(long profileTypeId, String culture) { var profileType = profileTypeService.Find(profileTypeId); if (profileType == null) { throw new HttpException((int)HttpStatusCode.NotFound, HttpContext.Translate("Messages.NotFound", ResourceHelper.GetControllerScope(this))); } ProfileTypeViewModel model = new ProfileTypeViewModel().MapFrom(profileType); model.SelectedCulture = culture; //get locale var localeService = ServiceLocator.Current.GetInstance <IProfileTypeLocaleService>(); ProfileTypeLocale locale = localeService.GetLocale(profileTypeId, culture); if (locale != null) { model.MapLocaleFrom(locale); } return(PartialView("ProfileTypeDetails", model)); }
public ProfileTypeViewModel MapLocaleFrom(ProfileTypeLocale locale) { Title = locale.Title; SelectedCulture = locale.Culture; return(this); }
public ProfileTypeLocale MapLocaleTo(ProfileTypeLocale locale) { locale.Title = Title; if (SelectedCulture != null) { locale.Culture = SelectedCulture; } return(locale); }