Setzen eines Dezimal Wertes im Business Process

mgosx

Aktives Mitglied
Hallo zusammen,

ich habe ein kleines Problem bei der Nutzung eines Business Process.
Es wird ein Dezimalwert errechnet und soll einem Feld des Datensatzes zugeordnet werden.

Egal ob ich als Zuweisung
row["Dichte"] = "1.123";
oder
row["Dichte"] = "1,123";
verwende, ich erhalte entweder 1 oder 1123,00

Kann mir jemand die korrekte Zuweisung nennen?

Da ich diesen Business Process bei mehreren Datenquellen benötige, gibt es eine einfache Möglichkeit im Business Process nachzuschauen ob eine Row existiert?
Dann könnte der selbe Business Process für unterschiedliche Datenquellen verwendet werden!

Gruss Mark
 
Moin @mgosx,

entweder das Feld Dichte ist in der Datenquelle ein String und wird auch als String zugweisen (mit "") oder es ist in der Datenquelle Integer/Decimal und wird dann auch als Integerwert/Decimal zugewiesen (ohne "").

Also in deinem Falle nehme ich stark an:

Feld Dichte in der Datenquelle als Datentyp Decimal hinterlegen und dann im Business Process:
C#:
row["Dichte"] = (decimal)1.123;

Da ich diesen Business Process bei mehreren Datenquellen benötige, gibt es eine einfache Möglichkeit im Business Process nachzuschauen ob eine Row existiert?
Naja du kannst ja das RowSet einfach durchlaufen und die Spalte mit dem Primärschlüssel auf die Datensatzexistenz prüfen:

C#:
protected override RowSet GetData(RowSet rows)
{
     if (!rows.Any(row => (int)row["Dichte"] == 1))
     {
          rows.Add(new Row { ["Dichte"] = 1 });
     }
     return rows;
}
 
Moin @mgosx,

entweder das Feld Dichte ist in der Datenquelle ein String und wird auch als String zugweisen (mit "") oder es ist in der Datenquelle Integer/Decimal und wird dann auch als Integerwert/Decimal zugewiesen (ohne "").

Also in deinem Falle nehme ich stark an:

Feld Dichte in der Datenquelle als Datentyp Decimal hinterlegen und dann im Business Process:
C#:
row["Dichte"] = (decimal)1.123;


Naja du kannst ja das RowSet einfach durchlaufen und die Spalte mit dem Primärschlüssel auf die Datensatzexistenz prüfen:

C#:
protected override RowSet GetData(RowSet rows)
{
     if (!rows.Any(row => (int)row["Dichte"] == 1))
     {
          rows.Add(new Row { ["Dichte"] = 1 });
     }
     return rows;
}
Danke Dir,
hat super geklappt.
Gruss Mark
 
Zurück
Oben