public virtual async Task <T> UpdateAsync(T item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            //item.Datestamp = DateTime.Now;
            //_dbContext.Set(item.GetType()).Attach(item);

            _dbContext.Entry(item).State = EntityState.Modified;
            if (UpdatingRecord != null)
            {
                UpdatingRecord.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }

            await _dbContext.SaveChangesAsync();

            if (RecordUpdated != null)
            {
                RecordUpdated.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }

            return(item);
        }
Example #2
0
        public virtual void Update(T item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            _dbContext.Entry(item).State = EntityState.Modified;
            if (UpdatingRecord != null)
            {
                UpdatingRecord.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }

            _dbContext.SaveChanges();
            if (RecordUpdated != null)
            {
                RecordUpdated.Invoke(this, new EntitySavingEventArgs <T>()
                {
                    SavedEntity = item
                });
            }
        }
        private async Task ExecuteUpdateRecord()
        {
            if (!CanSave())
            {
                return;
            }
            StartBeingBusy($"Updating ‹{TypeDescription}› record ...");

            UpdateRecord(Draft);
            await UpdateRecordAsync(Draft);

            RecordUpdated?.Invoke(this, Draft);

            AfterSaveCompleted(Draft);
        }
Example #4
0
        private async Task ExecuteUpdateRecord()
        {
            if (!CanSave())
            {
                return;
            }
            StartBeingBusy($"Updating ‹{TypeDescription}› record ...");

            UpdateRecord(Draft);
            await UpdateRecordAsync(Draft);

            RecordUpdated?.Invoke(this, Draft);
            SaveCompleted?.Invoke(this, EventArgs.Empty);

            StopBeingBusy();
            ReturnDialogResult(true);
        }