コード例 #1
0
        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}"));
            }
        }
コード例 #2
0
        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);
        }