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)); }
public async Task <ActionResult> Edit([Bind(Include = "DayBoolKey,DayRecord,CreationTime,ApplicationUserId")] DayBookModel dayBook) { if (ModelState.IsValid) { dayBook.DayRecord = Transposition.GetEncryptedString(dayBook.DayRecord); db.Entry(dayBook).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(dayBook)); }
/// <summary> /// Check whether expired two days from creation time /// </summary> /// <param name="dayBook"></param> /// <returns></returns> private bool CheckCreationalTime(DayBookModel dayBook) { double differenceInDays = (DateTime.Now - dayBook.CreationTime).TotalDays; if (differenceInDays > 2) { return(false); } else { return(true); } }
public async Task <ActionResult> DeleteConfirmed(int id) { DayBookModel dayBook = db.DayBooks.Find(id); if (CheckCreationalTime(dayBook)) { db.DayBooks.Remove(dayBook); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(RedirectToAction("Index")); }
// GET: DayBooks/Delete/5 public async Task <ActionResult> Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DayBookModel dayBook = await db.DayBooks.FindAsync(id); dayBook.DayRecord = Transposition.GetDecryptedString(dayBook.DayRecord); if (dayBook == null) { return(HttpNotFound()); } return(View(dayBook)); }
/// <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)); }