Example #1
0
        public void IgnoreProperty()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <Person, PersonReportModel>(p => new PersonReportModel
            {
                Name    = $"{p.FirstName} {p.LastName}",
                Age     = TestHelpers.CalculateAge(p.BirthDate),
                Address = MappingOptions.Ignore()
            });

            var reportModel = mapperConfiguration.Convert <Person, PersonReportModel>(TestData.People.JohnSmith);

            Assert.IsNull(reportModel.Address);
            const string doNotChange   = "DO NOT CHANGE THIS";
            var          existingModel = new PersonReportModel
            {
                Name        = "Test",
                Address     = doNotChange,
                City        = "Test",
                PhoneNumber = "Test",
                Age         = 5
            };

            mapperConfiguration.MapData(TestData.People.JohnSmith, existingModel);
            Assert.AreEqual(doNotChange, existingModel.Address);
        }
Example #2
0
 private void CheckPersonReportModel(Person sourceModel, PersonReportModel resultModel)
 {
     Assert.AreEqual($"{sourceModel.FirstName} {sourceModel.LastName}", resultModel.Name);
     Assert.AreEqual(sourceModel.Address, resultModel.Address);
     Assert.AreEqual(sourceModel.City, resultModel.City);
     Assert.AreEqual(sourceModel.PhoneNumber, resultModel.PhoneNumber);
     Assert.AreEqual(TestHelpers.CalculateAge(sourceModel.BirthDate), resultModel.Age);
 }
Example #3
0
 public (bool ValidationResult, string ValidationMessage) ValidateAddReport(PersonReportModel model)
 {
     if (!_personRepository.CheckPersonExistence(model.PersonUid).Result)
     {
         return(false, ErrorDictionary.GetErrorMessage(2, _culture));
     }
     return(true, string.Empty);
 }
Example #4
0
        public async Task <ActionResult> AddReport(PersonReportModel model)
        {
            var uid = new Guid(HttpContext.Request.Headers[AuthorizationHeaders.PersonUid].First());
            var validationResult = _personValidation.ValidateAddReport(model);

            if (!validationResult.ValidationResult)
            {
                return(BadRequest(validationResult.ValidationMessage));
            }
            await _personLogic.AddReport(model, uid);

            return(Ok(Messages.GetMessageJson(MessageTitles.ReportAdded, CultureParser.GetCultureFromHttpContext(HttpContext))));
        }
Example #5
0
        public async Task AddReport(PersonReportModel model, Guid uid)
        {
            var personEntity = await _personRepository.GetPerson(model.PersonUid);

            var authorEntity = await _personRepository.GetPerson(uid);

            var reportEntity = new PersonReportEntity();

            reportEntity.Text            = model.Text;
            reportEntity.PersonId        = personEntity.PersonId;
            reportEntity.AuthorId        = authorEntity.PersonId;
            reportEntity.CreationTime    = DateTime.UtcNow;
            reportEntity.IsProcessed     = false;
            reportEntity.PersonReportUid = Guid.NewGuid();
            await _personRepository.AddReport(reportEntity);
        }
Example #6
0
        public void MapSimpleModel()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <Person, PersonReportModel>(p => new PersonReportModel
            {
                Name = $"{p.FirstName} {p.LastName}",
                Age  = TestHelpers.CalculateAge(p.BirthDate),
            });

            var reportModel = mapperConfiguration.Convert <Person, PersonReportModel>(TestData.People.JohnSmith);

            CheckPersonReportModel(TestData.People.JohnSmith, reportModel);

            var existingReportModel = new PersonReportModel();

            mapperConfiguration.MapData(TestData.People.JohnSmith, existingReportModel);
            CheckPersonReportModel(TestData.People.JohnSmith, existingReportModel);
        }
Example #7
0
        public void ConditionalIgnore()
        {
            var mapperConfiguration = new MappingConfiguration();

            mapperConfiguration.CreateMapping <Person, PersonReportModel>(p => new PersonReportModel
            {
                Name        = p.FirstName != "Brent" ? "Not Brent" : "Brent",
                Age         = p.FirstName == "Brent" ? 6 : 5,
                Address     = p.FirstName == "John" ? p.Address : MappingOptions.Ignore(),
                City        = p.FirstName == "John" ? MappingOptions.Ignore() : p.City,
                PhoneNumber = p.FirstName != "John" ? MappingOptions.Ignore() : p.PhoneNumber
            });
            mapperConfiguration.CreateMapping <Person, Person>(p => new Person());
            var reportModel = mapperConfiguration.Convert <Person, PersonReportModel>(TestData.People.JohnSmith);

            Assert.AreEqual(TestData.People.JohnSmith.Address, reportModel.Address);
            Assert.IsNull(reportModel.City);
            Assert.AreEqual(TestData.People.JohnSmith.PhoneNumber, reportModel.PhoneNumber);
            Assert.AreEqual("Not Brent", reportModel.Name);
            Assert.AreEqual(5, reportModel.Age);

            const string doNotChange = "DO NOT CHANGE THIS";

            var existingModel = new PersonReportModel
            {
                Name        = "Brent",
                Address     = doNotChange,
                PhoneNumber = doNotChange,
                City        = "Test",
                Age         = 5
            };
            var brent = mapperConfiguration.Convert <Person, Person>(TestData.People.JohnSmith);

            brent.FirstName = "Brent";
            mapperConfiguration.MapData(brent, existingModel);
            Assert.AreEqual(doNotChange, existingModel.Address);
            Assert.AreEqual(doNotChange, existingModel.PhoneNumber);
            Assert.AreEqual(brent.City, existingModel.City);
            Assert.AreEqual(6, existingModel.Age);
        }