Beispiel #1
0
        protected override IDictionaryItem PerformGet(int id)
        {
            var sql = GetBaseQuery(false)
                      .Where(GetBaseWhereClause(), new { Id = id })
                      .OrderBy <DictionaryDto>(x => x.UniqueId);

            var dto = Database.Fetch <DictionaryDto, LanguageTextDto, DictionaryDto>(new DictionaryLanguageTextRelator().Map, sql).FirstOrDefault();

            if (dto == null)
            {
                return(null);
            }

            var factory = new DictionaryItemFactory();
            var entity  = factory.BuildEntity(dto);

            var list = new List <IDictionaryTranslation>();

            foreach (var textDto in dto.LanguageTextDtos)
            {
                var language           = _languageRepository.Get(textDto.LanguageId);
                var translationFactory = new DictionaryTranslationFactory(dto.UniqueId, language);
                list.Add(translationFactory.BuildEntity(textDto));
            }
            entity.Translations = list;

            ((ICanBeDirty)entity).ResetDirtyProperties();

            return(entity);
        }
        protected IDictionaryItem ConvertFromDto(DictionaryDto dto)
        {
            var entity = DictionaryItemFactory.BuildEntity(dto);

            entity.Translations = dto.LanguageTextDtos.EmptyNull()
                                  .Where(x => x.LanguageId > 0)
                                  .Select(x => DictionaryTranslationFactory.BuildEntity(x, dto.UniqueId))
                                  .ToList();

            return(entity);
        }
        protected IDictionaryItem ConvertFromDto(DictionaryDto dto)
        {
            var factory = new DictionaryItemFactory();
            var entity  = factory.BuildEntity(dto);

            var list = new List <IDictionaryTranslation>();

            foreach (var textDto in dto.LanguageTextDtos)
            {
                if (textDto.LanguageId <= 0)
                {
                    continue;
                }

                var translationFactory = new DictionaryTranslationFactory(dto.UniqueId);
                list.Add(translationFactory.BuildEntity(textDto));
            }
            entity.Translations = list;

            return(entity);
        }
Beispiel #4
0
        protected IDictionaryItem ConvertFromDto(DictionaryDto dto, ILanguage[] allLanguages)
        {
            var factory = new DictionaryItemFactory();
            var entity  = factory.BuildEntity(dto);

            var list = new List <IDictionaryTranslation>();

            foreach (var textDto in dto.LanguageTextDtos)
            {
                //Assuming this is cached!
                var language = allLanguages.FirstOrDefault(x => x.Id == textDto.LanguageId);
                if (language == null)
                {
                    continue;
                }

                var translationFactory = new DictionaryTranslationFactory(dto.UniqueId, language);
                list.Add(translationFactory.BuildEntity(textDto));
            }
            entity.Translations = list;

            return(entity);
        }