public CustomerDetails(DatabaseFactory df = null, UnitOfWork uow = null)
 {
     DatabaseFactory dfactory = df == null ? new DatabaseFactory() : df;
     _unitOfWork = uow == null ? new UnitOfWork(dfactory) : uow;
     _customerdetailsRepository = new CustomerDetailsRepository(dfactory);
     this._formsAuthenticationFactory = new FormsAuthenticationFactory();
 }
コード例 #2
0
        public static void Main()
        {
            var customerDetails = new CustomerDetailsRepository();

            customerDetails.Save(new CustomerDetails(1, "John Doe", new Address("123, Paradise Lost", "Homer Street")));
            customerDetails.Save(new CustomerDetails(2, "Jane Doe", new Address("123, Odyssey House", "Homer Stret")));
            customerDetails.Save(new CustomerDetails(3, "Joe Black", new Address("123, Heven Lodge", "Mitch Street")));
            customerDetails.Save(new CustomerDetails(4, "Raymond Red", new Address("123, Obelix Court", "Renaissance Walk")));

            var orderRepository = new PurchaseOrderRepository();

            orderRepository.Save(new PurchaseOrder(1, new List <ILineItem> {
                new PhysicalProduct("Man In Black", 5.0m), new PhysicalProduct("Fifth Season", 6.0m)
            }, 1, false));
            orderRepository.Save(new PurchaseOrder(4, new List <ILineItem> {
                new PhysicalProduct("Grey's Anatomy", 5.0m), new Membership("Video Club", 6.0m)
            }, 2, false));
            orderRepository.Save(new PurchaseOrder(2, new List <ILineItem> {
                new Membership("Book Club", 5.0m), new PhysicalProduct("Fifth Season", 6.0m)
            }, 3, false));
            orderRepository.Save(new PurchaseOrder(3, new List <ILineItem> {
                new PhysicalProduct("The Theory of Everything", 5.0m), new PhysicalProduct("Space Odyssey", 6.0m)
            }, 4, false));

            var bus = Bootstrap.Boot(orderRepository, customerDetails);

            for (int i = 0; i < 4; i++)
            {
                bus.Execute(new ProcessOrder(i + 1));
            }
        }
        public void PostMethod_ShouldCreateCustomer()
        {
            // Arrange
            var data = new List <CustomerDetails> {
                new CustomerDetails {
                    Id = 10, UserName = "******", Name = "customername3", Email = "*****@*****.**", Password = "******", DateOfBirth = new DateTime(1987, 07, 14), State = "Miami", ContactNumber = "9857893645", Address = "1/234 , Customer street 3", PermanentAccountNumber = "Pan321231", Country = "USA", AccountType = "Saving account"
                }
            }.AsQueryable();

            var mockSet = new Mock <DbSet <CustomerDetails> >();

            mockSet.As <IQueryable <CustomerDetails> >().Setup(m => m.Provider).Returns(data.Provider);
            mockSet.As <IQueryable <CustomerDetails> >().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As <IQueryable <CustomerDetails> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As <IQueryable <CustomerDetails> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockContext = new Mock <IApplicationDbContext>();

            mockContext.Setup(c => c.CustomerDetails).Returns(mockSet.Object);

            // Act
            var service = new CustomerDetailsRepository(mockContext.Object);

            // Act
            service.AddCustomerDetail(data.First());
            var customerDetails = service.GetCustomerDetailsById(data.First().Id);


            // Assert
            Assert.Equal(data.First().Name, customerDetails.Name);
            Assert.Equal(data.First().Id, customerDetails.Id);
            Assert.Equal(data.First().UserName, customerDetails.UserName);
        }
        public void GetCustomerByNameNotPresent_ShouldNotCustomerDetails()
        {
            //Arrange
            var context = MockDbRepository();
            var service = new CustomerDetailsRepository(context.Object);
            var name    = "Virat Kholi";

            //Act
            var customerDetails = service.GetCustomerDetailsByName(name);

            // Assert
            Assert.Empty(customerDetails);
        }
        public void GetCustomerByIdNotPresent_ShouldNotCustomerDetails()
        {
            //Arrange
            var context = MockDbRepository();
            var service = new CustomerDetailsRepository(context.Object);
            var id      = 5000;

            //Act
            var customerDetails = service.GetCustomerDetailsById(id);

            // Assert
            Assert.Null(customerDetails);
        }
        public void GetCustomerById_ShouldReturnCustomerDetails()
        {
            //Arrange
            var context = MockDbRepository();
            var service = new CustomerDetailsRepository(context.Object);
            var id      = 200;

            //Act
            var customerDetails = service.GetCustomerDetailsById(id);

            // Assert
            Assert.NotNull(customerDetails);
            Assert.Equal("customername1", customerDetails.Name);
        }
