コード例 #1
0
        public ActionResult EditPerson(EditPersonModel editPerson)
        {
            if (ModelState.IsValid)
            {
                var savePerson = new Person
                {
                    Id                = editPerson.Id,
                    FullName          = editPerson.FullName,
                    Position          = editPerson.Position,
                    ResponsiblePerson = editPerson.ResponsiblePerson,
                    IsDeleted         = editPerson.IsDeleted
                };
                var validation = catalogsValidator.ValidatePersonBeforeDelet(savePerson);

                if (savePerson.IsDeleted && !validation.IsValid)
                {
                    editPerson.CanDelete        = validation.IsValid;
                    editPerson.CanDeleteMessage = validation.ValidationMessage;
                }
                else
                {
                    personService.SavePerson(savePerson);
                    //var editedPerson = personService.GetPersonById(editPerson.Id);
                    return(RedirectToAction("PersonDetails", new { id = savePerson.Id }));
                }
            }
            return(View(editPerson));
        }
コード例 #2
0
        public void Can_Merge_MiddleAges_DoB_Into_Entity()
        {
            var person = new Person();
            var model  = new EditPersonModel {
                BirthDay = 1, BirthMonth = 1, BirthYear = 1600
            };

            mapper.MergeEntityWithModel(person, model);
            Assert.That(person.DateOfBirth, Is.EqualTo(new UncertainDate(1600, 1, 1)));
        }
コード例 #3
0
        public void Can_Merge_ReviewText_Into_Entity()
        {
            var person = new Person();
            var model  = new EditPersonModel {
                ReviewText = "Terrible author."
            };

            mapper.MergeEntityWithModel(person, model);
            Assert.That(person.ReviewText, Is.EqualTo(model.ReviewText));
        }
コード例 #4
0
        public void Can_Merge_DateOfDeath_Info_From_Model_To_Entity()
        {
            var model = new EditPersonModel {
                DeathYear = 1950, DeathMonth = 5, DeathDay = 20
            };
            var person = new Person();

            mapper.MergeEntityWithModel(person, model);
            Assert.That(person.DateOfDeath, Is.EqualTo(new UncertainDate(1950, 5, 20)));
        }
コード例 #5
0
        public void Will_Leave_ModifiedDate_Null_When_Model_Has_No_ModifiedDate()
        {
            var entity = new Person();
            var model  = new EditPersonModel {
                ModifiedDateTicks = null
            };

            mapper.MergeEntityWithModel(entity, model);

            Assert.That(!entity.ModifiedDate.HasValue);
        }
コード例 #6
0
        public ActionResult EditPerson(int id)
        {
            var person = personService.GetPersonById(id);

            if (person != null)
            {
                var validation = catalogsValidator.ValidatePersonBeforeDelet(person);
                var model      = new EditPersonModel(person);
                model.CanDelete        = validation.IsValid;
                model.CanDeleteMessage = validation.ValidationMessage;

                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
コード例 #7
0
 public ActionResult CreatePerson(EditPersonModel newPerson)
 {
     if (ModelState.IsValid)
     {
         var savePerson = new Person
         {
             Id       = newPerson.Id,
             FullName = newPerson.FullName,
             Position = newPerson.Position
         };
         personService.SavePerson(savePerson);
         return(RedirectToAction("Index"));
     }
     return(View(newPerson));
 }
コード例 #8
0
        public void Will_Guard_Against_Null_Entity_When_Merging()
        {
            var model = new EditPersonModel();

            Assert.Throws <ArgumentNullException>(() => mapper.MergeEntityWithModel(null, model));
        }
コード例 #9
0
        public ActionResult CreatePerson()
        {
            var model = new EditPersonModel();

            return(View(model));
        }