コード例 #1
0
ファイル: Program.cs プロジェクト: tdav/GF-Online-Orders
        static void Main(string[] args)
        {
            var sqlserver = new Apteka.SqlServer.AptekaSqlServerDbContext();
            var postgres  = new UniPos.Models.MyDbContext();

            postgres.ChangeTracker.AutoDetectChangesEnabled = false;

            postgres.BeginTransaction();

            try
            {
                /*
                 * Sync<UniPos.Models.spCountry, Apteka.SqlServer.spCountries>.Run(sqlserver, postgres);
                 * Sync<UniPos.Models.spRegion, Apteka.SqlServer.spRegions>.Run(sqlserver, postgres);
                 * Sync<UniPos.Models.spDistrict, Apteka.SqlServer.spDistricts>.Run(sqlserver, postgres);
                 *
                 * DrugListSync.Run(sqlserver, postgres);
                 * ProductSync.Run(sqlserver, postgres);
                 * UserSync.Run(sqlserver, postgres);
                 */

                GfDrugListSync.Run(postgres);

                postgres.Commit();
            }
            catch (Exception ee)
            {
                postgres.Rollback();
                Console.WriteLine(ee.Message);
            }



            Console.WriteLine("OK");
        }
コード例 #2
0
ファイル: Sync.cs プロジェクト: tdav/GF-Online-Orders
        public static void Run(AptekaSqlServerDbContext sqlserver, UniPos.Models.MyDbContext postgres)
        {
            var config = new MapperConfiguration(cfg => cfg.CreateMap <TSou, TDes>());
            var mapper = config.CreateMapper();

            sqlserver.Set <TSou>().Load();
            var ls = sqlserver.Set <TSou>().AsNoTracking();

            foreach (var it in ls)
            {
                var d = mapper.Map <TDes>(it);
                postgres.Set <TDes>().Add(d);
            }

            postgres.ChangeTracker.DetectChanges();
            postgres.SaveChanges();
        }