コード例 #7
0
        public static Bus Boot(PurchaseOrderRepository orderRepo, CustomerDetailsRepository customerDetailsRepository)
        {
            var bus = new Bus();
            var cMembershipsRepo = new CustomerMembershipsRepository();
            var ssRepo           = new ShippingSlipRepository();

            var orderProcessor      = new OrderProcessor(orderRepo, bus);
            var slipGenerator       = new ShippingSlipGenerator(customerDetailsRepository, ssRepo);
            var membershipActivator = new MembershipActivator(cMembershipsRepo);

            bus.Register <ShippingSlipCreated>(slipGenerator.Handle);
            bus.Register <MembershipActivated>(membershipActivator.Handle);
            bus.Register <ProcessOrder>(orderProcessor.Handle);

            return(bus);
        }
        public void GetCustomerByName_ShouldReturnCustomerDetails()
        {
            //Arrange
            var context      = MockDbRepository();
            var service      = new CustomerDetailsRepository(context.Object);
            var customerName = "customername3";

            //Act
            var customerDetails = service.GetCustomerDetailsByName(customerName);

            // Assert
            Assert.NotNull(customerDetails);
            Assert.Equal(2, customerDetails.Count);
            foreach (var customerDetail in customerDetails)
            {
                Assert.Equal(customerName, customerDetail.Name);
            }
        }
コード例 #9
0
 public CustomerDetailsService(CustomerDetailsRepository repository)
 {
     _repository = repository;
 }
コード例 #10
0
        public void CustomerShouldBeRegisteredAndRedirectToSignIn()
        {
            //arrange
            NewRegistrationViewModel                  viewModel                       = new NewRegistrationViewModel();
            IRepository <Customer>                    _customerRepository             = new CustomerDetailsRepository();
            IRepository <CustomerLoginDetails>        _customerLoginDetailsRepository = new CustomerLoginDetailsRepository();
            IRepository <CustomerSubscriptionDetails> _customerSubscriptionRepository = new CustomerSubscriptionDetailsRepository();
            IRepository <Partner> _partnerRepository = new PartnerRepository();
            IRepository <Module>  _moduleRepository  = new ModuleRepository();
            IRepository <Service> _serviceRepository = new ServicesRepository();
            Module             _module            = new Module();
            Service            _service           = new Service();
            CustomerController customerController = new CustomerController(_customerRepository, _customerLoginDetailsRepository, _customerSubscriptionRepository, _partnerRepository, _moduleRepository, _serviceRepository);

            //act
            Partner partner = new Partner
            {
                PartnerName = "TechLabs"
            };

            CustomerLoginDetails loginDetails = new CustomerLoginDetails
            {
                UserName = "******",
                Password = "******"
            };


            viewModel.Modules.Add("Warehouse");

            foreach (var list in viewModel.Modules[0].Split(','))
            {
                _module = new Module
                {
                    ModuleName = list
                };
            }

            viewModel.Services.Add("Online Support");

            foreach (var list in viewModel.ServiceList)
            {
                _service = new Service
                {
                    ServiceName = list.ServiceName
                };
            }

            CustomerSubscriptionDetails subscriptionDetails = new CustomerSubscriptionDetails
            {
                NumberOfNamedUsers = 15,
                Subscription       = CustomerSubscriptionType.OnPremise,
                //Modules = viewModel.Modules[0],
                //Services = viewModel.Services[0]
            };

            Customer customer = new Customer
            {
                CompanyName    = "Raju Company",
                FirstName      = "Raju",
                LastName       = "Vishwakarma",
                PrimaryContact = 7788256485,
                Currency       = CurrencyType.EUR,
                ShortName      = "BPO",
                Email          = "*****@*****.**",
                WebsiteUrl     = "https://mail.google.com",
                Role           = "user"
            };

            customer.Partner      = partner;
            customer.LoginDetails = loginDetails;

            subscriptionDetails.Customer = customer;
            _module.Subscription         = subscriptionDetails;
            _service.Subscription        = subscriptionDetails;

            var result = customerController.NewRegistration(viewModel) as RedirectToRouteResult;

            //assert
            if (result != null)
            {
                Assert.AreEqual("SignIn", result.RouteValues["action"]);
                Assert.IsNotNull(result);
            }
        }