Exemplo n.º 1
0
        public IEnumerable<Domänenkommando> Kommandos_aus_Veränderungen_generieren(DataTable tb)
        {
            for (var i = 0; i < tb.Rows.Count; i++)
            {
                var k = tb.Rows[i];

                if (k.RowState != DataRowState.Unchanged)
                {
                    var cmd = new Domänenkommando();
                    switch (k.RowState)
                    {
                        case DataRowState.Added:
                            cmd.Name = "KontaktAnlegen";
                            Veränderungen_in_Payload_eintragen(tb, cmd, k);
                            break;

                        case DataRowState.Modified:
                            cmd.Name = "KontaktAktualisieren";
                            cmd.Entitätsid = k["Id"].ToString();
                            Veränderungen_in_Payload_eintragen(tb, cmd, k);
                            break;

                        case DataRowState.Deleted:
                            cmd.Name = "KontaktLöschen";
                            cmd.Entitätsid = k["Id", DataRowVersion.Original].ToString();
                            break;
                    }
                    yield return cmd;
                }
            }
        }
Exemplo n.º 2
0
 private static void Veränderungen_in_Payload_eintragen(DataTable tb, Domänenkommando e, DataRow k)
 {
     for (var ci = 0; ci < tb.Columns.Count; ci++)
         e.Payload.Add(tb.Columns[ci].ColumnName, k[ci].ToString());
 }