private static void Localize(NewsDto source, NewsMvcViewModel destination) { var language = LanguageHelper.GetThreadLanguage(); var ruLocalization = source.NewsLocalizations.FirstOrDefault(n => n.LanguageId == 2); var enLocalization = source.NewsLocalizations.FirstOrDefault(n => n.LanguageId == 1); switch (language) { case CultureLanguage.EN: destination.LocalizedTitle = enLocalization?.Header; destination.LocalizedShortDescription = enLocalization?.ShortDescription; destination.LocalizedContent = enLocalization?.Content; break; case CultureLanguage.Undefined: case CultureLanguage.RU: case null: default: destination.LocalizedTitle = ruLocalization?.Header; destination.LocalizedShortDescription = ruLocalization?.ShortDescription; destination.LocalizedContent = ruLocalization?.Content; break; } }
public ActionResult Delete(int id, NewsMvcViewModel model) { var result = _newsService.Delete(id); if (!result.Succeeded) { ModelState.AddModelError("", $"Ошибки при удалении новости:</br>" + $"{string.Join("</br>", result.Errors)}"); return(View(model)); } return(RedirectToAction("Index")); }
public ActionResult Edit(int id, NewsMvcViewModel model) { if (ModelState.IsValid == false) { return(View(model)); } if (model.Id == 0) { throw new HttpException((int)HttpStatusCode.InternalServerError, "Не указан идентификатор категории"); } OperationResult <ImageDto> imageResult = null; if (Request.Files.Count > 0) { var file = Request.Files[0]; var image = Mapper.Map <ImageDto>(file); imageResult = _imageService.SaveImage(image); } if (imageResult != null && !imageResult.Succeeded) { ModelState.AddModelError("", $"Ошибки при обновлении новости:</br>" + $"{string.Join("</br>", imageResult.Errors)}"); return(View(model)); } var news = Mapper.Map <NewsDto>(model); news.ImageId = imageResult?.Data.Id; var newsResult = _newsService.Save(news); if (!newsResult.Succeeded) { ModelState.AddModelError("", $"Ошибки при обновлении новости:</br>" + $"{string.Join("</br>", newsResult.Errors)}"); return(View(model)); } return(RedirectToAction("Index")); }
private static void TransformToDto(NewsMvcViewModel source, NewsDto destination) { var enLocalization = string.IsNullOrEmpty(source.TitleEn) ? null : new NewsLocalizationDto { NewsId = source.Id, LanguageId = (int)CultureLanguage.EN, Content = source.ContentEn, ShortDescription = source.ShortDescriptionEn, Header = source.TitleEn }; var ruLocalization = string.IsNullOrEmpty(source.TitleRu) ? null : new NewsLocalizationDto { NewsId = source.Id, LanguageId = (int)CultureLanguage.RU, Content = source.ContentRu, ShortDescription = source.ShortDescriptionRu, Header = source.TitleRu }; var localizations = new List <NewsLocalizationDto>(); if (enLocalization != null) { localizations.Add(enLocalization); } if (ruLocalization != null) { localizations.Add(ruLocalization); } destination.NewsLocalizations = (localizations.Count > 0) ? localizations : null; }
private static void TransformToModel(NewsDto source, NewsMvcViewModel destination) { var localizations = source.NewsLocalizations; if (localizations == null || localizations.Count == 0) { return; } var ruLocalization = localizations.FirstOrDefault(c => c.LanguageId == (int)CultureLanguage.RU); var enLocalization = localizations.FirstOrDefault(c => c.LanguageId == (int)CultureLanguage.EN); destination.ContentEn = enLocalization?.Content; destination.ContentRu = ruLocalization?.Content; destination.ShortDescriptionEn = enLocalization?.ShortDescription; destination.ShortDescriptionRu = ruLocalization?.ShortDescription; destination.TitleEn = enLocalization?.Header; destination.TitleRu = ruLocalization?.Header; }
public ActionResult Create(NewsMvcViewModel model) { if (ModelState.IsValid == false) { return(View(model)); } OperationResult <ImageDto> imageResult = null; if (Request.Files.Count > 0) { var file = Request.Files[0]; var image = Mapper.Map <ImageDto>(file); imageResult = _imageService.SaveImage(image); } if (imageResult != null && !imageResult.Succeeded) { ModelState.AddModelError("", $"Ошибки при добавлении новости:</br>" + $"{string.Join("</br>", imageResult.Errors)}"); return(View(model)); } var news = Mapper.Map <NewsDto>(model); news.ImageId = imageResult?.Data.Id; var newsResult = _newsService.Save(news); if (!newsResult.Succeeded) { ModelState.AddModelError("", $"Ошибки при добавлении новости:</br>" + $"{string.Join("</br>", newsResult.Errors)}"); return(View(model)); } return(RedirectToAction("Index")); }