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);
        }
Exemplo n.º 2
0
        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());
        }