Esempio n. 1
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }

            _context.Attach(Destination).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!DestinationExists(Destination.ID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("./Index"));
        }
Esempio n. 2
0
        public async Task <IActionResult> OnPostAsync()
        {
            if (!ModelState.IsValid)
            {
                return(Page());
            }
            AcquiredItem originalItem = await _context.AcquiredItem.FirstOrDefaultAsync(m => m.ID == AcquiredItem.ID);

            if (originalItem != null && Request.Form.Files.Count == 0)
            {
                AcquiredItem.Attachment            = originalItem.Attachment;
                AcquiredItem.AttachmentFileName    = originalItem.AttachmentFileName;
                AcquiredItem.AttachmentContentType = originalItem.AttachmentContentType;
            }
            _context.Entry(originalItem).State = EntityState.Detached;  // detach from original item so you can attach to new one
            if (Request.Form.Files.Count > 0)
            {
                Stream s = Request.Form.Files[0].OpenReadStream();
                if (s.Length < 20 * 1024 * 1024)
                {
                    byte[] buffer = new byte[s.Length];
                    s.Read(buffer, 0, (int)s.Length);
                    s.Close();
                    AcquiredItem.Attachment            = buffer;
                    AcquiredItem.AttachmentFileName    = Request.Form.Files[0].FileName;
                    AcquiredItem.AttachmentContentType = Request.Form.Files[0].ContentType;
                }
                else
                {
                    s.Close();
                    ModelState.AddModelError(string.Empty, "The attachment is too large.  The maximum size is 20MB.");
                    return(Page());
                }
            }

            _context.Attach(AcquiredItem).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AcquiredItemExists(AcquiredItem.ID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(RedirectToPage("../Assessments/Details", new { id = AcquiredItem.AssessmentID }));
        }