public async Task UpdatePostCategoryLocalizationsAsync(int postCategoryId, UpdatePostCategoryLocalizationsModel model) { #region Validation var userInfo = contextProvider.BusinessContext.PrincipalInfo; var validationData = new ValidationData(resultLocalizer); var updatedLocalizationIds = model.ListOfLocalization.Select(o => o.Id).ToArray(); var entities = await dbContext.PostCategoryLocalization.ByIds(updatedLocalizationIds) .Select(o => new PostCategoryLocalizationEntity { Id = o.Id, EntityId = o.EntityId }).ToArrayAsync(); if (entities.Any(o => o.EntityId != postCategoryId) || entities.Length != updatedLocalizationIds.Length) { validationData.Fail(code: ResultCode.PostCategory_InvalidUpdateLocalizationsRequest); } if (!validationData.IsValid) { throw validationData.BuildException(); } #endregion foreach (var entity in entities) { model.ListOfLocalization.First(o => o.Id == entity.Id).CopyTo(entity); dbContext.Update(entity, o => o.Description, o => o.Title); } await dbContext.SaveChangesAsync(); }
public async Task <IActionResult> UpdateLocalizations(int id, UpdatePostCategoryLocalizationsModel model) { await _postCategoryService.UpdatePostCategoryLocalizationsAsync(id, model); return(NoContent()); }