Beispiel #1
0
        protected override void Save()
        {
            IsListLoading = true;
            WorkCurrentItemBinding();
            List <T> newItems     = GetNewItems();
            List <T> delItems     = Mapper.Map <List <T> >(ListItems.Deleted.ToList());
            List <T> changedItems = Mapper.Map <List <T> >(ListItems.Changed.ToList());
            TrackableContainer <T> trackableContainer = new TrackableContainer <T>(changedItems, newItems, delItems);

            DoSaveEditable(trackableContainer).Subscribe((res) => {
                if (res)
                {
                    ListItems.EndEdit();
                    EditMode = EditMode.ReadOnly;
                }
                else
                {
                    ShowMessageBox("Error occured while saving data.", "Error", System.Windows.MessageBoxButton.OK);
                }
                IsListLoading = false;
            }, (e) => {
                ShowMessageBox("Error occured while saving data.", "Error", System.Windows.MessageBoxButton.OK);
                IsListLoading = false;
            });
        }
Beispiel #2
0
 protected abstract IObservable <bool> DoSaveEditable(TrackableContainer <T> trackableContainer);
Beispiel #3
0
        protected override IObservable <bool> DoSaveEditable(TrackableContainer <CategoryDTO> trackableContainer)
        {
            var service = (CategoryService)Service;

            return(Observable.FromAsync(() => service.SaveTrackableList(trackableContainer)));
        }
Beispiel #4
0
 public async Task <bool> SaveEditableList(TrackableContainer <CategoryDTO> trackableCollection = null)
 {
     return(await ServiceProvider.GetService <ICategoryManager>().SaveEditableListAsync(trackableCollection));
 }