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);
        }