Beispiel #1
0
        public ServiceFunctionController(IServiceDomainService serviceDomainService,
                                         IServiceFunctionService serviceFunctionService,
                                         IFunctionTypeRefDataService functionTypeRefDataService,
                                         IParameterService parameterService,
                                         IContextManager contextManager,
                                         IAppUserContext appUserContext)
        {
            if (serviceDomainService == null)
            {
                throw new ArgumentNullException(nameof(serviceDomainService));
            }

            if (serviceFunctionService == null)
            {
                throw new ArgumentNullException(nameof(serviceFunctionService));
            }

            if (functionTypeRefDataService == null)
            {
                throw new ArgumentNullException(nameof(functionTypeRefDataService));
            }

            if (parameterService == null)
            {
                throw new ArgumentNullException(nameof(parameterService));
            }

            if (contextManager == null)
            {
                throw new ArgumentNullException(nameof(contextManager));
            }

            if (appUserContext == null)
            {
                throw new ArgumentNullException(nameof(appUserContext));
            }

            _serviceDomainService       = serviceDomainService;
            _serviceFunctionService     = serviceFunctionService;
            _functionTypeRefDataService = functionTypeRefDataService;
            _parameterService           = parameterService;
            _contextManager             = contextManager;
            _appUserContext             = appUserContext;
        }
        public TransformTemplateToDesign(IServiceDeskService serviceDeskService,
                                         IServiceDomainService serviceDomainService,
                                         IServiceFunctionService serviceFunctionService,
                                         IServiceComponentService serviceComponentService,
                                         IDomainTypeRefDataService domainTypeRefDataService,
                                         IFunctionTypeRefDataService functionTypeRefDataService,
                                         IServiceDeliveryOrganisationTypeRefDataService serviceDeliveryOrganisationTypeRefDataService,
                                         IServiceDeliveryUnitTypeRefDataService serviceDeliveryUnitTypeRefDataService,
                                         IResolverGroupTypeRefDataService resolverGroupTypeRefDataService,
                                         IUserIdentity userIdentity)
        {
            if (serviceDeskService == null)
            {
                throw new ArgumentNullException(nameof(serviceDeskService));
            }
            if (serviceDomainService == null)
            {
                throw new ArgumentNullException(nameof(serviceDomainService));
            }
            if (serviceFunctionService == null)
            {
                throw new ArgumentNullException(nameof(serviceFunctionService));
            }
            if (serviceComponentService == null)
            {
                throw new ArgumentNullException(nameof(serviceComponentService));
            }
            if (domainTypeRefDataService == null)
            {
                throw new ArgumentNullException(nameof(domainTypeRefDataService));
            }
            if (functionTypeRefDataService == null)
            {
                throw new ArgumentNullException(nameof(functionTypeRefDataService));
            }
            if (serviceDeliveryOrganisationTypeRefDataService == null)
            {
                throw new ArgumentNullException(nameof(serviceDeliveryOrganisationTypeRefDataService));
            }
            if (serviceDeliveryUnitTypeRefDataService == null)
            {
                throw new ArgumentNullException(nameof(serviceDeliveryUnitTypeRefDataService));
            }
            if (resolverGroupTypeRefDataService == null)
            {
                throw new ArgumentNullException(nameof(resolverGroupTypeRefDataService));
            }
            if (userIdentity == null)
            {
                throw new ArgumentNullException(nameof(userIdentity));
            }

            _serviceDeskService         = serviceDeskService;
            _serviceDomainService       = serviceDomainService;
            _serviceFunctionService     = serviceFunctionService;
            _serviceComponentService    = serviceComponentService;
            _domainTypeRefDataService   = domainTypeRefDataService;
            _functionTypeRefDataService = functionTypeRefDataService;
            _serviceDeliveryOrganisationTypeRefDataService = serviceDeliveryOrganisationTypeRefDataService;
            _serviceDeliveryUnitTypeRefDataService         = serviceDeliveryUnitTypeRefDataService;
            _resolverGroupTypeRefDataService = resolverGroupTypeRefDataService;
            _userIdentity = userIdentity;
        }
        public void TestInitilize()
        {
            _mockUnitOfWork = new Mock <IUnitOfWork>();

            _functions = new List <FunctionTypeRefData>
            {
                new FunctionTypeRefData {
                    Id = 1, FunctionName = "System Management Infrastructure", Visible = true, SortOrder = 5
                },
                new FunctionTypeRefData {
                    Id = 2, FunctionName = "Desktop Virtualisation", Visible = true, SortOrder = 5
                },
                new FunctionTypeRefData {
                    Id = 3, FunctionName = "Secure Remote Access", Visible = true, SortOrder = 5
                },
                new FunctionTypeRefData {
                    Id = 4, FunctionName = "Computing Management", Visible = true, SortOrder = 5
                },
                new FunctionTypeRefData {
                    Id = 5, FunctionName = "Computing Management 3663", Visible = false, SortOrder = 5
                },
                new FunctionTypeRefData {
                    Id = 6, FunctionName = "Computing Management Robeco", Visible = false, SortOrder = 5
                },
            };

            _serviceDomains = new List <ServiceDomain>
            {
                new ServiceDomain
                {
                    ServiceDesk = UnitTestHelper.GenerateRandomData <ServiceDesk>(desk =>
                    {
                        desk.CustomerId = CustomerId;
                    }),
                    ServiceFunctions = new List <ServiceFunction>
                    {
                        UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                        {
                            z.FunctionType   = _functions.First(x => x.Id == 1);
                            z.FunctionTypeId = 1;
                            z.ServiceDomain  = new ServiceDomain
                            {
                                Id          = 1,
                                ServiceDesk = new ServiceDesk
                                {
                                    Id         = 1,
                                    CustomerId = 1,
                                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(c =>
                                    {
                                        c.Id = 1;
                                        c.AssignedArchitect = UserNameTwo;
                                        c.Contributors      = new List <Contributor>();
                                    })
                                }
                            };
                        }),
                        UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                        {
                            z.FunctionType   = _functions.First(x => x.Id == 2);
                            z.FunctionTypeId = 2;
                            z.ServiceDomain  = new ServiceDomain
                            {
                                Id          = 2,
                                ServiceDesk = new ServiceDesk
                                {
                                    Id         = 2,
                                    CustomerId = 2,
                                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(c =>
                                    {
                                        c.Id = 2;
                                        c.AssignedArchitect = UserNameTwo;
                                        c.Contributors      = new List <Contributor>();
                                    })
                                }
                            };
                        }),
                        UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                        {
                            z.FunctionType   = _functions.First(x => x.Id == 5);
                            z.FunctionTypeId = 5;
                            z.ServiceDomain  = new ServiceDomain
                            {
                                Id          = 3,
                                ServiceDesk = new ServiceDesk
                                {
                                    Id         = 2,
                                    CustomerId = 2,
                                    Customer   = UnitTestHelper.GenerateRandomData <Customer>(c =>
                                    {
                                        c.Id = 2;
                                        c.AssignedArchitect = UserNameOne;
                                        c.Contributors      = new List <Contributor>
                                        {
                                            new Contributor
                                            {
                                                Id           = 1,
                                                CustomerId   = 3,
                                                EmailAddress = UserNameThree
                                            }
                                        };
                                    })
                                }
                            };
                        })
                    }
                },
                new ServiceDomain
                {
                    ServiceDesk = UnitTestHelper.GenerateRandomData <ServiceDesk>(desk =>
                    {
                        desk.Customer   = UnitTestHelper.GenerateRandomData <Customer>();
                        desk.CustomerId = desk.Customer.Id;
                    }),
                    ServiceFunctions = new List <ServiceFunction>
                    {
                        UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                        {
                            z.FunctionType   = _functions.First(x => x.Id == 3);
                            z.FunctionTypeId = 3;
                        }),
                        UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                        {
                            z.FunctionType   = _functions.First(x => x.Id == 2);
                            z.FunctionTypeId = 2;
                        }),
                        UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                        {
                            z.FunctionType   = _functions.First(x => x.Id == 6);
                            z.FunctionTypeId = 6;
                        })
                    }
                }
            };

            _mockFunctionRefDataRepository = MockRepositoryHelper.Create(_functions);

            _serviceFunctions = new List <ServiceFunction>
            {
                UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                {
                    z.FunctionType   = _functions.First(x => x.Id == 3);
                    z.FunctionTypeId = 3;
                }),
                UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                {
                    z.FunctionType   = _functions.First(x => x.Id == 2);
                    z.FunctionTypeId = 2;
                }),
                UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                {
                    z.FunctionType   = _functions.First(x => x.Id == 6);
                    z.FunctionTypeId = 6;
                }),
                UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                {
                    z.FunctionType   = _functions.First(x => x.Id == 2);
                    z.FunctionTypeId = 2;
                }),
                UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                {
                    z.FunctionType   = _functions.First(x => x.Id == 6);
                    z.FunctionTypeId = 6;
                }),
                UnitTestHelper.GenerateRandomData <ServiceFunction>(z =>
                {
                    z.FunctionType   = _functions.First(x => x.Id == 5);
                    z.FunctionTypeId = 5;
                    z.ServiceDomain  = new ServiceDomain
                    {
                        Id          = 3,
                        ServiceDesk = new ServiceDesk
                        {
                            Id         = 2,
                            CustomerId = 2,
                            Customer   = UnitTestHelper.GenerateRandomData <Customer>(c =>
                            {
                                c.Id = 2;
                                c.AssignedArchitect = UserNameOne;
                                c.Contributors      = new List <Contributor>
                                {
                                    new Contributor
                                    {
                                        Id           = 1,
                                        CustomerId   = 3,
                                        EmailAddress = UserNameThree
                                    }
                                };
                            })
                        }
                    };
                })
            };

            _mockServiceFunctionRepository = MockRepositoryHelper.Create(_serviceFunctions);
            _mockServiceDomainRepository   = MockRepositoryHelper.Create(_serviceDomains);
            _mockParameterService          = new Mock <IParameterService>();

            _functionTypeRefDataService = new FunctionTypeRefDataService(
                _mockFunctionRefDataRepository.Object,
                _mockServiceFunctionRepository.Object,
                _mockServiceDomainRepository.Object,
                _mockParameterService.Object,
                _mockUnitOfWork.Object);

            Bootstrapper.SetupAutoMapper();
        }