public void Update(DtoUpdateContent entity) { var dbEnt = _cmsDbContext.Contents.AsNoTracking() .FirstOrDefault(c => c.Id == entity.Id); dbEnt.Title = entity.Title; dbEnt.Body = entity.Body; dbEnt.Description = entity.Description; dbEnt.Rate = entity.Rate; dbEnt.PublishDate = entity.PublishDate; dbEnt.CategoryId = entity.CategoryId; _cmsDbContext.Contents.Update(dbEnt); _cmsDbContext.SaveChanges(); }
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, ContentAuthorizationRequirement requirement) { DtoUpdateContent doc = context.Resource as DtoUpdateContent; string user = context.User.Identity.Name; StringComparison compare = StringComparison.OrdinalIgnoreCase; if (doc != null && user != null && requirement.AllowWriter && doc?.WriterName.Equals(user, compare) != null || requirement.AllowEditors && doc?.Editors.Any(e => e.Name.Equals(user, compare)) != null) { context.Succeed(requirement); } else { context.Fail(); } return(Task.CompletedTask); }