I'm pretty new to powerapps but learning as I go. Is there a way to write the following if statements as one statement? (that way it will only create one item on my sharepoint list, instead of seperate items for each if statement). I am struggling to do so as each If statement has a different default result.
If(
IsEmpty(MondayCombo.SelectedItems),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{Monday: DataCardValue82.Text}
),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{
Monday: Concat(
MondayCombo.SelectedItems,
Value,
", "
)
}
)
);
If(
IsEmpty(TuesdayCombo.SelectedItems),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{Tuesday: DataCardValue83.Text}
),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{
Tuesday: Concat(
TuesdayCombo.SelectedItems,
Value,
", "
)
}
)
);
If(
IsEmpty(WednesdayCombo.SelectedItems),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{Wednesday: DataCardValue84.Text}
),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{
Wednesday: Concat(
WednesdayCombo.SelectedItems,
Value,
", "
)
}
)
);
If(
IsEmpty(ThursdayCombo.SelectedItems),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{Thursday: DataCardValue85.Text}
),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{
Thursday: Concat(
ThursdayCombo.SelectedItems,
Value,
", "
)
}
)
);
Unfortunately PowerApps don't have the return
or exit
command yet to break the code execution.
You have to come up with a workaround to verify the code execution & bypass all the other unwanted code execution. For example, we can have a bool variable to set & validate in next loop.
UpdateContext({RecordCreated:false});
If(
IsEmpty(MondayCombo.SelectedItems),
UpdateContext({RecordCreated:true});
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{Monday: DataCardValue82.Text}
),
UpdateContext({RecordCreated:true});
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{
Monday: Concat(
MondayCombo.SelectedItems,
Value,
", "
)
}
)
);
If(RecordCreated = false,
If(
IsEmpty(TuesdayCombo.SelectedItems),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{Tuesday: DataCardValue83.Text}
),
Patch(
ChangeOfService,
Defaults(ChangeOfService),
{
Tuesday: Concat(
TuesdayCombo.SelectedItems,
Value,
", "
)
}
)
);)
Please up-vote this idea