getComboData function
ComboData2
getComboData(
- String type,
- String? stringAll, {
- ComboData2? providersForServices,
- String? stringOwner,
Implementation
ComboData2 getComboData(
String type, // "providers"
String? stringAll, /// strings.get(254) /// "All"
{ComboData2? providersForServices, String? stringOwner} /// strings.get(457) /// "Global (owner) item",
){
ComboData2 combo = ComboData2("", []);
if (stringAll != null) {
combo.data.add(ComboData(stringAll, "1"));
combo.value = "1";
if (stringOwner != null)
combo.data.add(ComboData(stringOwner, "2"));
combo.data.add(ComboData("", "", divider: true));
}else
if (stringOwner != null)
combo.data.add(ComboData(stringOwner, "2"));
if (type == "users")
for (var item in listUsers)
combo.data.add(ComboData(item.name, item.id));
if (type == "providers")
for (var item in providers)
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
if (type == "category")
for (var item in categories)
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
if (type == "service") {
if (providersForServices == null) {
for (var item in product)
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
}else{
for (var provider in providersForServices.data) {
if (!provider.checkSelected)
continue;
for (var item in product) {
if (provider.id == '1'){
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
continue;
}
if (item.providers.contains(provider.id)) {
if (!_isComboContain(combo, item.id))
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
}
}
}
}
}
if (type == "article")
if (providersForServices == null) {
for (var item in productDataCache)
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
}else{
for (var provider in providersForServices.data) {
if (!provider.checkSelected)
continue;
if (provider.id == '2'){
for (var item in productDataCache)
if (item.providers.isEmpty)
if (!_isComboContain(combo, item.id))
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
}
for (var item in productDataCache) {
if (provider.id == '1'){
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
continue;
}
if (item.providers.contains(provider.id)) {
if (!_isComboContain(combo, item.id))
combo.data.add(ComboData(getTextByLocale(item.name, locale), item.id));
}
}
}
}
return combo;
}