public void DeleteSubDetailRow() { if (SelectedSubDetailRows != null) { var res = MessageBox.Show("Are You To Delete SelectedRecords From Database ?", "Delete", MessageBoxButton.OKCancel); if (res == MessageBoxResult.OK) { var ListInt = SelectedSubDetailRows.Select(w => w.Iserial).ToList(); var ObsInt = new ObservableCollection <int>(); foreach (var item in ListInt) { ObsInt.Add(item); } if (AllowDelete != true) { MessageBox.Show(strings.AllowDeleteMsg); return; } Glclient.DeleteTblJournalSettingCostCenterAsync(ObsInt, LoggedUserInfo.DatabasEname); foreach (var row in SelectedSubDetailRows.Where(w => w.Iserial == 0).ToList()) { SelectedMainRow.SubDetailList.Remove(row); } if (!SelectedMainRow.SubDetailList.Any()) { AddNewDetailRow(false); } } } }