public static IEnumerable<ChangeItem> GetChangeItems(CustomerDTO dto, Customer customer)
 {
     IEnumerable<ChangeItem> changeItems = from c in dto.Changes
                                           select
                                               new ChangeItem(c.ChangeType,
                                                              AddressAdapter.DtoToAddress((AddressDTO) c.Object));
     return changeItems;
 }
Example #2
0
 public static Customer DtoToCustomer(CustomerDTO dto)
 {
     Customer customer = new Customer()
                             {
                                 CustomerId = dto.Id,
                                 Name = dto.Name,
                                 FirstName = dto.FirstName,
                                 Version = dto.Version
                             };
     ValidationHelper.Validate(customer);
     return customer;
 }
Example #3
0
        public static CustomerDTO CustomerToDto(Customer c)
        {
            CustomerDTO dto = new CustomerDTO()
                                  {
                                      Id = c.CustomerId,
                                      Name = c.Name,
                                      FirstName = c.FirstName,
                                      Version = c.Version,
                                      Addresses = AddressAdapter.AddressToDtos(c.Addresses)
                                  };

            return dto;
        }
        public void TestDtoToCustomer()
        {
            AddressDTO addressDto = new AddressDTO() { Id = 1, AddressLine1 = "FakeStreet", PostalCode = "FakePostalCode", City = "FakeCity", Phone = "FakePhone", Email = "FakeEmail", Version = 0 };
            CustomerDTO dto = new CustomerDTO() { Id = 1, Name = "FakeUsername", FirstName = "FakeFirstname", Version = 1 };
            dto.Addresses.Add(addressDto);
            Assert.AreEqual(true, dto.IsValid);
            Assert.AreEqual(true, addressDto.IsValid);

            Customer customer = CustomerAdapter.DtoToCustomer(dto);
            Assert.AreEqual<int>(dto.Id, customer.CustomerId);
            Assert.AreEqual<string>(dto.Name, customer.Name);
            Assert.AreEqual<string>(dto.FirstName, customer.FirstName);
            Assert.AreEqual(dto.Version, customer.Version);
            Assert.AreEqual(true, customer.IsValid);

            //Assert.AreEqual<int>(dto.Addresses.Count(), customer.Addresses.Count());
            //Assert.AreEqual(true, address.IsValid);
        }
        public void TestDtoToAddress()
        {
            CustomerDTO customerDTO = new CustomerDTO();
            customerDTO.MarkChildForInsertion(new AddressDTO { Id = 1, City = "FakeCity", Email = "FakeEmail", Phone = "09", PostalCode = "1234", AddressLine1 = "FakeStreet", Version = 0 });
            customerDTO.MarkChildForUpdate(new AddressDTO { Id = 2, City = "FakeCity", Email = "FakeEmail", Phone = "09", PostalCode = "1234", AddressLine1 = "FakeStreet", Version = 0 });
            customerDTO.MarkChildForDeletion(new AddressDTO { Id = 3, City = "FakeCity", Email = "FakeEmail", Phone = "09", PostalCode = "1234", AddressLine1 = "FakeStreet", Version = 0 });

            IEnumerable<ChangeItem> changeItems = CustomerAdapter.GetChangeItems(customerDTO, new Customer());
            Assert.AreEqual<int>(3, changeItems.Count());
        }
        public void TestCustomerDetailModel()
        {
            AddressDTO addressDto = new AddressDTO() {Id = 1, AddressLine1 = "FakeStreet", PostalCode = "FakePostalCode", City = "FakeCity", Phone = "FakePhone", Email = "FakeEmail", Version = 0};
            CustomerDTO dto = new CustomerDTO() {Id = 1, Name = "FakeUsername", FirstName = "FakeFirstname", Version = 1};
            dto.Addresses.Add(addressDto);

            CustomerDetailViewModel customerDetailViewModel = new CustomerDetailViewModel(dto, false);
            customerDetailViewModel.Service = serviceFacade;

            Expect.Once.On(serviceFacade).Method("StoreCustomer").With(dto);
            customerDetailViewModel.SaveCommand.Command.Execute(null);

            Assert.AreEqual(dto, customerDetailViewModel.Model);
            Assert.AreEqual(Strings.CustomerDetailViewModel_DisplayName, customerDetailViewModel.DisplayName);

            AddressViewModel addressViewModel = (AddressViewModel) customerDetailViewModel.ListViewModel;
            Assert.AreEqual(addressDto, addressViewModel.Items.FirstOrDefault());
        }
 public void TestStoreCustomer()
 {
     CustomerDTO customer = new CustomerDTO();
     customer.Id = 123;
     StoreCustomerResponse response = new StoreCustomerResponse();
     response.CustomerId = customer.Id;
     Expect.Once.On(service).Method("StoreCustomer").Will(Return.Value(response));
     serviceFacade.StoreCustomer(customer);
 }
        private void RefreshAddressViewModel(CustomerViewModel vm, CustomerDTO item)
        {
            var vmAddress = GetViewModelFromTempData<AddressViewModel>(typeof(AddressController).FullName);

            if (vmAddress != null && vmAddress.LatestAddressAction != ControllerAction.None)
            {
                vm.Addresses = vmAddress;
            }
            else
            {
                vm.Addresses = new AddressViewModel(item.Addresses.ToList());
            }

            vm.Addresses.IsReadOnly = CurrentActionName == "Details";
            vm.Addresses.ReturnController = CurrentControllerName;
            vm.Addresses.ReturnAction = CurrentActionName;
            vm.Addresses.ReturnId = CurrentParameterId;
        }
        protected ActionResult DisplayDetails(CustomerDTO item)
        {
            var vm = GetViewModelFromTempData<CustomerViewModel>() ?? new CustomerViewModel(item, null, false);
            vm.DisplayName = Strings.CustomerViewModel_DisplayName;
            vm.Model = item;
            vm.IsNew = item.Id <= 0;

            // Refreshes the AddressViewModel in CustomerViewModel
            RefreshAddressViewModel(vm, item);

            // Marks child entity changes in CustomerViewModel
            MarkAddressChanges(vm);

            // Finish Action
            StoreViewModelToTempData(vm);
            StoreViewModelToTempData(vm.Addresses, typeof(AddressController).FullName);
            return View(vm);
        }
Example #10
0
 public void StoreCustomer(CustomerDTO customer)
 {
     try
     {
         StoreCustomerRequest request = new StoreCustomerRequest();
         request.Customer = customer;
         StoreCustomerResponse response = Service.StoreCustomer(request);
         customer.Id = response.CustomerId;
     }
     catch (Exception ex)
     {
         if (ExceptionPolicy.HandleException(ex, "PL Policy")) throw;
     }
 }