Exemplo n.º 1
0
        private static bool IsLocalizationEmpty(PublisherLocalizationViewModel publisherLocalizationViewModel)
        {
            bool result = publisherLocalizationViewModel == null ||
                          String.IsNullOrEmpty(publisherLocalizationViewModel.CompanyName);

            return(result);
        }
Exemplo n.º 2
0
        public HttpResponseMessage Put(PublisherAddUpdateViewModel publisherAddUpdateViewModel)
        {
            PublisherLocalizationViewModel englishLocalization = GetLocalization(publisherAddUpdateViewModel, "en");

            if (IsLocalizationEmpty(englishLocalization))
            {
                ModelState.AddModelError("localizationError", "English localization should exist. ");
            }

            else
            {
                CheckAndFixLocalizations(publisherAddUpdateViewModel);
            }

            if (ModelState.IsValid)
            {
                CleanEmptyLocalizations(publisherAddUpdateViewModel);

                var publisherModel = Mapper.Map <PublisherModel>(publisherAddUpdateViewModel);

                if (_publisherService.PublisherExists(englishLocalization.CompanyName))
                {
                    _publisherService.Add(publisherModel);
                }

                _publisherService.Update(publisherModel);

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }

            return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
        }
Exemplo n.º 3
0
        private static PublisherLocalizationViewModel GetLocalization(PublisherAddUpdateViewModel publisherAddUpdateViewModel, string languageCode)
        {
            if (publisherAddUpdateViewModel == null || publisherAddUpdateViewModel.PublisherLocalizations == null)
            {
                return(null);
            }

            PublisherLocalizationViewModel result = publisherAddUpdateViewModel.PublisherLocalizations
                                                    .FirstOrDefault(loc => String.Equals(loc.Language.Code, languageCode, StringComparison.CurrentCultureIgnoreCase));

            return(result);
        }
Exemplo n.º 4
0
        private void AdjustLocalizations(PublisherAddUpdateViewModel publisherAddUpdateViewModel)
        {
            IEnumerable <LanguageModel> languages = _languageService.GetAll();

            publisherAddUpdateViewModel.PublisherLocalizations = publisherAddUpdateViewModel.PublisherLocalizations
                                                                 ?? new List <PublisherLocalizationViewModel>();

            foreach (LanguageModel languageModel in languages)
            {
                if (GetLocalization(publisherAddUpdateViewModel, languageModel.Code) == null)
                {
                    var publisherLocalization = new PublisherLocalizationViewModel
                    {
                        LanguageId = languageModel.LanguageId,
                        Language   = Mapper.Map <LanguageViewModel>(languageModel),
                    };

                    publisherAddUpdateViewModel.PublisherLocalizations.Add(publisherLocalization);
                }
            }
        }
Exemplo n.º 5
0
        public ActionResult Add(PublisherAddUpdateViewModel publisherAddUpdateViewModel)
        {
            PublisherLocalizationViewModel englishLocalization = GetLocalization(publisherAddUpdateViewModel, "en");

            if (IsLocalizationEmpty(englishLocalization))
            {
                ModelState.AddModelError("localizationError", "English localization should exist. ");
            }

            if (ModelState.IsValid)
            {
                CleanEmptyLocalizations(publisherAddUpdateViewModel);

                var model = Mapper.Map <PublisherModel>(publisherAddUpdateViewModel);
                _publisherService.Add(model);
                MessageSuccess("The publisher has been added successfully. ");
                return(RedirectToAction("Get"));
            }

            return(View(publisherAddUpdateViewModel));
        }