Пример #1
0
        public async Task <ViewModels.Permission> CreateAsync(ViewModels.Permission permission, CancellationToken ct)
        {
            if (!(await _authorizationService.AuthorizeAsync(_user, null, new FullRightsRequirement())).Succeeded)
            {
                throw new ForbiddenException();
            }

            permission.DateCreated = DateTime.UtcNow;
            var permissionEntity = Mapper.Map <PermissionEntity>(permission);

            _context.Permissions.Add(permissionEntity);
            await _context.SaveChangesAsync(ct);

            return(await GetAsync(permissionEntity.Id, ct));
        }
Пример #2
0
        public async Task <ViewModels.Permission> UpdateAsync(Guid id, ViewModels.Permission permission, CancellationToken ct)
        {
            if (!(await _authorizationService.AuthorizeAsync(_user, null, new FullRightsRequirement())).Succeeded)
            {
                throw new ForbiddenException();
            }

            var permissionToUpdate = await _context.Permissions.SingleOrDefaultAsync(v => v.Id == id, ct);

            if (permissionToUpdate == null)
            {
                throw new EntityNotFoundException <Permission>();
            }

            permission.CreatedBy    = permissionToUpdate.CreatedBy;
            permission.DateCreated  = permissionToUpdate.DateCreated;
            permission.DateModified = DateTime.UtcNow;
            Mapper.Map(permission, permissionToUpdate);

            _context.Permissions.Update(permissionToUpdate);
            await _context.SaveChangesAsync(ct);

            return(_mapper.Map(permissionToUpdate, permission));
        }