/// <summary> /// The get detail data source. /// </summary> /// <param name="itemSelected"> /// The item selected. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> public async Task GetDetailDataSource(RegisteredAssetRowItem itemSelected) { this.ListAssetRegisters = new ObservableCollection<AssetRegisterRowItem>(await RegisteredAssetFunction.GetListRegister()); this.ListAssetRegisters.Insert( 0, new AssetRegisterRowItem { ID = -1, RegisterName = "<None>", }); this.ListAssetSupplier = new ObservableCollection<AssetRelationRowItem>(await RegisteredAssetFunction.GetListSupplier()); this.ListAssetSupplier.Insert( 0, new AssetRelationRowItem { NodeId = -1, NodeName = "<None>", }); this.ListAssetSubStatus = new ObservableCollection<SystemParam>(await RegisteredAssetFunction.GetListSubStatus()); this.ListAssetSubStatus.Insert( 0, new SystemParam { ParamId = -1, DisplayName = "<None>", }); this.IsGlModuleKey = await Authorisation.IsModuleInstalledAsync(Modules.GLModule); // Load data for equip search control this.GetDataForEquipSearch(); if (itemSelected.Id != 0) { this.RegisterAssetId = itemSelected.Id; this.AssetStatus = itemSelected.AssetStatus; this.StateId = itemSelected.StateId; this.StatusId = itemSelected.StatusId; this.AssetState = itemSelected.AssetState; this.AssetAcquisitionDate = itemSelected.AcqDate; this.AssetPoNumber = itemSelected.PONumber; this.AssetContractNum = itemSelected.ContractNumber; this.AssetSerialNum = itemSelected.SerialNumber; this.AssetDescription = itemSelected.Description; this.AssetGst = itemSelected.GstAsset; this.NetAssetCost = itemSelected.Cost; this.TotalAssetCost = this.NetAssetCost + this.AssetGst; this.AssetPoNumber = itemSelected.PONumber; this.InternalCompanyId = itemSelected.InternalCoyNodeId; this.FinancerId = itemSelected.FinancierNodeId; this.AssetAnnexure = RegisteredAssetFunction.GetAssetAnnexure(itemSelected.Id); this.SelectedRegister = await AssetRegisterFunction.GetAssetRegisterDetail(itemSelected.AssetRegisterId); this.AssetEffectiveDate = RegisteredAssetFunction.GetEffectiveDay(itemSelected.Id); if (this.AssetEffectiveDate == null) { this.AssetEffectiveDate = DateTime.Today; } // Load data for equip search control // this.GetDataForEquipSearch(); this.CurrentSearchResultItem = new EquipSearchRowItem { EquipCategoryId = itemSelected.CategoryId, EquipTypeId = itemSelected.TypeId, EquipMakeId = itemSelected.MakeId, EquipModelId = itemSelected.ModelId, }; EquipSearchRowItem serachItemResult = new EquipSearchRowItem { EquipCategoryId = itemSelected.CategoryId, EquipTypeId = itemSelected.TypeId, EquipMakeId = itemSelected.MakeId, EquipModelId = itemSelected.ModelId, }; await this.GenerateDataSearchSelected(serachItemResult); // Get data for Report company drop down list if (this.DynamicComboBoxReportCompany.SelectedItem != null) { await this.GetDataForReportCompanyComboBox(itemSelected.AssetRegisterId, this.DynamicComboBoxReportCompany.SelectedItem.ItemId); } else { await this.GetDataForReportCompanyComboBox(itemSelected.AssetRegisterId, -1); } // Get data for Location drop down list await this.GetDataForLocationComboBox(itemSelected.AssetRegisterId, itemSelected.AssetRegisterLocationId); this.SelectRegisterDefault = this.ListAssetRegisters.FirstOrDefault(x => x.ID.Equals(itemSelected.AssetRegisterId)); if (this.ListAssetSupplier.FirstOrDefault(x => x.NodeId.Equals(itemSelected.SupplierNodeId)) != null) { this.SelectSupplierDefault = this.ListAssetSupplier.FirstOrDefault(x => x.NodeId.Equals(itemSelected.SupplierNodeId)); } else { this.SelectSupplierDefault = this.ListAssetSupplier.FirstOrDefault(x => x.NodeId == -1); } if (this.ListAssetSubStatus.FirstOrDefault(x => x.ParamId.Equals(itemSelected.SpAssetStatus)) != null) { this.SelectSubDefault = this.ListAssetSubStatus.FirstOrDefault(x => x.ParamId.Equals(itemSelected.SpAssetStatus)); } else { this.SelectSubDefault = this.ListAssetSubStatus.FirstOrDefault(x => x.ParamId == -1); } // Get and load data for Grid Feature this.AllRegisteredFeature = new ObservableCollection<RegisteredAssetFeatureRowItem>(await RegisteredAssetFunction.GetRegisteredFeatureItems(itemSelected.Id)); this.UpdateDataForFeatureGrid(); } else { this.RegisterAssetId = itemSelected.Id; this.AssetStatus = itemSelected.AssetStatus; this.AssetState = itemSelected.AssetState; this.StatusId = itemSelected.StatusId; this.StateId = itemSelected.StateId; this.AssetAcquisitionDate = itemSelected.AcqDate; this.AssetPoNumber = null; this.AssetContractNum = null; this.AssetSerialNum = null; this.AssetDescription = null; this.AssetGst = 0; this.NetAssetCost = 0; this.TotalAssetCost = this.NetAssetCost + this.NetAssetCost; this.AssetPoNumber = null; this.AssetAnnexure = null; this.SelectRegisterDefault = this.ListAssetRegisters.FirstOrDefault(x => x.IsDefault); var assetRegisterRowItem = this.SelectRegisterDefault; if (assetRegisterRowItem != null) { // Get data for Report company drop down list if (this.DynamicComboBoxReportCompany.SelectedItem != null) { await this.GetDataForReportCompanyComboBox(assetRegisterRowItem.ID, this.DynamicComboBoxReportCompany.SelectedItem.ItemId); } else { await this.GetDataForReportCompanyComboBox(assetRegisterRowItem.ID, -1); } this.ListLocations = new ObservableCollection<AssetRegisterLocationRowItem>( await AssetRegisterFunction.GetLocationsForRegister(assetRegisterRowItem.ID)); } this.ListLocations.Insert( 0, new AssetRegisterLocationRowItem { AssetRegisterLocationID = -1, LocationName = "<None>", }); this.SelectLocationDefault = this.ListLocations.FirstOrDefault( x => x.AssetRegisterLocationID.Equals(-1)); this.SelectSupplierDefault = this.ListAssetSupplier.FirstOrDefault(x => x.NodeId.Equals(-1)); this.SelectSubDefault = this.ListAssetSubStatus.FirstOrDefault(x => x.ParamId.Equals(-1)); } this.SelectedRegisteredAsset = new RegisteredAssetRowItem { Id = this.RegisterAssetId, AssetRegisterId = this.RegisterAssetId, AssetStatus = this.AssetStatus, StateId = this.StateId, StatusId = this.StatusId, AssetState = this.AssetState, AcqDate = this.AssetAcquisitionDate, PONumber = this.AssetPoNumber, SerialNumber = this.AssetSerialNum, ContractNumber = this.AssetContractNum, Description = this.AssetDescription, GstAsset = this.AssetGst, Cost = this.NetAssetCost, FinancierNodeId = this.FinancerId, InternalCoyNodeId = this.InternalCompanyId, }; }
/// <summary> /// The get data for save transfer mode. /// </summary> /// <param name="selectItem"> /// The select Item. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> public async Task GetDataForSaveTransferMode(RegisteredAssetRowItem selectItem) { if (selectItem != null && this.SelectRegisterDefault != null && this.DynamicComboBoxReportCompany.SelectedItem != null && this.AssetEffectiveDate != null) { await RegisteredAssetFunction.SaveDataForTransferMode( selectItem, this.SelectRegisterDefault, this.DynamicComboBoxReportCompany.SelectedItem, this.AssetEffectiveDate); selectItem.AssetRegisterId = this.SelectRegisterDefault.ID; if (AssetRegisterFunction.GetCategory() == 5 && await Authorisation.IsModuleInstalledAsync(Modules.GLModule)) { selectItem.FinancierNodeId = this.DynamicComboBoxReportCompany.SelectedItem.ItemId; } if (AssetRegisterFunction.GetCategory() == 7) { selectItem.InternalCoyNodeId = this.DynamicComboBoxReportCompany.SelectedItem.ItemId; } RegisteredAssetFunction.InsertHistoryRecord(selectItem, this.AssetEffectiveDate); } }
/// <summary> /// update right hand grid when add or edit a record. /// </summary> /// <param name="currentStep"> /// The current Step. /// </param> /// <param name="item"> /// The item. /// </param> private void ContentViewModel_OnPropertyChanged(EnumSteps currentStep, object item) { switch (Screen) { #region User case EnumScreen.Users: var mainWindowDetailsTabControlViewModelUsers = this.ScreenDetailViewModel as MainWindowDetailsTabControlViewModel; if (mainWindowDetailsTabControlViewModelUsers != null) { var usersViewModel = mainWindowDetailsTabControlViewModelUsers.UsersMainWindowDetailsVm.ScreenDetailViewModel as UsersViewModel; if (usersViewModel != null && usersViewModel.AllUsers != null) { UserMapping userMapping = new UserMapping(); var user = usersViewModel.AllUsers.FirstOrDefault(x => x == item as UserDetails); if (user != null) { userMapping.UserEntityId = user.UserEntityId; userMapping.LoginName = user.UserCredentials.LoginName; userMapping.IsEnabled = user.UserCredentials.IsEnabled; DataRow editItem = null; foreach (var row in ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { var userDetails = item as UserDetails; if (userDetails != null && row["UserEntityId"].ToString() == userDetails.UserEntityId.ToString(CultureInfo.InvariantCulture)) { editItem = row; break; } } if (editItem != null) { ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); ToggleViewModel.GridDynamicViewModel.InsertRow(index, userMapping); } else { ToggleViewModel.GridDynamicViewModel.AddRow(userMapping); } ToggleViewModel.SetSelectedItem(user); } } } break; #endregion #region Group case EnumScreen.Groups: var mainWindowDetailsTabControlViewModelGroups = this.ScreenDetailViewModel as MainWindowDetailsTabControlViewModel; if (mainWindowDetailsTabControlViewModelGroups != null) { var groupsViewModel = mainWindowDetailsTabControlViewModelGroups.GroupsMainWindowDetailsVm.ScreenDetailViewModel as GroupsViewModel; if (groupsViewModel != null && groupsViewModel.Groups != null) { GroupMapping groupMapping = new GroupMapping(); var group = groupsViewModel.Groups.FirstOrDefault(x => x == item as GroupDetails); if (group != null) { groupMapping.UserEntityId = group.UserEntityId; groupMapping.GroupName = group.LXMGroup.GroupName; DataRow editItem = null; foreach (var row in ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { var groupDetails = item as GroupDetails; if (groupDetails != null && row["UserEntityId"].ToString() == groupDetails.UserEntityId.ToString(CultureInfo.InvariantCulture)) { editItem = row; break; } } if (editItem != null) { ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); ToggleViewModel.GridDynamicViewModel.InsertRow(index, groupMapping); } else { ToggleViewModel.GridDynamicViewModel.AddRow(groupMapping); } ToggleViewModel.SetSelectedItem(group); } } } break; #endregion #region ColletionQueues case EnumScreen.ColletionQueues: var collectionQueueViewModel = this.ScreenDetailViewModel as MainWindowDetailsTabControlCollectionQueueViewModel; QueueDetailsModel queueSource = item as QueueDetailsModel; if (collectionQueueViewModel != null) { var collectionManagementViewModel = collectionQueueViewModel.ListMainWindowDetailsVm.ScreenDetailViewModel as CollectionsManagementViewModel; if (collectionManagementViewModel != null && collectionManagementViewModel.AllQueueManagementDetails != null) { CollectionsManagementMapping collectionsManagementMapping = new CollectionsManagementMapping(); var queue = collectionManagementViewModel.AllQueueManagementDetails.FirstOrDefault(d => queueSource != null && d.QueueDetailId == queueSource.QueueDetailId); if (queue != null) { collectionsManagementMapping.Enabled = queue.CollectionQueue.Enabled; collectionsManagementMapping.ID = queue.CollectionQueue.ID; collectionsManagementMapping.QueueName = queue.CollectionQueue.QueueName; collectionsManagementMapping.AssignmentOrder = queue.CollectionQueue.AssignmentOrder; DataRow editItem = null; foreach (var row in ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { var queueDetailsModel = item as QueueDetailsModel; if (queueDetailsModel != null && row["ID"].ToString() == queueDetailsModel.QueueDetailId.ToString(CultureInfo.InvariantCulture)) { editItem = row; break; } } if (editItem != null) { ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); ToggleViewModel.GridDynamicViewModel.InsertRow(index, collectionsManagementMapping); } else { ToggleViewModel.GridDynamicViewModel.AddRow(collectionsManagementMapping); } ToggleViewModel.SetSelectedItem(queue); } } } break; #endregion #region CollectionAssignment case EnumScreen.CollectionAssignment: var collectionAssignmentViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel; if (collectionAssignmentViewModel != null) { var viewModel = collectionAssignmentViewModel.ScreenDetailViewModel as CollectionsAssignmentViewModel; CollectionAssignmentModel itemSource = item as CollectionAssignmentModel; if (viewModel != null && itemSource != null) { CollectionAssignmentMapping collectionAssignmentMapping = new CollectionAssignmentMapping(); var collectionAssignment = viewModel.FilteredItems.FirstOrDefault(d => d.QueueID == itemSource.QueueID && d.ContractId == itemSource.ContractId); if (collectionAssignment != null) { collectionAssignmentMapping.QueueID = collectionAssignment.QueueID; collectionAssignmentMapping.FollowUpDate = collectionAssignment.FollowUpDate; collectionAssignmentMapping.ContractId = collectionAssignment.ContractId; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { var collectionAssignmentModel = item as CollectionAssignmentModel; if (row["QueueID"].ToString() == collectionAssignmentModel.QueueID.ToString(CultureInfo.InvariantCulture) && row["ContractId"].ToString() == collectionAssignmentModel.ContractId.ToString(CultureInfo.InvariantCulture)) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow(index, collectionAssignmentMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(collectionAssignmentMapping); } this.ToggleViewModel.SetSelectedItem(collectionAssignment); } } } break; #endregion #region FundingSummary case EnumScreen.FundingSummary: var fundingViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel; if (fundingViewModel != null) { var fundingSummaryViewModel = fundingViewModel.ScreenDetailViewModel as FundingSummaryViewModel; FundingSummaryMaping fundingSummaryMapping = new FundingSummaryMaping(); if (fundingSummaryViewModel != null) { var fundingSummary = fundingSummaryViewModel.TrancheSummary.FirstOrDefault(x => x.TrancheId == (int)item); if (fundingSummary != null) { fundingSummaryMapping.TrancheId = fundingSummary.TrancheId; fundingSummaryMapping.FunderName = fundingSummary.FunderName; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["TrancheId"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow( index, fundingSummaryMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(fundingSummaryMapping); } this.ToggleViewModel.SetSelectedItem(fundingSummary); } else { if (currentStep == EnumSteps.Delete) { DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["TrancheId"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = false; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); } this.ToggleViewModel.SetSelectedItem(null); } } } } break; #endregion #region Asset Class Category case EnumScreen.AssetClassesCategory: var mainWindowDetailsTabControlViewModelCategory = this.ScreenDetailViewModel as MainAssetClassesViewModel; if (mainWindowDetailsTabControlViewModelCategory != null) { var categoryViewModel = mainWindowDetailsTabControlViewModelCategory.AssetCategoryViewModel.ScreenDetailViewModel as AssetClassesCategoryViewModel; if (categoryViewModel != null && categoryViewModel.ListDataGridItem != null) { AssetClassesCategoryRowItem categoryMapping = new AssetClassesCategoryRowItem(); var category = categoryViewModel.ListDataGridItem.FirstOrDefault(x => x.EquipCategoryId == (item as EquipCategory).EquipCatId); if (category != null) { categoryMapping.EquipCategoryId = (item as EquipCategory).EquipCatId; categoryMapping.Category = (item as EquipCategory).Description; categoryMapping.Enabled = (item as EquipCategory).Enabled; DataRow editItem = null; foreach (var row in ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["EquipCategoryId"].ToString() == (item as EquipCategory).EquipCatId.ToString()) { editItem = row; break; } } if (editItem != null) { ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); ToggleViewModel.GridDynamicViewModel.InsertRow(index, categoryMapping); } else { ToggleViewModel.GridDynamicViewModel.AddRow(categoryMapping); } ToggleViewModel.SetSelectedItem(item); } } } break; #endregion #region Asset Class Type case EnumScreen.AssetClassesType: var mainWindowDetailsTabControlViewModelType = this.ScreenDetailViewModel as MainAssetClassesViewModel; if (mainWindowDetailsTabControlViewModelType != null) { var typeViewModel = mainWindowDetailsTabControlViewModelType.AssetClassesTypeViewModel.ScreenDetailViewModel as AssetClassesTypeViewModel; if (typeViewModel != null && typeViewModel.ListDataGridItem != null) { AssetClassesTypeRowItem typeMapping = new AssetClassesTypeRowItem(); var type = typeViewModel.ListDataGridItem.FirstOrDefault(x => x.EquipTypeId == (item as EquipType).EquipTypeId); if (type != null) { typeMapping.EquipTypeId = (item as EquipType).EquipTypeId; typeMapping.TypeDescription = (item as EquipType).Description; typeMapping.Enabled = (item as EquipType).Enabled; DataRow editItem = null; foreach (var row in ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["EquipTypeId"].ToString() == (item as EquipType).EquipTypeId.ToString()) { editItem = row; break; } } if (editItem != null) { ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); ToggleViewModel.GridDynamicViewModel.InsertRow(index, typeMapping); } else { ToggleViewModel.GridDynamicViewModel.AddRow(typeMapping); } ToggleViewModel.SetSelectedItem(item); } } } break; #endregion #region AssetClassesModel case EnumScreen.AssetClassesModel: var modelViewModel = this.ScreenDetailViewModel as MainAssetClassesViewModel; if (modelViewModel != null) { var modelDetailViewModel = modelViewModel.AssetClassesModelViewModel.ScreenDetailViewModel as AssetClassesModelViewModel; AssetClassesModelRowItem assetModelMapping=new AssetClassesModelRowItem(); if (modelDetailViewModel != null) { var assetDetail = modelDetailViewModel.AllAssetModel.FirstOrDefault(x=> x.EquipModelId == ((EquipModel)item).EquipModelId); if (assetDetail != null) { assetModelMapping.EquipModelId = assetDetail.EquipModelId; assetModelMapping.Description = assetDetail.Description; assetModelMapping.Enabled = assetDetail.Enabled; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["EquipModelId"].ToString() == ((EquipModel)item).EquipModelId.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow( index, assetModelMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(assetModelMapping); } this.ToggleViewModel.SetSelectedItem(item); } } } break; #endregion #region AssetFeatures case EnumScreen.AssetFeatures: var featureViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel; if (featureViewModel != null) { var assetFeatureViewModel = featureViewModel.ScreenDetailViewModel as AssetFeaturesViewModel; AssetFeatureTypeRowItem featureTypeMapping = new AssetFeatureTypeRowItem(); if (assetFeatureViewModel != null) { var feature = assetFeatureViewModel.AllFeatureTypes.FirstOrDefault(x => x.FeatureTypeId == (int)item); if (feature != null) { featureTypeMapping.FeatureTypeId = feature.FeatureTypeId; featureTypeMapping.FeatureName = feature.FeatureName; featureTypeMapping.Enabled = feature.Enabled; featureTypeMapping.RequiredLength = feature.RequiredLength == -1 ? "N/A" : feature.RequiredLength.ToString(); DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["FeatureTypeId"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow( index, featureTypeMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(featureTypeMapping); } this.ToggleViewModel.SetSelectedItem(feature); } else { if (currentStep == EnumSteps.Delete) { DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["FeatureTypeId"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = false; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); } this.ToggleViewModel.SetSelectedItem(null); } } } } break; #endregion #region AssetClassesMake case EnumScreen.AssetClassesMake: var makeViewModel = this.ScreenDetailViewModel as MainAssetClassesViewModel; if (makeViewModel != null) { var assetClassesMakeViewModel = makeViewModel.AssetClassesMakeViewModel.ScreenDetailViewModel as AssetClassesMakeViewModel; AssetClassesMakeRowItem makeTypeMapping = new AssetClassesMakeRowItem(); if (assetClassesMakeViewModel != null) { var make = assetClassesMakeViewModel.AllAssetMake.FirstOrDefault(x => x.EquipMakeId == (int)item); if (make != null) { makeTypeMapping.EquipMakeId = make.EquipMakeId; makeTypeMapping.Description = make.Description; makeTypeMapping.Enabled = make.Enabled; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["EquipMakeId"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow(index, makeTypeMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(makeTypeMapping); } this.ToggleViewModel.SetSelectedItem(make); } } } break; #endregion #region Asset Collateral Classes case EnumScreen.AssetCollateralClasses: var collateralViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel; if (collateralViewModel != null) { var assetCollateralViewModel = collateralViewModel.ScreenDetailViewModel as AssetCollateralClassesViewModel; AssetCollateralRowItem collateralMapping = new AssetCollateralRowItem(); if (assetCollateralViewModel != null) { var collateral = assetCollateralViewModel.AllCollateralClasses.FirstOrDefault(x => x.CollateralClassID == (int)item); if (collateral != null) { collateralMapping.Description = collateral.Description; collateralMapping.CollateralClassID = collateral.CollateralClassID; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["CollateralClassID"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow( index, collateralMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(collateralMapping); } this.ToggleViewModel.SetSelectedItem(collateral); } } } break; #endregion #region AssetRegister case EnumScreen.AssetRegisters: var registerViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel; if (registerViewModel != null) { var assetRegisterViewModel = registerViewModel.ScreenDetailViewModel as AssetRegistersViewModel; AssetRegisterRowItem registerMapping = new AssetRegisterRowItem(); if (assetRegisterViewModel != null) { var register = assetRegisterViewModel.AllAssetRegister.FirstOrDefault(x => x.ID == (int)item); if (register != null) { registerMapping.ID = register.ID; registerMapping.RegisterName = register.RegisterName; registerMapping.InternalOnly = register.InternalOnly; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["ID"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow(index, registerMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(registerMapping); } this.ToggleViewModel.SetSelectedItem(register); } else { DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["ID"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = false; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); } this.ToggleViewModel.SetSelectedItem(null); } } } break; #endregion #region RegisteredAsset case EnumScreen.RegisteredAsset: var registeredAssetViewModel = this.ScreenDetailViewModel as MainWindowDetailsViewModel; if (registeredAssetViewModel != null) { var assetRegisterViewModel = registeredAssetViewModel.ScreenDetailViewModel as RegisteredAssetViewModel; RegisteredAssetRowItem registerMapping = new RegisteredAssetRowItem(); if (assetRegisterViewModel != null) { var register = assetRegisterViewModel.AllRegisteredAsset.FirstOrDefault(x => x.Id == (int)item); if (register != null) { registerMapping.Id = register.Id; registerMapping.AssetRegisterId = register.AssetRegisterId; registerMapping.AssetState = register.AssetState; DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["Id"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = true; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); this.ToggleViewModel.GridDynamicViewModel.InsertRow(index, registerMapping); } else { this.ToggleViewModel.GridDynamicViewModel.AddRow(registerMapping); } this.ToggleViewModel.SetSelectedItem(register); } else { DataRow editItem = null; foreach (var row in this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows) { if (row["Id"].ToString() == item.ToString()) { editItem = row; break; } } if (editItem != null) { this.ToggleViewModel.GridDynamicViewModel.IsSetSelectedItem = false; int index = this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.IndexOf(editItem); this.ToggleViewModel.GridDynamicViewModel.MembersTable.Rows.RemoveAt(index); } this.ToggleViewModel.SetSelectedItem(null); } } } break; #endregion } }