Создать таблицу из нескольких списков
Сергей может видеть работы нескольких гаражей, вначале он идентифицируется, ему выходит лист ВСЕХ гаражей ему доступных, затем Сергей выбирает из списка гаражи, которые ему нужны прямо сейчас, все это происходит на странице1 для выбора в списке я использую Syncfusion
<SfMultiSelect TValue="string[]" TItem="GarajModel" Placeholder=@myLocalizerTrad["ChoiceGaraj"] DataSource="@garajsList" @bind-Value="@MultiVal" Mode="VisualMode.Box">
<MultiSelectFieldSettings Text="NameGaraje" Value="CodeGaraj" />
<MultiSelectEvents TItem="GarajModel" TValue="string[]" OnValueSelect="OnSelect" OnValueRemove="OnDeselect" ValueChange="@OnSelectValue" />
</SfMultiSelect>
класс Модель
public class GarajModel
{
public string NameGaraje {get; set;}
public string CodeGaraj {get; set;}
}
когда Сергей выбирает из списка гараж1 и гараж2 он "идентифитируется" второй раз и переходит на страницу2 где таблица показывает ему "работы" тех гаражей что он выбрал.
таблица на второй странице
<SfGrid @ref="Grid" DataSource="@tablicaPoKotoroyDelayuBindingPokaza" Height="auto">
</GridFilterSettings>
<GridColumns>
<GridColumn ......
</GridColumn>
</GridColumns>
</SfGrid>
передаю данные этой таблице через событие
IEnumerable<ModelRabotiGaraja> tablicaVremennaya;
IEnumerable<ModelRabotiGaraja> tablicaPoKotoroyDelayuBindingPokaza;
private async Task GetRabotiGarajey()
{
tablicaPoKotoroyDelayuBindingPokaza = null; //иначе прибавляет потом строки
tablicaVremennaya = null; //то же самое
foreach (var garaje in SpisokGarajey)
{
if (!string.IsNullOrEmpty(garaj.code1) && !string.IsNullOrEmpty(garaj.code2))
try
{
tablicaVremennaya = await garajService.GetGarajList(garaj.code1, garaj.code2);
if (tablicaPoKotoroyDelayuBindingPokaza == null)
{
tablicaPoKotoroyDelayuBindingPokaza = missionListsModelTemp.ToList();
}
else
{
tablicaPoKotoroyDelayuBindingPokaza =
tablicaPoKotoroyDelayuBindingPokaza.Concat(tablicaVremennaya);
//то есть первый гараж в таблице уже есть и я добавляю строки второго гаража с помощью Concat
}
}
catch (Exception e)
{
string msg = e.Message;
}
}
this.StateHasChanged();
}
КАК НАПИСАТЬ ГРАММОТНО ДАННЫЙ КОД
(подправить логику события GetRabotiGarajey
), чтоб в дальнейшем не думать о нагрузке программы и возможных оплошностях ?
***хотелось бы получить ответа пожалуйста обратите внимание на этот вопрос🦄