public void CreateTSQL(SampleSQLData sample, IList <object> sqlList, IDictionary <string, string> parameters) { string baseSQL = @"DELETE FROM {0} WHERE {1};"; string dataSQL = string.Empty; foreach (var row in sample.Rows) { string fields = string.Empty; foreach (var key in sample.Keys) { Common.Schema schema = sample.Schema.SingleOrDefault(s => s.Column == key); string value = JSON.DeserializeDynamic(row.ToString())[schema.Column]; if (parameters.ContainsKey(value)) { value = parameters[value]; } string parsedValue = "{0}".FormatWith(ParserDataType.ParseSQL((ParserDataType.DataType)Enum.Parse(typeof(ParserDataType.DataType), schema.Type, true), value)); fields += "{0}={1} AND ".FormatWith(schema.Column, parsedValue); } dataSQL += baseSQL.FormatWith(sample.Table, fields.Substring(0, fields.LastIndexOf("AND"))); } if (!string.IsNullOrEmpty(dataSQL)) { sqlList.Add(dataSQL); } }
public IList <object> CreateDelete(IList <object> list, IDictionary <string, string> dynamicParameters) { IList <SampleMongoData> convertedList = list.Cast <SampleMongoData>().ToList(); IList <object> deleteList = new List <object>(); foreach (var sample in convertedList) { IDictionary <string, IList <BsonElement> > data = new Dictionary <string, IList <BsonElement> >(); IList <BsonElement> elementList = new List <BsonElement>(); foreach (var row in sample.Rows) { foreach (var key in sample.Keys) { Common.Schema schema = sample.Schema.SingleOrDefault(s => s.Column == key); string value = JSON.DeserializeDynamic(row.ToString())[schema.Column]; if (dynamicParameters.ContainsKey(value)) { value = dynamicParameters[value]; } elementList.Add(new BsonElement(schema.Column, ParserDataType.ParseMongo((ParserDataType.DataType)Enum.Parse(typeof(ParserDataType.DataType), schema.Type, true), value))); } } data.Add(sample.Collection, elementList); deleteList.Add(data); } return(deleteList); }