public override void Execute(DeleteCore core)
 {
     core.ExcuteDlg.AddExcuteOperation(String.Format("Очищаем ссылки в {0}", DomainHelper.GetSubjectNames(EntityType).NominativePlural));
     var propertyCache = EntityType.GetProperty (PropertyName);
     foreach(var item in ClearingItems)
     {
         logger.Debug ("Очищаем свойство {0} в {1}...", PropertyName, item.Title);
         propertyCache.SetValue (item.Entity, null, null);
         core.UoW.TrySave (item.Entity);
     }
 }
        internal static bool RunDialog(DeleteCore core)
        {
            bool answer;
            if (core.CountReferenceItems > 0) {
                var fullDlg = new DeleteDlg(core.ObjectsTreeStore);
                if (core.CountReferenceItems < 10)
                    fullDlg.treeviewObjects.ExpandAll ();
                fullDlg.Title = String.Format ("Удалить {0}?", core.DeletedItems [0].Title);
                answer = (ResponseType)fullDlg.Run () == ResponseType.Yes;
                fullDlg.Destroy();
            } else {
                MessageDialog md = new MessageDialog (null, DialogFlags.Modal,
                    MessageType.Question,
                    ButtonsType.YesNo, "Вы уверены что хотите удалить <b>" + core.DeletedItems [0].Title + "</b>?");
                md.Title = String.Format ("Удалить {0}?", core.DeletedItems [0].Title);

                answer = (ResponseType)md.Run () == ResponseType.Yes;
                md.Destroy();
            }
            return answer;
        }
 public EntityDTO GetSelfEntity(DeleteCore core, uint id)
 {
     return GetEntitiesList(String.Format("WHERE {0}.id = @id", TableName), id)[0];
 }
 public IList<EntityDTO> GetDependEntities(DeleteCore core, RemoveFromDependenceInfo depend, EntityDTO masterEntity)
 {
     throw new NotImplementedException ();
 }
 public IList<EntityDTO> GetDependEntities(DeleteCore core, ClearDependenceInfo depend, EntityDTO masterEntity)
 {
     return GetEntitiesList(depend.WhereStatment, masterEntity.Id);
 }
 public abstract void Execute(DeleteCore core);
        public override void Execute(DeleteCore core)
        {
            ChildBeforeOperations.ForEach (o => o.Execute (core));

            core.ExcuteDlg.AddExcuteOperation(String.Format("Удаляем из таблицы {0}", TableName));
            core.ExecuteSql(
                String.Format ("DELETE FROM {0} {1}", TableName, WhereStatment),
                ItemId);

            ChildAfterOperations.ForEach (o => o.Execute (core));
        }
        public override void Execute(DeleteCore core)
        {
            var sql = new DBWorks.SQLHelper ("UPDATE {0} SET ", TableName);
            sql.Add ("{0} = NULL ", CleanField);
            sql.Add (WhereStatment);

            core.ExcuteDlg.AddExcuteOperation(String.Format("Очищаем ссылки в таблице {0}", TableName));
            core.ExecuteSql(sql.Text, ItemId);
        }
 public override void Execute(DeleteCore core)
 {
     core.ExcuteDlg.AddExcuteOperation(String.Format("Очищаем коллекции в {0}", DomainHelper.GetSubjectNames(RemoveInClassType).NominativePlural));
     var collectionProp = RemoveInClassType.GetProperty (CollectionName);
     var removeMethod = String.IsNullOrEmpty (RemoveMethodName) ? null : RemoveInClassType.GetMethod (RemoveMethodName);
     foreach(var item in RemoveInItems)
     {
         logger.Debug ("Удаляем {2} из коллекции {0} в {1}...", CollectionName, item.Title, RemovingEntity.Title);
         if(removeMethod != null)
         {
             if (item.Entity is IBusinessObject)
                 (item.Entity as IBusinessObject).UoW = core.UoW;
             removeMethod.Invoke (item.Entity, new object[] {RemovingEntity.Entity});
         }
         else
         {
             var collection = (IList)collectionProp.GetValue (item.Entity, null);
             collection.Remove (RemovingEntity.Entity);
         }
         core.UoW.TrySave (item.Entity);
     }
 }
        public override void Execute(DeleteCore core)
        {
            ChildBeforeOperations.ForEach (o => o.Execute (core));

            core.ExcuteDlg.AddExcuteOperation(String.Format("Удаляем {0}", DomainHelper.GetSubjectNames(DeletingItems[0].Entity).NominativePlural));
            foreach(var item in DeletingItems)
            {
                logger.Debug ("Удаляем {0}...", item.Title);
                core.UoW.TryDelete (item.Entity);
            }

            ChildAfterOperations.ForEach (o => o.Execute (core));
        }