public override VmPrintableFormOutput TranslateEntityToVm(ServiceChannelVersioned entity) { var definition = CreateEntityViewModelDefinition(entity) .AddNavigation(i => i.PrintableFormChannels.FirstOrDefault()?.DeliveryAddress, o => o.DeliveryAddress) .AddDictionary( input => input.PrintableFormChannels.FirstOrDefault()?.FormIdentifiers.Select(x => x), output => output.FormIdentifier, k => languageCache.GetByValue(k.LocalizationId) ) .AddDictionary( input => input.PrintableFormChannels.FirstOrDefault()?.FormReceivers.Select(x => x), output => output.FormReceiver, k => languageCache.GetByValue(k.LocalizationId) ) .AddDictionaryList( input => input.PrintableFormChannels.FirstOrDefault()?.ChannelUrls, output => output.FormFiles, k => languageCache.GetByValue(k.LocalizationId) ); definitionHelper .AddAttachmentsDefinition(definition, entity) .AddChannelBaseDefinition(definition); return(definition.GetFinal()); }
public override VmOrganizationListItem TranslateEntityToVm(OrganizationVersioned entity) { var definition = CreateEntityViewModelDefinition <VmOrganizationListItem>(entity) .AddLocalizable(i => i.OrganizationNames.Where(name => name.TypeId == i.OrganizationDisplayNameTypes.FirstOrDefault(type => type.LocalizationId == name.LocalizationId)?.DisplayNameTypeId), o => o.Name) .AddNavigation(i => { var childrenNamesAll = i.UnificRoot.Children.Select(child => child.OrganizationNames.FirstOrDefault( k => k.TypeId == child.OrganizationDisplayNameTypes.FirstOrDefault( type => type.LocalizationId == k.LocalizationId )?.DisplayNameTypeId )?.Name ?? child.OrganizationNames.First(k => k.LocalizationId == RequestLanguageId).Name ); var result = childrenNamesAll.Any() ? childrenNamesAll.Aggregate((o1, o2) => o1 + ", " + o2) : string.Empty; return(result); } , o => o.SubOrganizations) .AddNavigation(i => GetParentName(i), o => o.MainOrganization) .AddSimple(i => i.Modified, o => o.Modified) .AddSimple(i => i.UnificRootId, o => o.UnificRootId) .AddSimple(i => i.PublishingStatusId, o => o.PublishingStatusId) .AddNavigation(i => i.Versioning, o => o.Version) .AddCollection <ILanguageAvailability, VmLanguageAvailabilityInfo>(i => i.LanguageAvailabilities.OrderBy(x => x.Language.OrderNumber), o => o.LanguagesAvailabilities); var model = definition.GetFinal(); if (!model.Name.Any()) { definition.AddDictionary(i => i.OrganizationNames, o => o.Name, k => languageCache.GetByValue(k.LocalizationId)); } return(model); }
public override JsonLanguageLabel TranslateEntityToVm(StatutoryServiceRequirement entity) { return(CreateEntityViewModelDefinition(entity) .AddNavigation(input => input.Requirement, output => output.Label) .AddNavigation(input => languageCache.GetByValue(input.LocalizationId), output => output.Lang) .GetFinal()); }
public override VmOpenApiLanguageItem TranslateEntityToVm(Email entity) { return(CreateEntityViewModelDefinition(entity) .AddNavigation(i => string.IsNullOrEmpty(i.Value) ? null : i.Value, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
public override IVmOpenApiLanguageItem TranslateEntityToVm(ServiceElectronicCommunicationChannel entity) { return(CreateEntityViewModelDefinition <VmOpenApiLanguageItem>(entity) .AddNavigation(i => i.ElectronicCommunicationChannel, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
public override VmOpenApiNameTypeByLanguage TranslateEntityToVm(OrganizationDisplayNameType entity) { return(CreateEntityViewModelDefinition <VmOpenApiNameTypeByLanguage>(entity) .AddNavigation(i => typesCache.GetByValue <NameType>(i.DisplayNameTypeId), o => o.Type) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
public override VmOpenApiLanguageItem TranslateEntityToVm(PrintableFormChannelReceiver entity) { return(CreateEntityViewModelDefinition <VmOpenApiLanguageItem>(entity) .AddNavigation(i => string.IsNullOrEmpty(i.FormReceiver) ? null : i.FormReceiver, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
protected ITranslationDefinitions <ServiceChannelVersioned, TVmOpenApiServiceChannel> CreateChannelDefinitions(ServiceChannelVersioned entity) { var commonForAllId = typesCache.Get <ServiceChannelConnectionType>(ServiceChannelConnectionTypeEnum.CommonForAll.ToString()); return(CreateEntityViewModelDefinition(entity) // We have to use unique root id as id! .AddSimple(i => i.UnificRootId, o => o.Id) .AddCollection(i => i.ServiceChannelNames, o => o.ServiceChannelNames) .AddNavigation(i => typesCache.GetByValue <ServiceChannelType>(i.TypeId), o => o.ServiceChannelType) .AddCollection(i => i.ServiceChannelDescriptions, o => o.ServiceChannelDescriptions) .AddCollection(i => i.Languages.OrderBy(j => j.Order).ToList().Select(j => j.Language.Code).ToList(), o => o.Languages) .AddCollection(i => i.WebPages, o => o.WebPages) .AddCollection(i => i.ServiceChannelServiceHours.Select(x => x.ServiceHours).ToList().OrderBy(x => x.OrderNumber), o => o.ServiceHours) // For support phones we only match items with type Phone. .AddCollection(i => i.Phones.Where(p => p.Phone.TypeId == typesCache.Get <PhoneNumberType>(PhoneNumberTypeEnum.Phone.ToString())).Select(p => p.Phone).OrderBy(p => p.OrderNumber).ToList(), o => o.SupportPhones) .AddCollection(i => i.Emails.Select(e => e.Email).OrderBy(e => e.OrderNumber), o => o.SupportEmails) .AddNavigation(i => typesCache.GetByValue <PublishingStatusType>(i.PublishingStatusId), o => o.PublishingStatus) .AddSimple(i => i.ConnectionTypeId == commonForAllId ? true : false, o => o.IsVisibleForAll) .AddCollection(i => i.LanguageAvailabilities.Select(l => languageCache.GetByValue(l.LanguageId)).ToList(), o => o.AvailableLanguages) .AddNavigation(i => i.AreaInformationTypeId.IsAssigned() ? typesCache.GetByValue <AreaInformationType>(i.AreaInformationTypeId.Value) : null, o => o.AreaType) .AddCollection(i => i.AreaMunicipalities.Select(m => m.Municipality), o => o.AreaMunicipalities) .AddCollection(i => i.Areas.Select(a => a.Area), o => o.Areas) .AddCollection(i => i.UnificRoot?.ServiceServiceChannels, o => o.Services) .AddSimple(i => i.Modified, o => o.Modified)); }
public override JsonLanguageLabel TranslateEntityToVm(LawWebPage entity) { return(CreateEntityViewModelDefinition(entity) .AddNavigation(input => languageCache.GetByValue(input.WebPage.LocalizationId), output => output.Lang) .AddNavigation(input => input.WebPage.Url, output => output.Label) .GetFinal()); }
protected ITranslationDefinitions <Attachment, TVmOpenApiAttachment> CreateBaseDefinitions(Attachment entity) { return(CreateEntityViewModelDefinition <TVmOpenApiAttachment>(entity) .AddNavigation(i => i.Name, o => o.Name) .AddNavigation(i => i.Description, o => o.Description) .AddNavigation(i => i.Url, o => o.Url) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language)); }
public override VmKeywordItem TranslateEntityToVm(Keyword entity) { return(CreateEntityViewModelDefinition <VmKeywordItem>(entity) .AddNavigation(i => i.Name, o => o.Name) .AddSimple(i => i.Id, o => o.Id) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.LocalizationCode) .GetFinal()); }
protected ITranslationDefinitions <WebPage, TModel> CreateBaseEntityVmDefinitions(WebPage entity) { return(CreateEntityViewModelDefinition <TModel>(entity) .AddSimple(i => i.Id, o => o.Id) .AddNavigation(i => i.Name, o => o.Value) .AddNavigation(i => i.Url, o => o.Url) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language)); }
public override VmJsonTypeName TranslateEntityToVm(INameReference entity) { return(CreateEntityViewModelDefinition <VmJsonTypeName>(entity) .AddNavigation(input => input.Name, output => output.Name) .AddSimple(input => input.ReferenceId, output => output.TypeId) .AddNavigation(input => languageCache.GetByValue(input.LocalizationId), output => output.Language) .GetFinal()); }
public override VmOpenApiLocalizedListItem TranslateEntityToVm(PrintableFormChannelUrl entity) { return(CreateEntityViewModelDefinition <VmOpenApiLocalizedListItem>(entity) .AddNavigation(i => typesCache.GetByValue <PrintableFormChannelUrlType>(i.TypeId), o => o.Type) .AddNavigation(i => i.Url, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
public override VmLaw TranslateEntityToVm(Law entity) { return(CreateEntityViewModelDefinition(entity) .AddSimple(i => i.Id, o => o.Id) .AddDictionary(i => i.WebPages.Select(x => x.WebPage).GroupBy(x => x.LocalizationId).Select(x => x.OrderByDescending(y => y.Modified).First()), o => o.UrlAddress, web => languageCache.GetByValue(web.LocalizationId)) .AddDictionary(i => i.Names, o => o.Name, name => languageCache.GetByValue(name.LocalizationId)) .GetFinal()); }
public override VmOpenApiLocalizedListItem TranslateEntityToVm(TEntity entity) { return(CreateEntityViewModelDefinition <VmOpenApiLocalizedListItem>(entity) .AddNavigation(i => string.IsNullOrEmpty(i.Name) ? null : i.Name, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .AddNavigation(i => typesCache.GetByValue <NameType>(i.TypeId), o => o.Type) .GetFinal()); }
public override V4VmOpenApiEmail TranslateEntityToVm(Email entity) { return(CreateEntityViewModelDefinition(entity) .AddNavigation(i => i.Description, o => o.Value) .AddNavigation(i => i.Value, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .AddSimple(i => i.OrderNumber, o => o.OrderNumber) .GetFinal()); }
public override VmOpenApiLanguageItem TranslateEntityToVm(TEntity entity) { var description = convertToMarkDown ? textManager.ConvertToMarkDown(entity.Description) : entity.Description; return(CreateEntityViewModelDefinition <VmOpenApiLanguageItem>(entity) .AddNavigation(i => string.IsNullOrEmpty(description) ? null : description, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
public override VmOpenApiLanguageItem TranslateEntityToVm(StatutoryServiceRequirement entity) { var requirement = textManager.ConvertToMarkDown(entity.Requirement); return(CreateEntityViewModelDefinition(entity) .AddNavigation(i => string.IsNullOrEmpty(requirement) ? null : requirement, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .GetFinal()); }
public override VmOpenApiLanguageItem TranslateEntityToVm(ServiceChannelEmail entity) { if (entity == null || entity.Email == null) { return(null); } return(CreateEntityViewModelDefinition <VmOpenApiLanguageItem>(entity) .AddNavigation(i => string.IsNullOrEmpty(i.Email.Value) ? null : i.Email.Value, o => o.Value) .AddNavigation(i => languageCache.GetByValue(i.Email.LocalizationId), o => o.Language) .GetFinal()); }
public override VmAddressSimple TranslateEntityToVm(AddressForeign entity) { return(CreateEntityViewModelDefinition(entity) //.AddLocalizable(input => input.ForeignTextNames, output => output.Street) .AddDictionary( i => i.ForeignTextNames, o => o.ForeignAddressText, k => languageCache.GetByValue(k.LocalizationId) ) .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()); }
protected ITranslationDefinitions <Phone, TModel> CreateEntityVmBaseDefinitions(Phone entity) { return(CreateEntityViewModelDefinition(entity) .AddNavigation(i => i.Number, o => o.Number) .AddNavigation(i => i.PrefixNumber?.Code, o => o.PrefixNumber) .AddNavigation(i => i.AdditionalInformation, o => o.AdditionalInformation) .AddNavigation(i => i.ChargeDescription, o => o.ChargeDescription) .AddNavigation(i => typesCache.GetByValue <ServiceChargeType>(i.ChargeTypeId), o => o.ServiceChargeType) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .AddSimple(i => string.IsNullOrEmpty(i.PrefixNumber?.Code) ? true : false, o => o.IsFinnishServiceNumber) .AddSimple(i => i.OrderNumber, o => o.OrderNumber)); }
public override VmPrintableFormChannelStep1 TranslateEntityToVm(PrintableFormChannel entity) { return(CreateEntityViewModelDefinition(entity) .AddDictionary( i => i.FormIdentifiers, o => o.FormIdentifier, k => languageCache.GetByValue(k.LocalizationId) ) .AddDictionary( i => i.FormReceivers, o => o.FormReceiver, k => languageCache.GetByValue(k.LocalizationId) ) .AddNavigation(i => i.DeliveryAddress ?? new Address(), o => o.DeliveryAddress) .AddCollection(input => languageCache.FilterCollection(input.ChannelUrls, RequestLanguageCode), output => output.WebPages) //.AddLocalizable(i => i.FormIdentifiers, o => o.FormIdentifier) //.AddLocalizable(i => i.FormReceivers, o => o.FormReceiver) .AddNavigation(i => i.DeliveryAddress, o => o.DeliveryAddress) .AddCollection(input => languageCache.FilterCollection(input.ChannelUrls, RequestLanguageCode), output => output.WebPages) .GetFinal()); }
public override VmEntityNames TranslateEntityToVm(ServiceChannelVersioned entity) { var model = CreateEntityViewModelDefinition(entity) .AddSimple(i => i.Id, o => o.Id) .AddCollection <ILanguageAvailability, VmLanguageAvailabilityInfo>(i => i.LanguageAvailabilities, o => o.LanguagesAvailabilities).GetFinal(); model.Names = entity.ServiceChannelNames.Where( x => x.TypeId == typesCache.Get <NameType>(NameTypeEnum.Name.ToString()) && entity.LanguageAvailabilities.Select(y => y.LanguageId).Contains(x.LocalizationId)) .ToDictionary(x => languageCache.GetByValue(x.LocalizationId), x => x.Name); return(model); }
public override TModel TranslateEntityToVm(Phone entity) { return(CreateEntityViewModelDefinition(entity) .AddNavigation(i => typesCache.GetByValue <PhoneNumberType>(i.TypeId), o => o.Type) .AddNavigation(i => i.AdditionalInformation, o => o.AdditionalInformation) .AddNavigation(i => i.Number, o => o.Number) .AddNavigation(i => i.PrefixNumber?.Code, o => o.PrefixNumber) .AddNavigation(i => i.ChargeDescription, o => o.ChargeDescription) .AddNavigation(i => typesCache.GetByValue <ServiceChargeType>(i.ChargeTypeId), o => o.ServiceChargeType) .AddNavigation(i => languageCache.GetByValue(i.LocalizationId), o => o.Language) .AddSimple(i => string.IsNullOrEmpty(i.PrefixNumber?.Code) ? true : false, o => o.IsFinnishServiceNumber) .GetFinal()); }
public override VmServiceListItem TranslateEntityToVm(ServiceVersioned entity) { var definition = CreateEntityViewModelDefinition <VmServiceListItem>(entity) .AddNavigation(i => VersioningManager.ApplyLanguageFilterFallback(i.ServiceNames.Where(k => k.TypeId == typesCache.Get <NameType>(NameTypeEnum.Name.ToString())), RequestLanguageId)?.Name ?? "N/A", o => o.Name) .AddSimple(i => i.PublishingStatusId, o => o.PublishingStatusId) .AddSimple(i => i.UnificRootId, o => o.UnificRootId) .AddSimple(i => i.TypeId ?? VersioningManager.ApplyPublishingStatusFilterFallback(i.StatutoryServiceGeneralDescription?.Versions).TypeId, o => o.ServiceTypeId) .AddNavigation( i => typesCache.GetByValue <ServiceType>(i.TypeId ?? VersioningManager.ApplyPublishingStatusFilterFallback(i.StatutoryServiceGeneralDescription?.Versions).TypeId), o => o.ServiceType) .AddCollection(i => (VersioningManager.ApplyPublishingStatusFilterFallback(i.StatutoryServiceGeneralDescription?.Versions) != null ? i.ServiceOntologyTerms.Select(x => x.OntologyTerm) .Union( VersioningManager.ApplyPublishingStatusFilterFallback(i.StatutoryServiceGeneralDescription?.Versions).OntologyTerms.Select(x => x.OntologyTerm)) : i.ServiceOntologyTerms.Select(x => x.OntologyTerm)).Cast <IFintoItemBase>() , o => o.OntologyTerms) .AddSimple(i => i.Modified, o => o.Modified) .AddSimpleList(i => VersioningManager.ApplyPublishingStatusFilterFallback(i.StatutoryServiceGeneralDescription?.Versions) != null ? i.ServiceServiceClasses.Select(s => s.ServiceClassId) .Union( VersioningManager.ApplyPublishingStatusFilterFallback(i.StatutoryServiceGeneralDescription?.Versions) .ServiceClasses.Select(s => s.ServiceClassId)) : i.ServiceServiceClasses.Select(s => s.ServiceClassId) , o => o.ServiceClasses) .AddCollection <ILanguageAvailability, VmLanguageAvailabilityInfo>(i => i.LanguageAvailabilities.OrderBy(x => x.Language.OrderNumber), o => o.LanguagesAvailabilities) .AddNavigation(i => i.Versioning, o => o.Version) .AddSimpleList(i => i.OrganizationServices.Select(x => x.OrganizationId).Union(new List <Guid> { i.OrganizationId }), o => o.Organizations) .AddSimpleList(i => i.ServiceProducers.Select(x => x.Id), o => o.Producers); if (entity.UnificRoot != null) { definition.AddSimple(i => i.UnificRoot.ServiceServiceChannels.Count( x => x.ServiceChannel.Versions.Any(j => j.PublishingStatusId == typesCache.Get <PublishingStatusType>(PublishingStatus.Published.ToString()) || j.PublishingStatusId == typesCache.Get <PublishingStatusType>(PublishingStatus.Draft.ToString()))), o => o.ConnectedChannelsCount); } var model = definition.GetFinal(); if (!model.Name.Any()) { definition.AddDictionary(i => i.ServiceNames, o => o.Name, k => languageCache.GetByValue(k.LocalizationId)); } return(model); }
public override VmPrintableFormOutput TranslateEntityToVm(PrintableFormChannel entity) { var result = CreateEntityViewModelDefinition(entity) .AddDictionary( i => i.FormIdentifiers, o => o.FormIdentifier, k => languageCache.GetByValue(k.LocalizationId) ) .AddDictionary( i => i.FormReceivers, o => o.FormReceiver, k => languageCache.GetByValue(k.LocalizationId) ) .AddNavigation(i => i.DeliveryAddress ?? new Address(), o => o.DeliveryAddress) .AddDictionaryList( input => languageCache.FilterCollection(input.ChannelUrls, RequestLanguageCode).OrderBy(x => x.OrderNumber).ThenBy(x => x.Created), output => output.FormFiles, k => languageCache.GetByValue(k.LocalizationId) ) .GetFinal(); return(result); }
public override VmAddressSimple TranslateEntityToVm(AddressPostOfficeBox entity) { return(CreateEntityViewModelDefinition(entity) //.AddPartial(i => i, o => o as VmAddressSimpleBase) .AddSimple(input => input.MunicipalityId, output => output.Municipality) .AddNavigation(input => input.PostalCode != null && input.PostalCode.Code != "Undefined" ? input.PostalCode : null, output => output.PostalCode) //.AddLocalizable(input => input.PostOfficeBoxNames, output => output.PoBox) .AddDictionary( i => i.PostOfficeBoxNames, o => o.PoBox, k => languageCache.GetByValue(k.LocalizationId) ) .GetFinal()); }
protected ITranslationDefinitions <OrganizationVersioned, TVmOpenApiOrganization> CreateBaseEntityVmDefinitions(OrganizationVersioned entity) { return(CreateEntityViewModelDefinition <TVmOpenApiOrganization>(entity) .AddNavigation(i => i.Oid, o => o.Oid) .AddNavigation(i => i.Business?.Code, o => o.BusinessCode) .AddNavigation(i => i.Business?.Name, o => o.BusinessName) .AddNavigation(i => i.TypeId.HasValue ? typesCache.GetByValue <OrganizationType>(i.TypeId.Value) : null, o => o.OrganizationType) .AddCollection(i => i.OrganizationNames, o => o.OrganizationNames) .AddCollection(i => i.OrganizationWebAddress, o => o.WebPages) .AddNavigation(i => typesCache.GetByValue <PublishingStatusType>(i.PublishingStatusId), o => o.PublishingStatus) .AddCollection(i => i.OrganizationDisplayNameTypes, o => o.DisplayNameType) .AddCollection(i => i.LanguageAvailabilities.Select(l => languageCache.GetByValue(l.LanguageId)).ToList(), o => o.AvailableLanguages) .AddNavigation(i => typesCache.GetByValue <AreaInformationType>(i.AreaInformationTypeId), o => o.AreaType)); }