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();
        }
示例#2
0
        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);
        }