Exemple #1
0
        public async Task <IActionResult> Edit(int?id)
        {
            IActionResult actionResult = null;

            var user = id.HasValue
                ? await this.DatabaseContext.Attendee.FirstOrDefaultAsync(m => m.UserID == id)
                : null;

            if (user == null)
            {
                actionResult = this.NotFound();
            }
            else
            {
                var viewModel = new EditAttendeeViewModel
                {
                    ExternalID = user.ExternalID,
                    UserID     = user.UserID
                };

                actionResult = this.View(viewModel);
            }

            return(actionResult);
        }
Exemple #2
0
        public async Task <IActionResult> Edit(
            int id,
            EditAttendeeViewModel attendeeViewModel)
        {
            if (id != attendeeViewModel.UserID)
            {
                return(this.NotFound());
            }

            if (this.ModelState.IsValid)
            {
                try
                {
                    var attendee = this.DatabaseContext.Attendee
                                   .FirstOrDefault(i => i.UserID == attendeeViewModel.UserID);

                    if (attendee != null)
                    {
                        attendee.ExternalID   = attendeeViewModel.ExternalID;
                        attendee.ModifiedDate = DateTime.UtcNow;
                    }

                    this.DatabaseContext.Update(attendee);

                    await this.DatabaseContext.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!this.AttendeeExists(attendeeViewModel.UserID))
                    {
                        return(this.NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }

                return(this.RedirectToAction(nameof(this.Index)));
            }

            return(this.View(attendeeViewModel));
        }