Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
 }