public async Task <bool> Delete(string id)
        {
            var entity = await _repositoryProvider.GetFirst(x => x.Id == id && x.State == MREntityState.Active);

            if (entity == null)
            {
                throw _eNotFound <Provider>("Provider not found");
            }

            if (!entity.IsAllowToDelete(_userId) && !_isCurrentUserAdmin)
            {
                _eAccessDenied("Access denied");
            }

            await _repositoryProvider.DeleteSoft(entity);

            return(true);
        }