/// <summary> /// Prepare review type model /// </summary> /// <param name="model">Review type model</param> /// <param name="reviewType">Review type</param> /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param> /// <returns>Review type model</returns> public virtual ReviewTypeModel PrepareReviewTypeModel(ReviewTypeModel model, ReviewType reviewType, bool excludeProperties = false) { Action <ReviewTypeLocalizedModel, int> localizedModelConfiguration = null; if (reviewType != null) { //fill in model values from the entity model = model ?? reviewType.ToModel <ReviewTypeModel>(); //define localized model configuration action localizedModelConfiguration = (locale, languageId) => { locale.Name = _localizationService.GetLocalized(reviewType, entity => entity.Name, languageId, false, false); locale.Description = _localizationService.GetLocalized(reviewType, entity => entity.Description, languageId, false, false); }; } //prepare localized models if (!excludeProperties) { model.Locales = _localizedModelFactory.PrepareLocalizedModels(localizedModelConfiguration); } return(model); }
/// <summary> /// Prepare review type model /// </summary> /// <param name="model">Review type model</param> /// <param name="reviewType">Review type</param> /// <param name="excludeProperties">Whether to exclude populating of some properties of model</param> /// <returns> /// A task that represents the asynchronous operation /// The task result contains the review type model /// </returns> public virtual async Task <ReviewTypeModel> PrepareReviewTypeModelAsync(ReviewTypeModel model, ReviewType reviewType, bool excludeProperties = false) { Func <ReviewTypeLocalizedModel, int, Task> localizedModelConfiguration = null; if (reviewType != null) { //fill in model values from the entity model ??= reviewType.ToModel <ReviewTypeModel>(); //define localized model configuration action localizedModelConfiguration = async(locale, languageId) => { locale.Name = await _localizationService.GetLocalizedAsync(reviewType, entity => entity.Name, languageId, false, false); locale.Description = await _localizationService.GetLocalizedAsync(reviewType, entity => entity.Description, languageId, false, false); }; } //prepare localized models if (!excludeProperties) { model.Locales = await _localizedModelFactory.PrepareLocalizedModelsAsync(localizedModelConfiguration); } return(model); }