예제 #1
0
        public async Task <IActionResult> Edit(int id, ClientInformationEditViewModel viewModel)
        {
            if (id != viewModel.Client.ClientId)
            {
                return(NotFound());
            }
            var user = await GetCurrentUserAsync();

            viewModel.Client.User             = user;
            viewModel.Client.UserId           = user.Id;
            viewModel.Client.ClientAssessmets = await _context.ClientAssessments.Where(c => c.ClientId == viewModel.Client.ClientId).ToListAsync();

            //ModelState.Remove("User");
            //ModelState.Remove("UserId");


            //if (ModelState.IsValid)
            //{
            try
            {
                if (viewModel.Client.ClientAssessmets.Count() == 0 && viewModel.Client.StatusTypeId == 3)
                {
                    TempData["ErrorMessage"] = "Client needs to be assessed before they can be eligible.";
                    ViewData["StatusTypeId"] = new SelectList(_context.StatusTypes, "StatusTypeId", "Name", viewModel.Client.StatusTypeId);
                    return(View(viewModel));
                }
                else
                {
                    _context.Update(viewModel.Client);
                    await _context.SaveChangesAsync();
                }
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ClientExists(viewModel.Client.ClientId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            //}
            ViewData["StatusTypeId"] = new SelectList(_context.StatusTypes, "StatusTypeId", "Name", viewModel.Client.StatusTypeId);
            //ViewData["FacilityId"] = new SelectList(viewModel.Facilities, "FacilityId", "Name");
            ViewData["UserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", viewModel.Client.UserId);
            return(RedirectToAction(nameof(Index)));
            //return View(viewModel);
        }
예제 #2
0
        // GET: Clients/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var viewModel = new ClientInformationEditViewModel()
            {
                Facilities = await _context.Facilities.Where(c => c.UserId == user.Id).ToListAsync()
            };

            viewModel.Client = await _context.Clients.FindAsync(id);

            if (viewModel.Client == null)
            {
                return(NotFound());
            }
            ViewData["StatusTypeId"] = new SelectList(_context.StatusTypes, "StatusTypeId", "Name", viewModel.Client.StatusTypeId);
            ViewData["FacilityId"]   = new SelectList(viewModel.Facilities, "FacilityId", "Name");
            ViewData["UserId"]       = new SelectList(_context.ApplicationUsers, "Id", "Id", viewModel.Client.UserId);
            return(View(viewModel));
        }