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); }
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); }
public (bool ValidationResult, string ValidationMessage) ValidateAddReport(PersonReportModel model) { if (!_personRepository.CheckPersonExistence(model.PersonUid).Result) { return(false, ErrorDictionary.GetErrorMessage(2, _culture)); } return(true, string.Empty); }
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)))); }
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); }
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); }
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); }