public void Update(WorkUnit workUnit) { MongoCollection<WorkUnit> coll = _mongoDatabase.GetCollection<WorkUnit>("workunit"); var query = Query.And(Query.EQ("PartitionKey", workUnit.PartitionKey), Query.EQ("RowKey", workUnit.RowKey)); var docUpdate = MongoDB.Driver.Builders.Update.Replace<WorkUnit>(workUnit); coll.Update(query, docUpdate); }
public void Save(WorkUnit workUnit) { MongoCollection<WorkUnit> coll = _mongoDatabase.GetCollection<WorkUnit>("workunit"); coll.Insert(workUnit); }
public void Update(WorkUnit workUnit) { _tableClient.CreateTableIfNotExist(WORK_UNIT_TABlE_NAME); // select info for given workunit if (_tableClient.DoesTableExist(WORK_UNIT_TABlE_NAME)) { _dataContext.UpdateObject(workUnit); _dataContext.SaveChanges(); } }
public void Save(WorkUnit workUnit) { _tableClient.CreateTableIfNotExist(WORK_UNIT_TABlE_NAME); // if table exists if (_tableClient.DoesTableExist(WORK_UNIT_TABlE_NAME)) { // add client info record _dataContext.AddObject(WORK_UNIT_TABlE_NAME, workUnit); _dataContext.SaveChanges(); } }
public void UpdateLocalStatus(FoldingClientStatus status) { WorkUnit workUnit = _clientDataRepo.GetWorkUnit(ApplicationSettings.InstanceId, WorkUnit.MakeKey(status.Name, status.Tag, status.DownloadTime)); // if it's a new one, add it if (workUnit == null) { workUnit = new WorkUnit(status.Name, status.Tag, status.DownloadTime, ApplicationSettings.InstanceId) { Progress = status.Progress, StartTime = DateTime.UtcNow }; _clientDataRepo.Save(workUnit); } // otherwise, update it else { workUnit.Progress = status.Progress; if (workUnit.Progress == 100) workUnit.CompleteTime = DateTime.UtcNow; _clientDataRepo.Update(workUnit); } }
public void UpdateLocalStatus(FoldingClientStatus status) { var cloudStorageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("DataConnectionString")); // ensure workunit table exists var cloudClient = new CloudTableClient( cloudStorageAccount.TableEndpoint.ToString(), cloudStorageAccount.Credentials); cloudClient.CreateTableIfNotExist("workunit"); // select info for given workunit var ctx = new ClientDataContext( cloudClient.BaseUri.ToString(), cloudClient.Credentials); var workUnit = (from w in ctx.WorkUnits.ToList<WorkUnit>() where w.PartitionKey == RoleEnvironment.CurrentRoleInstance.Id && w.RowKey == w.MakeKey(status.Name, status.Tag, status.DownloadTime) select w).FirstOrDefault<WorkUnit>(); // if it's a new one, add it if (workUnit == null) { workUnit = new WorkUnit(status.Name, status.Tag, status.DownloadTime, RoleEnvironment.CurrentRoleInstance.Id) { Progress = status.Progress, StartTime = DateTime.UtcNow }; ctx.AddObject("workunit", workUnit); } // otherwise, update it else { workUnit.Progress = status.Progress; if (workUnit.Progress == 100) workUnit.CompleteTime = DateTime.UtcNow; ctx.UpdateObject(workUnit); } ctx.SaveChanges(); }