Exemplo n.º 1
0
        /// <summary>
        /// Updates an OrganizationUserPermission with passed fields
        /// </summary>
        /// <param name="command">contains ID and fields</param>
        /// <returns></returns>
        public EmptyResult UpdateOrganizationUserPermission(UpdateOrganizationUserPermissionCommand command)
        {
            if (!command.OrganizationUserId.HasValue)
            {
                return(new EmptyResult(AuthorizationServiceErrors.InvalidUpdateOrganizationNameError(nameof(command.OrganizationUserId))));
            }

            if (string.IsNullOrEmpty(command.UserId))
            {
                return(new EmptyResult(AuthorizationServiceErrors.InvalidExternalUserId()));
            }

            if (!organizationUserPermissionRepository.ExistsOrganizationUserPermission(command.OrganizationUserId.Value, command.UserId))
            {
                organizationUserPermissionRepository.CreateOrganizationUserPermission(
                    command.OrganizationUserId.Value,
                    command.UserId,
                    command.Permissions);
            }
            else
            {
                organizationUserPermissionRepository.UpdateOrganizationUserPermission(command);
            }

            return(new EmptyResult());
        }
        public void UpdateOrganizationUserPermission(UpdateOrganizationUserPermissionCommand command)
        {
            var entity = GetOrganizationUserPermission(command.OrganizationUserId.Value);

            entity.UpdatedAt = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds();

            if (!string.IsNullOrWhiteSpace(command.Permissions))
            {
                entity.Permissions = command.Permissions;
            }

            context.OrganizationUserPermissions.Update(entity);
            this.context.SaveChanges();
        }