Skip to content

Commit

Permalink
ExcelImporter: inconsistent column mapping filtering #490
Browse files Browse the repository at this point in the history
  • Loading branch information
apobekiaris committed Aug 17, 2019
1 parent f9bc08a commit bf71720
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
Expand Up @@ -84,7 +84,7 @@ public class ExcelImportDetailViewController : ObjectViewController<DetailView,E
ExcelImport.ValidateForImport();
}

protected ExcelImport ExcelImport => ((ExcelImport) View.CurrentObject);
public ExcelImport ExcelImport => ((ExcelImport) View.CurrentObject);
protected virtual void ValidateFile(){
if (ExcelImport.File.Content == null){
var result = Validator.RuleSet.NewRuleSetValidationMessageResult(ObjectSpace, "Invalid file", "Save",
Expand Down
21 changes: 11 additions & 10 deletions Xpand/Xpand.ExpressApp.Modules/ExcelImporter/ExcelImporterModule.cs
Expand Up @@ -9,6 +9,7 @@
using DevExpress.ExpressApp.Validation;
using DevExpress.Utils;
using Xpand.ExpressApp.ExcelImporter.BusinessObjects;
using Xpand.ExpressApp.ExcelImporter.Controllers;
using Xpand.ExpressApp.ExcelImporter.Services;
using Xpand.ExpressApp.SystemModule;
using Xpand.ExpressApp.Validation;
Expand Down Expand Up @@ -51,16 +52,16 @@ public sealed class ExcelImporterModule : XpandModuleBase {
if (InterfaceBuilder.RuntimeMode) {
_notificationsModule = Application.FindModule<NotificationsModule>();
_notificationsModule.NotificationsRefreshInterval = TimeSpan.FromSeconds(5);
var excelImportDetailView = Application.WhenDetailViewCreated().ToDetailView()
.When(typeof(ExcelImport));
Application.WhenMasterDetailDashboardViewItems().CombineLatest(excelImportDetailView,(tuple, view) =>
(tuple.listViewItem,excelImport:(ExcelImport)view.CurrentObject))
.Select(_ => {
var listView = ((ListView) _.listViewItem.InnerView);
var criteriaOperator = listView.ObjectSpace.GetCriteriaOperator<ExcelColumnMap>(map =>map.ExcelImport.Oid == _.excelImport.Oid);
listView.CollectionSource.Criteria[GetType().Name] =criteriaOperator;
return Unit.Default;
})
Application.WhenMasterDetailDashboardViewItems(typeof(ExcelColumnMap)).WithLatestFrom(Application.WhenWindowCreated()
.ToController<ExcelImportDetailViewController>()
.SelectMany(controller => controller.MapAction.WhenExecuted().Select(tuple => tuple)),
(tuple, valueTuple) => {
var criteriaOperator =
tuple.listViewItem.InnerView.ObjectSpace.GetCriteriaOperator<ExcelColumnMap>(map =>
map.ExcelImport.Oid == ((ExcelImportDetailViewController) valueTuple.e.Action.Controller).ExcelImport.Oid);
((ListView) tuple.listViewItem.InnerView).CollectionSource.Criteria[GetType().Name] = criteriaOperator;
return Unit.Default;
})
.Subscribe();
}
}
Expand Down

0 comments on commit bf71720

Please sign in to comment.