protected void OnButtonApplyClicked(object sender, EventArgs e) { var mergeList = Duplicates.Where(x => x.Selected).ToList(); progressOp.Visible = true; progressOp.Adjustment.Value = 0; progressOp.Adjustment.Upper = mergeList.Count; progressOp.Text = "Ищем ссылки..."; QSMain.WaitRedraw(); var totalLinks = 0; foreach (var dup in mergeList) { var main = dup.Addresses.First(x => x.IsMain); foreach (var deleted in dup.Addresses.Where(x => !x.IsMain && !x.Ignore)) { totalLinks += ReplaceEntity.ReplaceEverywhere(uow, deleted.Address, main.Address); uow.Delete(deleted.Address); uow.Commit(); progressOp.Text = $"Ищем ссылки... Заменено {totalLinks} ссылок."; QSMain.WaitRedraw(); } ObservableDuplicates.Remove(dup); progressOp.Adjustment.Value++; QSMain.WaitRedraw(); } progressOp.Text = $"Готово. Заменено {totalLinks} ссылок."; }
protected void OnButtonReplaceClicked(object sender, EventArgs e) { var result = _replaceEntity.ReplaceEverywhere(UoW, entryreference1.Subject as Nomenclature, entryreference2.Subject as Nomenclature); UoW.Commit(); logger.Info("Заменено {0} ссылок.", result); entryreference1.Subject = null; entryreference2.Subject = null; }