static void TestV() { Console.WriteLine(); IDynaRecord dynaRecord = dataMod.GetDynaRecord("Invo"); dynaRecord.FieldDict["Dt_Fst"].Value = "2017.04.01"; dynaRecord.FieldDict["Dt_Lst"].Value = "2017.04.04"; dynaRecord.FieldDict["Note"].Value = @" Апрель! Апрель! На дворе звенит капель. По полям бегут ручьи, На дорогах лужи."; if (dynaRecord == null) { Console.WriteLine(dataMod.lastError); return; } IDataCommand dynaCmd = dynaRecord as IDataCommand; var out_fields = dynaCmd.Action("c16"); Console.WriteLine("Done V. Rows affected={0}.", dynaCmd.Rows_Affected); foreach (var field in out_fields) { Console.WriteLine("{0} : {1}", field.GetName(), field.Value); } }
public void Action(T t, string cmd) { //считываем связанные свойства в _dynaObject foreach (var propMap in propMaps) { propMap.GetFromObject(t); } //отправляем изменения и получаем результаты var outProps = _dataCmd.Action(cmd); //обновляем связанные свойства по полученным результатам foreach (var propMap in propMaps.Where(bp => outProps.Contains(bp.Field))) { propMap.SetToObject(t); } }