コード例 #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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        /// <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);
            }
        }
コード例 #4
0
        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"));
        }
コード例 #5
0
        // 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));
        }
コード例 #6
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));
        }