protected virtual void UpdateValueLocales(ContractAttributeValue contractAttributeValue, ContractAttributeValueModel model)
 {
     foreach (var localized in model.Locales)
     {
         _localizedEntityService.SaveLocalizedValue(contractAttributeValue,
                                                    x => x.Name,
                                                    localized.Name,
                                                    localized.LanguageId);
     }
 }
        public virtual void UpdateContractAttributeValue(ContractAttributeValue contractAttributeValue)
        {
            if (contractAttributeValue == null)
            {
                throw new ArgumentNullException(nameof(contractAttributeValue));
            }

            _contractAttributeValueRepository.Update(contractAttributeValue);

            _cacheManager.RemoveByPattern(GSContractServiceDefaults.ContractAttributesPatternCacheKey);
            _cacheManager.RemoveByPattern(GSContractServiceDefaults.ContractAttributeValuesPatternCacheKey);

            _eventPublisher.EntityUpdated(contractAttributeValue);
        }
示例#3
0
        public virtual ContractAttributeValueModel PrepareContractAttributeValueModel(ContractAttributeValueModel model,
                                                                                      ContractAttribute contractAttribute, ContractAttributeValue contractAttributeValue, bool excludeProperties = false)
        {
            if (contractAttribute == null)
            {
                throw new ArgumentNullException(nameof(contractAttribute));
            }

            Action <ContractAttributeValueLocalizedModel, int> localizedModelConfiguration = null;

            if (contractAttributeValue != null)
            {
                model = model ?? contractAttributeValue.ToModel <ContractAttributeValueModel>();

                localizedModelConfiguration = (locale, languageId) =>
                {
                    locale.Name = _localizationService.GetLocalized(contractAttributeValue, entity => entity.Name, languageId, false, false);
                };
            }

            model.ContractAttributeId = contractAttribute.Id;

            if (!excludeProperties)
            {
                model.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration);
            }

            return(model);
        }