public JsonResult UpdateItem(string itemIds) { int count = 1; List <int> itemIdList = new List <int>(); try { itemIdList = itemIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList(); foreach (var itemId in itemIdList) { StoryBlocks block = _db.StoryBlocks.Where(x => x.StoryBlocksId == itemId).FirstOrDefault(); block.Position = count; if (ModelState.IsValid) { _db.Update(block); _db.SaveChanges(); count++; } } return(Json(true)); } catch { return(Json(false)); } }
public ActionResult UpdateItem(string itemIds) { int count = 1; List <int> itemIdList = new List <int>(); itemIdList = itemIds.Split(",".ToCharArray(), StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList(); foreach (var itemId in itemIdList) { try { StoryBlocks block = _context.StoryBlocks.Where(x => x.StoryBlocksId == itemId).FirstOrDefault(); block.Position = count; if (block == null) { _context.StoryBlocks.Add(block); } else { _context.StoryBlocks.Update(block); } _context.SaveChangesAsync(); } catch (Exception) { continue; } count++; } return(new JsonResult(true)); }
public async Task <ActionResult <StoryBlocks> > PostStoryBlock(StoryBlocks storyBlock) { try { // Find the block by id var blockFromDb = context_.StoryBlocks.SingleOrDefault(c => c.StoryBlocksId == storyBlock.StoryBlocksId); if (blockFromDb == null) { return(NotFound()); } // Add Block var block = new StoryBlocks { Name = storyBlock.Name, Image = storyBlock.Image, Content = storyBlock.Content, StoryBlocksId = storyBlock.StoryBlocksId }; context_.StoryBlocks.Add(block); context_.SaveChanges(); } catch { return(BadRequest()); } return(Ok()); // context_.StoryBlocks.Add(storyBlock); // await context_.SaveChangesAsync(); // return CreatedAtAction(nameof(GetStoryBlock), new { id = storyBlock.StoryBlockId }, storyBlock); }
public async Task <IActionResult> CreatePost(StoryBlocks storyBlock) { if (ModelState.IsValid) { { // set its position as the last block var story = _context.Stories.Where(x => x.Id == storyBlock.StoriesId).FirstOrDefault(); story.BlockNumber++; storyBlock.Position = story.BlockNumber; _context.StoryBlocks.Add(storyBlock); await _context.SaveChangesAsync(); string webRootPath = _hostingEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; var blockFromDb = _context.StoryBlocks.Find(storyBlock.StoryBlocksId); if (files.Count != 0) { // if image has been uploaded var curPath = SD.StoryFolder + @"\" + storyBlock.StoriesId; var uploads = Path.Combine(webRootPath, curPath); var extension = Path.GetExtension(files[0].FileName); if (ImageFormat.Contains(extension)) { using (var filestream = new FileStream(Path.Combine(uploads, storyBlock.StoryBlocksId + extension), FileMode.Create)) { files[0].CopyTo(filestream); } blockFromDb.Image = @"\" + SD.StoryFolder + @"\" + storyBlock.StoriesId + @"\" + storyBlock.StoryBlocksId + extension; } else { uploads = Path.Combine(webRootPath, SD.StoryFolder + @"\" + SD.DefaultStoryImage); System.IO.File.Copy(uploads, webRootPath + @"\" + SD.StoryFolder + @"\" + storyBlock.StoriesId + @"\" + storyBlock.StoryBlocksId + ".png"); blockFromDb.Image = @"\" + SD.StoryFolder + @"\" + storyBlock.StoriesId + @"\" + storyBlock.StoryBlocksId + ".png"; } } else { // when no image uploaded by user, use default image var uploads = Path.Combine(webRootPath, SD.StoryFolder + @"\" + SD.DefaultStoryImage); System.IO.File.Copy(uploads, webRootPath + @"\" + SD.StoryFolder + @"\" + storyBlock.StoriesId + @"\" + storyBlock.StoryBlocksId + ".png"); blockFromDb.Image = @"\" + SD.StoryFolder + @"\" + storyBlock.StoriesId + @"\" + storyBlock.StoryBlocksId + ".png"; } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } return(View(storyBlock)); }
public async Task <IActionResult> Edit(long id, StoryBlocks storyBlock) { try { string webRootPath = _hostingEnvironment.WebRootPath; var files = HttpContext.Request.Form.Files; var storyFromDb = _context.StoryBlocks.Where(m => m.StoryBlocksId == storyBlock.StoryBlocksId).FirstOrDefault(); // if user uploads a new image file if (files.Count > 0 && files[0] != null) { var curPath = SD.StoryFolder + @"\" + storyBlock.StoriesId; var uploads = Path.Combine(webRootPath, curPath); var extension_new = Path.GetExtension(files[0].FileName); var extension_old = Path.GetExtension(storyFromDb.Image); // if the extension of the upload file is valid if (ImageFormat.Contains(extension_new)) { if (System.IO.File.Exists(Path.Combine(uploads, storyBlock.StoryBlocksId + extension_old))) { System.IO.File.Delete(Path.Combine(uploads, storyBlock.StoryBlocksId + extension_old)); } using (var filestream = new FileStream(Path.Combine(uploads, storyBlock.StoryBlocksId + extension_new), FileMode.Create)) { files[0].CopyTo(filestream); } storyBlock.Image = @"\" + SD.StoryFolder + @"\" + storyBlock.StoriesId + @"\" + storyBlock.StoryBlocksId + extension_new; } } // image uploaded by user if (storyBlock.Image != null) { storyFromDb.Image = storyBlock.Image; } storyFromDb.Name = storyBlock.Name; storyFromDb.Content = storyBlock.Content; storyFromDb.StoriesId = storyBlock.StoriesId; await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } catch { return(View(storyBlock)); } }