Just to confirm I'm understanding this correctly, MasterList is the source of EditForm, which employees will use to enter information regarding the status of their tasks. MasterList is tied to two additional lists; ProjectList is essentially a source of available projects and ManagerList is the means by which employees are assigned tasks.
The one part for this I'm unsure of is figuring out how to get the user information to filter your list. In my powerapps, User().FullName returns "Firstname Lastname", but the lookup column in my sharepoint list column for Employees has a property called "DisplayName" that returns "Lastname, Firstname [organization name]". So I clearly can't say User().FullName = Employee.DisplayName. But I could use .Email for both such that User().Email = Employee.Email. You'll have to figure out how to get this filtering to work for your powerapp. For the purposes of my example, I'll just assume that you'll use "Email" in the code below.
If I was designing this, I would have EditForm and a Gallery on the screen with the two dropdowns for Project and Task to serve as filters. Let's assume this is the case and you have EditForm, GalleryChoices, DropdownProject, and DropdownTask. Of course, you'll need a submit button as well. I'll also assume that you want to allow the user to select project and/or task, not in any particular order and not necessarily both.
Note: The other option would be to make the user select one first and then the other by setting the DisplayMode of the second selector (task, in this case) to If(IsBlank(DropdownProject.Selected), DisplayMode.Disabled, DisplayMode.Edit).
You can place the following code in the object - property given before the code block. This should prohibit users from seeing/selecting tasks/projects that aren't within their assignments. Hope this helps!
DropdownTask - Items:
Distinct(
Filter(
MasterList,
'Assigned To'.Email=User().Email,
If(
IsBlank(CountRows(DropdownProject.SelectedItems)),
true,
'Project Name'.Value=DropdownProject.Selected.Result
)
),
Task.Value
)
DropdownProject - Items:
Distinct(
Filter(
MasterList,
'Assigned To'.Email=User().Email,
If(
IsBlank(CountRows(DropdownTask.SelectedItems)),
true,
Task.Value=DropdownTask.Selected.Result
)
),
'Project Name'.Value
)
GalleryChoices - Items:
Filter(
MasterList,
'Assigned To'.Email=User().Email,
If(
IsBlank(CountRows(DropdownTask.SelectedItems)),
true,
Task.Value=DropdownTask.Selected.Result
),
If(
IsBlank(CountRows(DropdownProject.SelectedItems)),
true,
'Project Name'.Value=DropdownProject.Selected.Result
)
)
EditForm - Item:
GalleryChoices.Selected