public CreateCultureResponse CreateCulture(CreateCultureRequest request)
        {
            var response = new CreateCultureResponse();
            if (request.Data != null)
            {
                var culture = CultureInfo.GetCultureInfo(request.Data.Code);
                var region = new RegionInfo(culture.LCID);
                //locate associted info
                var language = Uow.Languages.Get(o => o.Iso3.Equals(culture.ThreeLetterISOLanguageName), null, null).FirstOrDefault();
                var country = Uow.Countries.Get(o => o.Iso3.Equals(region.ThreeLetterISORegionName), null, null).FirstOrDefault();
                // insert culture
                Uow.Cultures.Add(new Culture
                    {
                        Id = request.Data.Id,
                        ParentCultureId = request.Data.ParentCulture.Id,
                        Code = request.Data.Code,
                        Language = language ?? new Language { Id = culture.LCID, Iso2 = culture.TwoLetterISOLanguageName, Iso3 = culture.ThreeLetterISOLanguageName, Localizations = new Collection<LanguageLocalized> { new LanguageLocalized { LanguageId = culture.LCID, CultureId = CultureInfo.InvariantCulture.LCID, Name = culture.NativeName } } },
                        Country = country ?? new Country { Id = region.GeoId, Iso2 = region.TwoLetterISORegionName, Iso3 = region.ThreeLetterISORegionName, Localizations = new Collection<CountryLocalized> { new CountryLocalized { CountryId = region.GeoId, CultureId = CultureInfo.InvariantCulture.LCID, Name = region.NativeName } } },
                        _localizations = new List<CultureLocalized>
                            {
                                new CultureLocalized{ Id = request.Data.Id, CultureId = CultureInfo.InvariantCulture.LCID, Name = request.Data.Name}
                            },
                    });
                Uow.Commit();
            }
            else
            {
                throw new Exception("Cannot create empty element");
            }

            return response;
        }
Beispiel #2
0
        public ActionResult Create(CreateCultureRequest request)
        {
            if (ModelState.IsValid)
            {
                var culture = CultureInfo.GetCultureInfo(request.Data.Code);
                request.Data.Id = culture.LCID;

                _globalizationSettings.CreateCulture(request);
            }

            return RedirectToAction("Index");
        }