Fixed bug with filtering by project
diff --git a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
index 0ab13db..5692ca2 100644
--- a/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
+++ b/services/self-service/src/main/java/com/epam/dlab/backendapi/dao/BaseBillingDAO.java
@@ -37,6 +37,7 @@
 import com.epam.dlab.model.aws.ReportLine;
 import com.google.common.collect.Lists;
 import com.google.inject.Inject;
+import com.mongodb.BasicDBObject;
 import com.mongodb.client.AggregateIterable;
 import com.mongodb.client.FindIterable;
 import com.mongodb.client.model.Aggregates;
@@ -70,6 +71,7 @@
 import static com.mongodb.client.model.Filters.gte;
 import static com.mongodb.client.model.Filters.in;
 import static com.mongodb.client.model.Filters.lte;
+import static com.mongodb.client.model.Filters.or;
 import static com.mongodb.client.model.Filters.regex;
 import static com.mongodb.client.model.Projections.excludeId;
 import static com.mongodb.client.model.Projections.fields;
@@ -358,9 +360,9 @@
 			List<String> projects = filter.getProjects();
 			if (filter.getProjects().contains(SHARED_RESOURCE_NAME)) {
 				if (filter.getProjects().size() == 1) {
-					projects.remove(SHARED_RESOURCE_NAME);
+					searchCriteria.add(new BasicDBObject("project", new BasicDBObject("$exists", false)));
 				} else {
-					searchCriteria.add(in(PROJECT, projects));
+					searchCriteria.add(or(in(PROJECT, projects), new BasicDBObject("project", new BasicDBObject("$exists", false))));
 				}
 			} else {
 				searchCriteria.add(in(PROJECT, projects));