public ActionResult Create(ArticleCreateViewModel article) { if (ModelState.IsValid) { var articleObj = PrepareArticleViewModelToUpdate(article); var response = _articleManager.CreateNewArticle(articleObj); if(response.Success && response.Result.ArticleId > 0) return RedirectToAction("Index"); else ModelState.AddModelErrors("", response.Messages); } return View(article); }
public static ArticleCreateViewModel MapToArticleCreateViewModel(this Article article) { var obj = new ArticleCreateViewModel { ArticleId = article.ArticleId, ArticleName = article.ArticleName, Title = article.Title, Content = article.Content, CreatedDate = article.CreatedDate, LastUpdatedDate = article.LastUpdatedDate.Value, PublishDate = article.PublishDate, Places = article.Places }; string str = string.Empty; foreach (var place in article.Places) { str += place.PlaceId.ToString() + ','; } obj.PlacesIdsString = str; return obj; }
private Article PrepareArticleViewModelToUpdate(ArticleCreateViewModel viewModel) { var articleIds = !string.IsNullOrEmpty(viewModel.PlacesIdsString) ? viewModel.PlacesIdsString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) : null; var articleObj = viewModel.TransformToArticle(); foreach (var id in articleIds) { var place = new Place { PlaceId = int.Parse(id) }; if(articleObj.Places == null) articleObj.Places = new List<Place>(); articleObj.Places.Add(place); } return articleObj; }
public ActionResult Edit(ArticleCreateViewModel model) { if (ModelState.IsValid) { var articleIds = !string.IsNullOrEmpty(model.PlacesIdsString) ? model.PlacesIdsString.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries) : null; var articleObj = model.TransformToArticle(); foreach (var id in articleIds) { var place = new Place { PlaceId = int.Parse(id) }; if (articleObj.Places == null) articleObj.Places = new List<Place>(); articleObj.Places.Add(place); } var response = _articleManager.EditArticle(articleObj); if (response.Success) { TempData[Constants.TempdataKeys.EditArticleSuccessKey] = true; return RedirectToAction("Index"); } else { ModelState.AddModelErrors("", response.Messages); } } return RedirectToAction("Edit"); }