public IActionResult Put(PersonDetailAccomplishmentViewModel model)
 {
     if (ModelState.IsValid)
     {
         var result = _accomplishment.Edit(model);
         if (result != null)
         {
             return(Ok(result));
         }
     }
     return(BadRequest());
 }
        public PersonDetailAccomplishmentViewModel Edit(PersonDetailAccomplishmentViewModel model)
        {
            var person = _context.People.Include(x => x.Accomplishments).FirstOrDefault(p => p.PersonId == model.PersonId);

            if (person != null)
            {
                person.FirstName      = model.FirstName;
                person.LastName       = model.LastName;
                person.City           = model.City;
                person.State          = model.State;
                model.Accomplishments = person.Accomplishments.Select(x => new AccomplishmentViewModel
                {
                    Id   = x.AccomplishmentId,
                    Name = x.Name,
                    DateOfAccomplishment = x.DateOfAccomplishment.ToString("MM/dd/yyyy")
                });
                _context.SaveChanges();
                return(model);
            }
            return(null);
        }
        public async Task <IActionResult> Edit([FromForm] PersonDetailAccomplishmentViewModel model, int id)
        {
            if (ModelState.IsValid && model.PersonId == id)
            {
                model = _accomplishment.Edit(model);

                var person = new Person
                {
                    LastName = model.LastName,
                    State    = model.State
                };

                var authResult = await _service.AuthorizeAsync(User, person, "CanEditContent");

                if (!authResult.Succeeded)
                {
                    return(new ForbidResult());
                }
            }
            return(View(model));
        }
        public void AccomplishmentService_Return_Accomplishment_Record_UnEdited_ReturnNull()
        {
            var model = new PersonDetailAccomplishmentViewModel
            {
                PersonId  = 5,
                FirstName = "EditfirstName",
                LastName  = "EditLastName"
            };
            var options = new DbContextOptionsBuilder <DataContext>()
                          .UseInMemoryDatabase(databaseName: "recipedb")
                          .Options;

            using (var context = new DataContext(options))
            {
                var service = new AccomplishmentService(context);
                var result  = service.Edit(model);


                Assert.Null(result);
            }
        }