public async Task <IEnumerable <int> > AddPostCategoryLocalizationsAsync(int postCategoryId, AddPostCategoryLocalizationsModel model) { #region Validation var userInfo = contextProvider.BusinessContext.PrincipalInfo; var validationData = new ValidationData(resultLocalizer); var exists = await dbContext.PostCategory.ById(postCategoryId).AnyAsync(); if (!exists) { validationData.Fail(code: ResultCode.EntityNotFound); } var cultures = model.ListOfLocalization.Select(o => I18nHelper.GetCulture(o.Lang, o.Region)).ToArray(); var anyCultureExists = await dbContext.PostCategoryLocalization.ByCultures(cultures).AnyAsync(); if (anyCultureExists) { validationData.Fail(code: ResultCode.PostCategory_LocalizationExists); } if (!validationData.IsValid) { throw validationData.BuildException(); } #endregion var entities = model.ListOfLocalization.MapTo <PostCategoryLocalizationEntity>().ToArray(); foreach (var entity in entities) { entity.EntityId = postCategoryId; } dbContext.AddRange(entities); await dbContext.SaveChangesAsync(); return(entities.Select(o => o.Id).ToArray()); }
public async Task <IActionResult> AddLocalizations(int id, AddPostCategoryLocalizationsModel model) { var ids = await _postCategoryService.AddPostCategoryLocalizationsAsync(id, model); return(Success(ids)); }