public void SaveRow(ListMapping mapping, Tuple <int, ExpandoObject> value) { using (var providerSqlDynamic = new ProviderSqlDynamic( new TableDynamic { PrimaryField = mapping.Key, Name = mapping.TableName }, _connectionInfo.ToString())) { SyncRow(providerSqlDynamic, value, mapping); } }
public void Delete(string tableName, string primaryField, object key) { using (var providerSqlDynamic = new ProviderSqlDynamic(new TableDynamic { PrimaryField = primaryField, Name = tableName }, _connectionInfo.ToString())) { providerSqlDynamic.DeleteRow(key); } }
public void SaveRows(ListMapping mapping, List <Tuple <int, ExpandoObject> > values) { using (var providerSqlDynamic = new ProviderSqlDynamic( new TableDynamic { PrimaryField = mapping.Key, Name = mapping.TableName }, _connectionInfo.ToString())) { values.ForEach(item => { SyncRow(providerSqlDynamic, item, mapping); }); } }
public int SaveRow(string key, string tableName, ExpandoObject value) { // !!! Identity increment = 1 int newRowId = 0; using (var providerSqlDynamic = new ProviderSqlDynamic( new TableDynamic { PrimaryField = key, Name = tableName }, _connectionInfo.ToString())) { var valueData = (IDictionary <string, object>)value; newRowId = providerSqlDynamic.CreateRowAndReturnID((ExpandoObject)valueData); } return(newRowId); }
private void SyncRow(ProviderSqlDynamic provider, Tuple <int, ExpandoObject> value, ListMapping mapping) { var updateData = (IDictionary <string, object>) new ExpandoObject(); var valueData = (IDictionary <string, object>)value.Item2; updateData.Add(mapping.Key, value.Item1); mapping.ListMappingFields.ToList().ForEach(item => { updateData.Add(item.FieldName, valueData[item.ItemName]); }); if (provider.IsExists(value.Item1)) { provider.UpdateRow((ExpandoObject)updateData); } else { provider.CreateRow((ExpandoObject)updateData); } }