Пример #1
0
            public async Task <IActionResult> Edit(int?id)
            {
                if (id == null)
                {
                    return(NotFound());
                }

                ApplicationUser user = await GetCurrentUserAsync();

                var viewModel = new CompletionDetailViewModel();

                viewModel.Completion = await _context.Completion
                                       .Include(c => c.CompletionActionItems)
                                       .ThenInclude(ca => ca.ActionItem)
                                       .Where(c => c.CompletionId == id).SingleOrDefaultAsync();

                viewModel.UserResponsibleParties = new SelectList(_context.ResponsibleParty.Where(rp => rp.UserId == user.Id), "ResponsiblePartyId", "NameOrGroup");

                if (viewModel.Completion == null)
                {
                    return(NotFound());
                }

                return(View(viewModel));
            }
Пример #2
0
            public async Task <IActionResult> Edit(int id, CompletionDetailViewModel vm)
            {
                ModelState.Remove("Completions.User");
                ModelState.Remove("Completions.UserId");
                if (ModelState.IsValid)
                {
                    try
                    {
                        ApplicationUser user = await GetCurrentUserAsync();

                        vm.Completion.DateCompleted = DateTime.Now;
                        vm.Completion.CompletionId  = id;
                        vm.Completion.UserId        = user.Id;
                        _context.Update(vm.Completion);
                        await _context.SaveChangesAsync();
                    }
                    catch (DbUpdateConcurrencyException)
                    {
                        if (!CompletionExists(vm.Completion.CompletionId))
                        {
                            return(NotFound());
                        }
                        else
                        {
                            throw;
                        }
                    }
                    return(RedirectToAction(nameof(Index)));
                }

                ApplicationUser currentUser = await GetCurrentUserAsync();

                vm.UserResponsibleParties = new SelectList(
                    _context.ResponsibleParty
                    .Where(rp => rp.UserId == currentUser.Id),
                    "ResponsiblePartyId",
                    "NameOrGroup");

                return(View(vm));
            }