Пример #1
0
        public ActionResult Edit(int id)
        {
            var participant = _participantRepository.GetById(id);

            if (participant == null)
            {
                return(this.RedirectToAction <RetreatController>(c => c.Index(null)));
            }

            var participantViewModel = new EditParticipantViewModel
            {
                Id             = participant.Id,
                FirstName      = participant.FirstName,
                LastName       = participant.LastName,
                DateReceived   = participant.DateReceived,
                Notes          = participant.Notes,
                PhysicalStatus = participant.PhysicalStatus
            };

            return(View(participantViewModel));
        }
Пример #2
0
        public ActionResult Edit(EditParticipantViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var participant = _participantRepository.GetById(viewModel.Id);

            if (participant == null)
            {
                return(View(viewModel));
            }

            participant.FirstName      = viewModel.FirstName;
            participant.LastName       = viewModel.LastName;
            participant.DateReceived   = viewModel.DateReceived;
            participant.Notes          = viewModel.Notes;
            participant.PhysicalStatus = viewModel.PhysicalStatus;

            _participantRepository.Save(participant);

            return(this.RedirectToAction <RetreatController>(c => c.Index(null)));
        }
Пример #3
0
        public async Task <IActionResult> Edit(string id, EditParticipantViewModel participant, IFormCollection formCollection)
        {
            if (id != participant.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var participantToUpdate = await _context.Participants.FindAsync(id);

                    participantToUpdate.LastUpdateTime       = DateTime.Now;
                    participantToUpdate.CompetitionSubjectId = participant.CompetitionSubjectId;
                    participantToUpdate.Description          = participant.Description;
                    participantToUpdate.Subject = participant.Subject;

                    if (formCollection.Files != null)
                    {
                        foreach (var file in formCollection.Files)
                        {
                            var fileContent = ContentDispositionHeaderValue.Parse(file.ContentDisposition);

                            var userId = HttpContext.User.Identity.Name;
                            // Some browsers send file names with full path.
                            // We are only interested in the file name.
                            var format       = Path.GetExtension(fileContent.FileName.ToString().Trim('"'));
                            var filename     = Guid.NewGuid().ToString() + format;
                            var physicalPath = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\uploads\" + userId, filename);
                            var path         = Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\uploads\" + userId);

                            bool exists = Directory.Exists(path);

                            if (!exists)
                            {
                                Directory.CreateDirectory(path);
                            }

                            // The files are not actually saved in this demo
                            using (var fileStream = new FileStream(physicalPath, FileMode.Create))
                            {
                                await file.CopyToAsync(fileStream);
                            }

                            participantToUpdate.AttachedFile = filename;
                        }
                    }
                    _context.Update(participantToUpdate);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ParticipantExists(participant.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(participant));
        }