Exemple #1
0
        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));
        }
Exemple #2
0
        /// <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));
        }