public DatabaseQueries GenerateDatabase(DataProviders provider, EnumLists importedLists = null) { DatabaseQueries queries = new DatabaseQueries(); if (importedLists == null) { foreach (var list in _enumLists) { queries.Append(list.GenerateDatabase(provider)); } } else { EnumList importedList = null; //Get lists to create and update foreach (var list in _enumLists) { importedList = importedLists.ByKey(list.Key); if (importedList == null) { //Create the list queries.Append(list.GenerateDatabase(provider)); } else { //update the selected list table //if the lists have changed then update if (list.CompareTo(importedList) == 0) { queries.Append(list.GenerateDatabase(provider, importedList)); } } } //Get lists to delete EnumList toDelete = null; foreach (var list in importedLists) { toDelete = ByKey(list.Key); if (toDelete == null) { //Call delete query generator queries.Add(list.GenerateDatabaseDrop(provider)); } } } return(queries); }
public int Compare(EnumLists other) { foreach (var enumList in _enumLists) { var enumIn = ByKey(enumList.Key); if (enumIn != null) { //compare var different = enumList.Compare(enumIn) == 0; if (different) { return(0); } } else { return(0); } } return(1); }