예제 #1
0
        public override VmWebPageChannel TranslateEntityToVm(ServiceChannelVersioned entity)
        {
            var definition = CreateEntityViewModelDefinition(entity)
                             .AddPartial(input => input.WebpageChannels?.FirstOrDefault(), output => output);

            definitionHelper
            .AddLanguagesDefinition(definition)
            .AddChannelBaseDefinition(definition);
            return(definition.GetFinal());
        }
        public override VmPhoneChannel TranslateEntityToVm(ServiceChannelVersioned entity)
        {
            var definition = CreateEntityViewModelDefinition(entity)
                             .AddDictionary(input => input.WebPages.Select(x => x.WebPage), output => output.WebPage, key => languageCache.GetByValue(key.LocalizationId));

            definitionHelper
            .AddLanguagesDefinition(definition)
            .AddChannelBaseDefinition(definition)
            .AddOpeningHoursDefinition(definition);
            return(definition.GetFinal());
        }
        public override VmServiceLocationChannel TranslateEntityToVm(ServiceChannelVersioned entity)
        {
            var definition = CreateEntityViewModelDefinition(entity)
                             .AddPartial(input => input.ServiceLocationChannels?.FirstOrDefault(), output => output);

            definitionHelper
            .AddLanguagesDefinition(definition)
            .AddChannelBaseDefinition(definition)
            .AddOpeningHoursDefinition(definition);
            definition
            .AddDictionaryList(i =>
                               i.Phones.Select(x => x.Phone).Where(x => typesCache.Compare <PhoneNumberType>(x.TypeId, PhoneNumberTypeEnum.Phone.ToString())).OrderBy(x => x.OrderNumber).ThenBy(x => x.Created),
                               o => o.PhoneNumbers,
                               x => languageCache.GetByValue(x.LocalizationId))
            .AddDictionaryList(
                i => i.Phones.Select(x => x.Phone).Where(x => typesCache.Compare <PhoneNumberType>(x.TypeId, PhoneNumberTypeEnum.Fax.ToString())).OrderBy(x => x.OrderNumber).ThenBy(x => x.Created),
                o => o.FaxNumbers,
                x => languageCache.GetByValue(x.LocalizationId));
            definition.AddDictionaryList(i => i.WebPages.OrderBy(x => x.WebPage.OrderNumber).ThenBy(x => x.WebPage.Created), o => o.WebPages, key => languageCache.GetByValue(key.WebPage.LocalizationId));
            return(definition.GetFinal());
        }