Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> UpdateLocalizations(int id, UpdatePostCategoryLocalizationsModel model)
        {
            await _postCategoryService.UpdatePostCategoryLocalizationsAsync(id, model);

            return(NoContent());
        }