private HashSet <string> GetServiceChannelAvailableLanguages(IVmOpenApiServiceChannelIn vModel)
        {
            var list = new HashSet <string>();

            list.GetAvailableLanguages(vModel.ServiceChannelNames);
            list.GetAvailableLanguages(vModel.ServiceChannelDescriptions);

            return(list);
        }
Пример #2
0
        private ChannelService Arrange(IVmOpenApiServiceChannelIn vm, ServiceChannelTypeEnum channelType)
        {
            var userName = "******";

            publishedEntity.TypeId = TypeCache.Get <ServiceChannelType>(channelType.ToString());

            unitOfWorkMockSetup.Setup(uw => uw.ApplyIncludes(
                                          It.IsAny <IQueryable <ServiceChannelVersioned> >(),
                                          It.IsAny <Func <IQueryable <ServiceChannelVersioned>, IQueryable <ServiceChannelVersioned> > >(),
                                          It.IsAny <bool>()
                                          )).Returns(new List <ServiceChannelVersioned> {
                publishedEntity
            }.AsQueryable());
            var unitOfWork = unitOfWorkMockSetup.Object;

            var contextManager = new TestContextManager(unitOfWork, unitOfWork);

            UserIdentificationMock.Setup(s => s.UserName).Returns(userName);
            ExternalSourceRepoMock.Setup(s => s.All())
            .Returns(new List <ExternalSource>()
            {
                new ExternalSource {
                    SourceId = sourceId + "2", RelationId = userName, ObjectType = typeof(Model.Models.ServiceChannel).Name
                }
            }.AsQueryable());     // does not return same source id

            var serviceUtilities = new ServiceUtilities(UserIdentificationMock.Object, LockingManager, contextManager, UserOrganizationService,
                                                        VersioningManager, UserInfoService, UserOrganizationChecker);

            translationManagerVModelMockSetup.Setup(t => t.Translate <IVmOpenApiServiceChannelIn, ServiceChannelVersioned>(vm, unitOfWork))
            .Returns(publishedEntity);
            translationManagerVModelMockSetup.Setup(t => t.TranslateAll <VmOpenApiConnection, ServiceServiceChannel>(It.IsAny <List <VmOpenApiConnection> >(), unitOfWork))
            .Returns(new List <ServiceServiceChannel>());

            ArrangeTranslationManager(channelType);

            CommonServiceMock.Setup(s => s.PublishAllAvailableLanguageVersions <ServiceChannelVersioned, ServiceChannelLanguageAvailability>(publishedEntity.Id, It.IsAny <Expression <Func <ServiceChannelLanguageAvailability, bool> > >()))
            .Returns(new PublishingResult());

            return(new ChannelService(contextManager, UserIdentification, translationManagerMockSetup.Object, TranslationManagerVModel,
                                      Logger, ServiceChannelLogic, serviceUtilities, CommonService, new VmListItemLogic(), DataUtils, new VmOwnerReferenceLogic(),
                                      AddressService, CacheManager, PublishingStatusCache, VersioningManager, UserOrganizationChecker, UrlService));
        }
        private void SetAddressProperties(IVmOpenApiServiceChannelIn model)
        {
            if (model == null && !(model is VmOpenApiServiceLocationChannelInVersionBase))
            {
                return;
            }

            var slModel = model as VmOpenApiServiceLocationChannelInVersionBase;

            if (slModel == null || slModel.Addresses == null)
            {
                return;
            }

            slModel.Addresses.ForEach(a =>
            {
                if (a.Type == AddressConsts.LOCATION)
                {
                    a.Type = AddressCharacterEnum.Visiting.ToString();
                }

                switch (a.SubType)
                {
                case AddressConsts.ABROAD:
                    a.SubType = AddressTypeEnum.Foreign.ToString();
                    break;

                case AddressConsts.MULTIPOINT:
                    a.SubType = AddressTypeEnum.Moving.ToString();
                    break;

                case AddressConsts.SINGLE:
                    a.SubType = AddressTypeEnum.Street.ToString();
                    break;

                default:
                    break;
                }
            });
        }