コード例 #1
0
        public void DomainTypeRefDataService_Create_CallSaveChanges()
        {
            #region Arrange

            var domain = new DomainTypeRefData()
            {
                Id         = 5,
                DomainName = "MJJ Management",
                SortOrder  = 5
            };

            #endregion

            #region Act

            var response = _domainTypeRefDataService.Create(domain);

            #endregion

            #region Assert

            _mockDomainTypeRefDataRepository.Verify(x => x.Insert(It.IsAny <DomainTypeRefData>()), Times.Once());
            _mockUnitOfWork.Verify(x => x.Save(), Times.Exactly(1));

            Assert.IsNotNull(response);
            Assert.AreEqual(5, response);

            #endregion
        }
コード例 #2
0
        public void DomainTypeRefDataService_Update_CallSaveChanges()
        {
            #region Arrange

            var domain = new DomainTypeRefData()
            {
                Id         = 4,
                DomainName = "MJJ Management",
            };

            #endregion

            #region Act

            _domainTypeRefDataService.Update(domain);

            #endregion

            #region Assert

            _mockDomainTypeRefDataRepository.Verify(x => x.Update(It.IsAny <DomainTypeRefData>()), Times.Once());
            _mockUnitOfWork.Verify(x => x.Save(), Times.Exactly(1));

            #endregion
        }
コード例 #3
0
        public DomainTypeRefData InsertorUpdate(string typeName)
        {
            var domainType = _domainTypeRefDataRepository.Query(x => x.DomainName == typeName.Trim()).FirstOrDefault();

            if (domainType == null)
            {
                domainType = new DomainTypeRefData
                {
                    DomainName = typeName.Trim(),
                    SortOrder  = 5,
                    Visible    = false
                };

                _domainTypeRefDataRepository.Insert(domainType);
                _unitOfWork.Save();
            }
            else
            {
                var customerSpecificTypeThreshold = _parameterService.GetParameterByNameAndCache <int>(ParameterNames.CustomerSpecificTypeThreshold);
                if (!domainType.Visible &&
                    GetNumberOfDomainTypeReferences(domainType.Id) >= customerSpecificTypeThreshold - 1)
                {
                    domainType.Visible = true;
                    _domainTypeRefDataRepository.Update(domainType);
                    _unitOfWork.Save();
                }
            }

            return(domainType);
        }
コード例 #4
0
 public void Delete(DomainTypeRefData entity)
 {
     RetryableOperation.Invoke(ExceptionPolicies.General, () =>
     {
         _domainTypeRefDataRepository.Delete(entity);
         _unitOfWork.Save();
     });
 }
コード例 #5
0
 public int Create(DomainTypeRefData entity)
 {
     RetryableOperation.Invoke(ExceptionPolicies.General,
                               () =>
     {
         _domainTypeRefDataRepository.Insert(entity);
         _unitOfWork.Save();
     });
     return(entity.Id);
 }
コード例 #6
0
        public DomainTypeRefData GetById(int id)
        {
            DomainTypeRefData result = null;

            RetryableOperation.Invoke(ExceptionPolicies.General,
                                      () =>
            {
                result = _domainTypeRefDataRepository.GetById(id);
            });
            return(result);
        }
コード例 #7
0
        public void Execute()
        {
            foreach (var serviceDomain in _serviceDomains)
            {
                var serviceDomainTypeRefData = serviceDomain.DomainType;
                if (!_dataContext.DomainTypeRefData.Any(x => x.DomainName == serviceDomainTypeRefData.DomainName))
                {
                    var domainType = new DomainTypeRefData
                    {
                        DomainName = serviceDomainTypeRefData.DomainName,
                        Visible    = serviceDomainTypeRefData.Visible,
                        SortOrder  = serviceDomainTypeRefData.SortOrder
                    };

                    _dataContext.DomainTypeRefData.Add(domainType);
                    _unitOfWork.Save();
                }

                var domainTypeRefData = _dataContext.DomainTypeRefData.Single(x => x.DomainName == serviceDomainTypeRefData.DomainName);

                var newServiceDomain = new ServiceDomain
                {
                    ServiceDeskId    = _serviceDesk.Id,
                    ServiceDesk      = _serviceDesk,
                    DomainType       = domainTypeRefData,
                    DomainTypeId     = domainTypeRefData.Id,
                    AlternativeName  = serviceDomain.AlternativeName,
                    ServiceFunctions = new List <ServiceFunction>(),
                    InsertedBy       = serviceDomain.InsertedBy,
                    InsertedDate     = serviceDomain.InsertedDate,
                    UpdatedBy        = serviceDomain.UpdatedBy,
                    UpdatedDate      = serviceDomain.UpdatedDate
                };

                _serviceDesk.ServiceDomains.Add(newServiceDomain);
                _unitOfWork.Save();

                var serviceFunctionProcessor = new ServiceFunctionProcessor(newServiceDomain, serviceDomain.ServiceFunctions.ToList(), _dataContext, _unitOfWork);
                serviceFunctionProcessor.Execute();

                foreach (var serviceFunction in serviceDomain.ServiceFunctions)
                {
                    var targetServiceFunction = newServiceDomain.ServiceFunctions.Single(x => x.FunctionType.FunctionName == serviceFunction.FunctionType.FunctionName);
                    foreach (var serviceComponent in serviceFunction.ServiceComponents.Where(x => x.ComponentLevel == 1))
                    {
                        var serviceComponentProcessor = new ServiceComponentProcessor(_serviceDesk, targetServiceFunction, serviceComponent, _dataContext, _unitOfWork);
                        serviceComponentProcessor.Execute();
                    }
                }
            }
        }