public virtual async Task <TEntity> UpdateAsyn(IUpdatableModel model, object key) { if (model == null) { return(null); } using (IDbConnection db = new SqlConnection(_connectionString)) { db.Execute(model.GetUpdateQuery(), model); } return((TEntity)model); }
public virtual async Task <T> UpdateAsyn(IUpdatableModel t, object key) { if (t == null) { return(null); } T exist = await _context.Set <T>().FindAsync(key); if (exist != null) { _context.Entry(exist).CurrentValues.SetValues(t.GetUpdatableProperties()); await _context.SaveChangesAsync(); } return(exist); }
private void CheckIfNeededToBeUpdated <T>(RestfullRequest <T> request, IUpdatableModel updatable, IObserver <T> observer) where T : class { var lastUpdated = updatable.LastUpdated; var lastUpdatedRequest = CallFactory.GetLastUpdatedRequest(request.ResourceUrl); Debug.WriteLine("WebClient::CheckIfNeededToBeUpdated " + lastUpdatedRequest.Url); lastUpdatedRequest.Execute() .Subscribe( resutl => { if (resutl.Data > lastUpdated) { Debug.WriteLine("WebClient::CheckIfNeededToBeUpdated::Updating " + request.Url); ExecuteRequest(request, observer); } else { observer.OnCompleted(); } }, ex => observer.OnCompleted()); }