// CongNC public string ThucHienDongBo(string sqlConnection) { try { // Lấy bảng thay đổi DataTable dtThayDoi = GetThayDoi(); string SQL = "", TenBang = "", IDThayDoi = ""; DataTable dtbThayDoi; if (dtThayDoi != null && dtThayDoi.Rows.Count > 0) { cDBase oDBase = new cDBase(); // Đẩy bảng HT_DongBo lên hosting để thực hiện xóa dữ liệu cũ DataTable dtDongBo = Get(new HT_DongBoInfo()); using (SqlBulkCopy s = new SqlBulkCopy(sqlConnection)) { s.DestinationTableName = "HT_DongBo"; s.NotifyAfter = 10000; s.WriteToServer(dtDongBo); s.Close(); } // Xóa hết những dữ liệu đã có theo thay đổi trên DB Web for (int i = 0; i < dtThayDoi.Rows.Count; i++) { TenBang = dtThayDoi.Rows[i]["TenBang"] + ""; SQL = "DELETE A FROM " + TenBang + " A INNER JOIN HT_DongBo B ON B.TenBang = '" + TenBang + "' AND DaDongBo = 0 AND A." + TenBang + "ID = B.IDThayDoi"; var client = new UnimOsServiceClient(); client.cDBase_RunQuery(GlobalVar.MaXacThuc, sqlConnection, SQL); client.Close(); // Lấy các dữ liệu thay đổi của bảng dtThayDoi.Rows[i]["TenBang"] có ID là IDThayDoi và ThaoTac là Update hoặc Insert // Insert dữ liệu thay đổi mới lên DB Web dtbThayDoi = GetDanhSachThayDoi(TenBang, IDThayDoi); if (dtbThayDoi != null && dtbThayDoi.Rows.Count > 0) { using (SqlBulkCopy s = new SqlBulkCopy(sqlConnection)) { s.DestinationTableName = TenBang; s.NotifyAfter = 10000; s.WriteToServer(dtbThayDoi); s.Close(); } } } // Xóa dữ liệu bảng HT_DongBo trên hosting SQL = "DELETE HT_DongBo"; var clie = new UnimOsServiceClient(); clie.cDBase_RunQuery(GlobalVar.MaXacThuc, sqlConnection, SQL); clie.Close(); // Xong duoi thi quay lại cập nhật lại trạng thái cho bảng đồng bộ DB ở trường UpdateDanhSachThayDoi(); } return("TRUE"); } catch (Exception es) { return(es.Message); } }