private async Task UpdateSystemSettings() { con = new Npgsql.NpgsqlConnection(ConfigurationManager.ConnectionStrings["TalentDataContextPostgres"].ConnectionString); try { con.Open(); sqlDataContext = new Agilisium.TalentManager.Model.TalentManagerDataContext(); List <SystemSetting> oldSettings = sqlDataContext.SystemSettings.ToList(); // update primary column id postgressDataContext = new Agilisium.TalentManager.PostgresModel.TalentManagerDataContext(); List <SystemSetting> newSettings = postgressDataContext.SystemSettings.ToList(); foreach (SystemSetting newRec in newSettings) { int oldPracticeID = oldSettings.FirstOrDefault(p => p.SettingName == newRec.SettingName).SettingEntryID; string qry = $"UPDATE \"TalentManager\".\"SystemSettings\" SET \"SettingEntryID\"={oldPracticeID} WHERE \"SettingEntryID\"={newRec.SettingEntryID}"; Npgsql.NpgsqlCommand cmd = new Npgsql.NpgsqlCommand(qry, con); int val = await cmd.ExecuteNonQueryAsync(); } } catch (Exception) { } finally { con.Close(); con.Dispose(); } }
private async Task <int> MigratePractices() { List <Practice> records = sqlDataContext.Practices.ToList(); PracticeRepository repository = new PracticeRepository(); int recCount = 0; try { postgressDataContext = new Agilisium.TalentManager.PostgresModel.TalentManagerDataContext(); // delete all existing records from Postgres Database postgressDataContext.Practices.RemoveRange(postgressDataContext.Practices); await postgressDataContext.SaveChangesAsync(); // Migrage SQL Server data into Postgress database foreach (Practice rec in records) { postgressDataContext.Practices.Add(rec); } await postgressDataContext.SaveChangesAsync(); //await UpdatePractices(); recCount = records.Count; } catch (Exception exp) { MessageBox.Show($"Error while migrating PODs. The error is {Environment.NewLine}Main Exception: {exp.Message}{Environment.NewLine}Inner Exception: {exp.InnerException?.Message}"); } return(recCount); }