public async Task <Response> Update(OwnerDetailModel owner) { if (owner == null) { return(new Response(Result.BadRequest, new Metadata(Link.Self($"{Constants.TOKENIZED_CURRENT_URL}", HttpMethod.Put.Method)), $"Parameter cannot be null : owner")); } var metadata = new Metadata(new[] { Link.Self($"{Constants.TOKENIZED_CURRENT_URL}", HttpMethod.Put.Method), Link.Custom("summary", $"{Constants.TOKENIZED_BASE_URL}/{Constants.API_ROUTE_BASE_PATH}{Constants.TOKENIZED_CONTROLLER_PATH}/{owner.Id}/summary", HttpMethod.Get.Method), Link.Custom("detail", $"{Constants.TOKENIZED_BASE_URL}/{Constants.API_ROUTE_BASE_PATH}{Constants.TOKENIZED_CONTROLLER_PATH}/{owner.Id}/detail", HttpMethod.Get.Method), Link.Delete($"{Constants.TOKENIZED_BASE_URL}/{Constants.API_ROUTE_BASE_PATH}{Constants.TOKENIZED_CONTROLLER_PATH}/{owner.Id}", HttpMethod.Delete.Method), }); try { var entity = Mapper.Map <OwnerEntity>(owner); var updated = await OwnerRepository.Update(entity); if (!updated) { return(new Response(Result.NotFound, new Metadata(Link.Self($"{Constants.TOKENIZED_CURRENT_URL}", HttpMethod.Put.Method)), $"No Owner exists with the ID : {owner.Id}")); } return(new Response(Result.Updated, metadata)); } catch (DataException <OwnerEntity> ex) { return(new Response(ex.Result, metadata, $"{ex.Message}")); } catch (Exception ex) { return(new Response(Result.InternalError, metadata, $"{ex.GetBaseException().Message}")); } }
public void Can_Map_OwnerDetailModel_To_OwnerEntity() { var rnd = new Random(); var source = new OwnerDetailModel { Id = Guid.NewGuid().ToString(), FirstName = "Mary", LastName = "Swivellnail", EmailAddress = "*****@*****.**", DateOfBirth = DateTime.Now.Subtract(TimeSpan.FromDays(rnd.Next(1, 9999))), Address = new Address { City = "Sydney", Country = "Australia", PostCode = "2000", State = "NSW", StreetName = "York St", StreetNumber = "1" } }; var target = Mapper.Map <OwnerDetailModel, OwnerEntity>(source); Assert.IsNotNull(target); Assert.AreEqual(source.Id, target.Id); Assert.AreEqual(source.FirstName, target.FirstName); Assert.AreEqual(source.LastName, target.LastName); Assert.AreEqual(source.EmailAddress, target.EmailAddress); Assert.AreEqual(source.DateOfBirth, target.DateOfBirth); Assert.IsNotNull(target.Address); Assert.AreEqual(source.Address.City, target.Address.City); Assert.AreEqual(source.Address.Country, target.Address.Country); Assert.AreEqual(source.Address.PostCode, target.Address.PostCode); Assert.AreEqual(source.Address.State, target.Address.State); Assert.AreEqual(source.Address.StreetName, target.Address.StreetName); Assert.AreEqual(source.Address.StreetNumber, target.Address.StreetNumber); }