public async Task <IActionResult> Upsert(int?id) // forumpost id { Tuple <string, IEnumerable <Category> > tupleResponse = await _categoryRepo.GetAllAsync(SD.Categories, HttpContext.Session.GetString("JWToken")); if (tupleResponse.Item1 != "") { TempData["error"] = tupleResponse.Item1; return(View(new ForumPostVM() { CategoryList = new List <SelectListItem>(), ForumPostModel = new ForumPost() { } })); } IEnumerable <Category> categoryList = tupleResponse.Item2; ForumPostVM objVM = new ForumPostVM { CategoryList = categoryList.Select(i => new Microsoft.AspNetCore.Mvc.Rendering.SelectListItem { Text = i.Title, Value = i.Id.ToString() }), ForumPostModel = new ForumPost() }; if (id == null) { return(View(objVM)); } var forumPostTuple = await _forumRepo.GetAsync(SD.ForumPosts, id.GetValueOrDefault(), HttpContext.Session.GetString("JWToken")); if (forumPostTuple.Item1 != "") { TempData["error"] = forumPostTuple.Item1; return(View(objVM)); } objVM.ForumPostModel = forumPostTuple.Item2; return(View(objVM)); }
public async Task <IActionResult> Upsert(ForumPostVM forumPostObj) { if (ModelState.IsValid) { var userTuple = await _accountRepo.GetUserId(SD.AccountApi, User.Identity.Name, HttpContext.Session.GetString("JWToken")); if (userTuple.Item1 != "") { TempData["error"] = userTuple.Item1; return(View(forumPostObj)); } ForumPost originalObj = null; if (forumPostObj.ForumPostModel.Id != 0) { var errorTupleObj = await _forumRepo.GetAsync(SD.ForumPosts, forumPostObj.ForumPostModel.Id, HttpContext.Session.GetString("JWToken")); if (errorTupleObj.Item1 != "") { TempData["error"] = errorTupleObj.Item1; return(View(forumPostObj)); } originalObj = errorTupleObj.Item2; } var files = HttpContext.Request.Form.Files; if (files.Count > 0) { int counter = 0; if (originalObj != null) { counter = originalObj.Images.Count; } for (int i = 0; i < files.Count && counter < 3; i++) { byte[] p1 = null; using (var fs1 = files[i].OpenReadStream()) { p1 = Resizer.Resize(fs1, 200, 200); } forumPostObj.ForumPostModel.Images.Add(new Image { Picture = p1, UserId = userTuple.Item2 }); counter++; } } forumPostObj.ForumPostModel.UserId = userTuple.Item2; if (forumPostObj.ForumPostModel.Id == 0) { var result = await _forumRepo.CreateAsync(SD.ForumPosts, forumPostObj.ForumPostModel, HttpContext.Session.GetString("JWToken")); if (result.Item1 != "") { TempData["error"] = result.Item1; return(View(forumPostObj)); } } else { var result = await _forumRepo.UpdateAsync(SD.ForumPosts, forumPostObj.ForumPostModel.Id, forumPostObj.ForumPostModel, HttpContext.Session.GetString("JWToken")); if (result.Item1 != "") { TempData["error"] = result.Item1; return(View(forumPostObj)); } } return(RedirectToAction(nameof(Index))); } else { var tupleResponse = await _categoryRepo.GetAllAsync(SD.Categories, HttpContext.Session.GetString("JWToken")); if (tupleResponse.Item1 != "") { TempData["error"] = tupleResponse.Item1; return(View(new ForumPostVM() { CategoryList = new List <SelectListItem>(), ForumPostModel = new ForumPost() { } })); } ForumPostVM forumVM = new ForumPostVM { CategoryList = tupleResponse.Item2.Select(i => new SelectListItem { Text = i.Title, Value = i.Id.ToString() }), ForumPostModel = new ForumPost() }; return(View(new ForumPostVM() { CategoryList = new List <SelectListItem>(), ForumPostModel = new ForumPost() })); } }