public async Task <ActionResult> Create(DayRecordViewModel record, HttpPostedFileBase uploadImage) { if (ModelState.IsValid) { string currentUserId = User.Identity.GetUserId(); ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == currentUserId); DayBookModel dayBook = new DayBookModel(); dayBook.ApplicationUser = currentUser; dayBook.ApplicationUserId = User.Identity.GetUserId(); dayBook.CreationTime = DateTime.Now; dayBook.DayRecord = Transposition.GetEncryptedString(record.DayRecord); db.DayBooks.Add(dayBook); ImageModel imageModel = new ImageModel(); byte[] imageData; using (var binaryReader = new BinaryReader(uploadImage.InputStream)) { imageData = binaryReader.ReadBytes(uploadImage.ContentLength); } imageModel.ImageTitle = record.ImageTitle; imageModel.ImageByte = imageData; imageModel.DayBookModel = dayBook; db.ImageModels.Add(imageModel); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(record)); }
/// <summary> /// Get record details and show full data description which all images /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DayRecordViewModel viewModel = new DayRecordViewModel(); DayBookModel dayBook = await db.DayBooks.FindAsync(id); var Images = db.ImageModels.Where(p => p.DayBookModelId == dayBook.DayBookModelId); viewModel.DayRecord = Transposition.GetDecryptedString(dayBook.DayRecord); viewModel.ImageModels = await db.ImageModels.Where(p => p.DayBookModelId.Equals(dayBook.DayBookModelId)).ToListAsync();; if (dayBook == null) { return(HttpNotFound()); } return(View(viewModel)); }