Ejemplo n.º 1
0
        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;
        }