public override VmListItem TranslateEntityToVm(OrganizationVersioned entity) { var psPublished = typesCache.Get <PublishingStatusType>(PublishingStatus.Published.ToString()); var model = CreateEntityViewModelDefinition(entity) .AddLocalizable(i => i.OrganizationNames.Where(name => name.TypeId == i.OrganizationDisplayNameTypes.FirstOrDefault(type => type.LocalizationId == name.LocalizationId)?.DisplayNameTypeId).Cast <IText>(), o => o.Name) .AddSimple(i => i.UnificRootId, o => o.Id) .AddNavigation(i => new OrganizationVersioned { Id = i.UnificRootId, OrganizationNames = i.OrganizationNames .Where(name => entity.LanguageAvailabilities.Any(x => x.LanguageId == name.LocalizationId && x.StatusId == psPublished) && name.TypeId == i.OrganizationDisplayNameTypes.FirstOrDefault(type => type.LocalizationId == name.LocalizationId)?.DisplayNameTypeId).ToList() } as INameReferences, o => o.Translation) .GetFinal(); if (string.IsNullOrEmpty(model.Name)) { model.Name = entity.OrganizationNames.Where(name => name.TypeId == entity.OrganizationDisplayNameTypes.FirstOrDefault(type => type.LocalizationId == name.LocalizationId)?.DisplayNameTypeId) .OrderBy(x => languageOrderCache.Get(x.LocalizationId)) .FirstOrDefault()?.Name; } return(model); }
private IEnumerable <IDescription> GetDescription(IDescriptionReferences entity) { if (entity != null) { return(entity.Descriptions.OrderBy(x => orderCache.Get(x.LocalizationId))); } return(new List <IDescription>()); }
public override VmServiceSearchListItem TranslateEntityToVm(ServiceVersioned entity) { var languageId = entity.ServiceNames .Select(x => x.LocalizationId) .OrderBy(x => languageOrderCache.Get(x)) .First(); SetLanguage(languageId); var serviceSearch = CreateEntityViewModelDefinition <VmServiceSearchListItem>(entity) .AddPartial(i => i, o => o as VmServiceListItem) .GetFinal(); return(serviceSearch); }
public override VmGeneralDescriptionSearchListItem TranslateEntityToVm(StatutoryServiceGeneralDescriptionVersioned entity) { var languageId = entity.Names .Select(x => x.LocalizationId) .OrderBy(x => languageOrderCache.Get(x)) .First(); SetLanguage(languageId); var generalDescription = CreateEntityViewModelDefinition <VmGeneralDescriptionSearchListItem>(entity) .AddPartial(i => i, o => o as VmGeneralDescriptionListItem) .GetFinal(); return(generalDescription); }
public override IVmTranslatedItem TranslateEntityToVm(INameReferences entity) { var model = CreateEntityViewModelDefinition(entity) .AddLocalizable(i => i.Names, o => o.DefaultTranslation) .AddNavigation(i => i, o => o.Translation) .GetFinal(); var nameReference = entity as INameReferences; if (nameReference != null && string.IsNullOrEmpty(model.DefaultTranslation)) { model.DefaultTranslation = nameReference.Names .OrderBy(x => orderCache.Get(x.LocalizationId)) .FirstOrDefault()?.Name; } return(model); }
public override VmTreeItem TranslateEntityToVm(OrganizationTreeItem entity) { var model = CreateEntityViewModelDefinition <VmTreeItem>(entity) // .AddLocalizable(i => i.Organization.OrganizationNames.Where(name => name.TypeId == i.Organization.DisplayNameTypeId).Cast<IText>(), o => o.Name) .AddPartial(i => i.Organization, o => o as VmListItem) .AddSimple(i => i.Organization.UnificRootId, o => o.Id) .AddSimple(i => i.Children == null || i.Children.Count == 0, o => o.IsLeaf) .GetFinal(); if (string.IsNullOrEmpty(model.Name)) { model.Name = entity.Organization.OrganizationNames.Where(name => name.TypeId == entity.Organization.OrganizationDisplayNameTypes.FirstOrDefault(type => type.LocalizationId == name.LocalizationId)?.DisplayNameTypeId) .OrderBy(x => languageOrderCache.Get(x.LocalizationId)) .FirstOrDefault()?.Name; } return(model); }
public ITranslationDefinitions <TIn, TOut> AddLanguageAvailabilitiesDefinition <TIn, TOut, TLanguagesAvailability>(ITranslationDefinitions <TIn, TOut> definition, ILanguageOrderCache orderCache) where TIn : IMultilanguagedEntity <TLanguagesAvailability> where TOut : ILanguagesAvailabilities where TLanguagesAvailability : LanguageAvailability { return(definition.AddCollection <ILanguageAvailability, VmLanguageAvailabilityInfo>( i => i.LanguageAvailabilities.OrderBy(x => orderCache.Get(x.LanguageId)), o => o.LanguagesAvailabilities)); }
public override VmEntityHeaderBase TranslateEntityToVm(IBaseInformation entity) { return(CreateEntityViewModelDefinition(entity) .AddDictionary(input => GetName(input, NameTypeEnum.Name), output => output.Name, name => languageCache.GetByValue(name.LocalizationId)) .AddNavigation(i => i.Versioning, o => o.Version) .AddCollection(i => i.LanguageAvailabilitiesReference.OrderBy(x => languageOrderCache.Get(x.LanguageId)), o => o.LanguagesAvailabilities) .AddSimple(i => i.Id, o => o.Id) .AddSimple(i => i.UnificRootId, o => o.UnificRootId) .AddSimple(i => i.PublishingStatusId, o => o.PublishingStatus).GetFinal()); }
public override VmChannelListItem TranslateEntityToVm(ServiceChannelVersioned entity) { var definition = CreateEntityViewModelDefinition <VmChannelListItem>(entity) .AddNavigation(i => VersioningManager.ApplyLanguageFilterFallback(i.ServiceChannelNames.Where(k => k.TypeId == typesCache.Get <NameType>(NameTypeEnum.Name.ToString())), RequestLanguageId)?.Name ?? "N/A", o => o.Name) //.AddPartial(i => i.Type, o => o as IVmEntityType) .AddSimple(i => EntityTypeEnum.Channel, o => o.MainEntityType) .AddNavigation(i => typesCache.GetByValue <ServiceChannelType>(i.TypeId), o => o.SubEntityType) .AddSimple(i => i.TypeId, o => o.TypeId) .AddSimple(i => i.UnificRootId, o => o.UnificRootId) .AddSimple(i => i.PublishingStatusId, o => o.PublishingStatusId) .AddLocalizable(i => i.Phones.Select(x => x.Phone), o => o.PhoneNumber) .AddLocalizable(i => i.PrintableFormChannels?.FirstOrDefault()?.FormIdentifiers, o => o.FormIdentifier) .AddSimple(i => i.Modified, o => o.Modified) .AddSimple(i => i.Id, o => o.Id) .AddSimple(i => i.UnificRootId, o => o.RootId) .AddCollection <ILanguageAvailability, VmLanguageAvailabilityInfo>(i => i.LanguageAvailabilities.OrderBy(x => languageOrderCache.Get(x.LanguageId)), o => o.LanguagesAvailabilities) .AddNavigation(i => i.Versioning, o => o.Version) .AddSimple(i => i.OrganizationId, o => o.OrganizationId); if (entity.UnificRoot != null) { definition.AddSimple(i => i.UnificRoot.ServiceServiceChannels.Count( x => x.Service.Versions.Any(y => y.PublishingStatusId != typesCache.Get <PublishingStatusType>(PublishingStatus.Deleted.ToString()))), o => o.ConnectedServices); } var phone = definition.GetFinal(); if (phone.PhoneNumber == null) { definition.AddNavigation(i => i.Phones.Select(x => x.Phone).FirstOrDefault(), o => o.PhoneNumber); } return(phone); }