Beispiel #1
0
 public static void Insert(List <PendingDDPUpdate> pendingUpdates)
 {
     using (var pada = new PendingUpdatesDataAccess())
     {
         pada.Create(pendingUpdates);
     }
 }
Beispiel #2
0
 static public List <PendingDDPUpdate> GetPendingUpdates()
 {
     using (var pada = new PendingUpdatesDataAccess())
     {
         var ts = DateTime.UtcNow.AddMinutes(50);
         return(pada.WithTimeStampLess(ts));
     }
 }
Beispiel #3
0
        public void ProcessPendingUpdates()
        {
            DDPImportHelper helper = new DDPImportHelper();

            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.RequiresNew, TimeSpan.FromMinutes(10)))
            {
                try
                {
                    var ddpvermgr = new DDPVersionManager();

                    var pendings = PendingUpdateManager.GetPendingUpdates();
                    foreach (var pending in pendings)
                    {
                        DDPVersion ver = null;
                        if (pending.type == 0)
                        {
                            ver = ddpvermgr.GetInmediateDDPVersion(pending.targetVersion);
                        }
                        else
                        {
                            ver = ddpvermgr.GetRegularDDPVersion(pending.targetVersion);
                        }

                        if (ver != null)
                        {
                            log.Info(string.Format("ProcessPendingUpdates: version {0} already exists skping ...", pending.targetVersion));
                            continue;
                        }

                        helper.UpdateIncrementalOrRegular(pending);
                    }

                    using (var d = new PendingUpdatesDataAccess())
                    {
                        d.Remove(pendings);
                    }
                }
                catch (Exception ex)
                {
                    log.Error("ProcessPendingUpdates: error!", ex);
                }
                ts.Complete();
            }
        }