Esempio n. 1
0
 public static void Edit(this Item item, Action<ItemEditArgs> action)
 {
     var args = new ItemEditArgs();
     try
     {
         item.Editing.BeginEdit();
         action(args);
         if (args.Save)
         {
             item.Editing.EndEdit(args.UpdateStatistics, args.Silent);
         }
         else
         {
             item.Editing.CancelEdit();
         }
     }
     catch
     {
         if (args.SaveOnError)
         {
             item.Editing.EndEdit(args.UpdateStatistics, args.Silent);
         }
         else
         {
             item.Editing.CancelEdit();
         }
         throw;
     }
 }
Esempio n. 2
0
        public static void Edit(this Item item, Action <ItemEditArgs> action)
        {
            var args = new ItemEditArgs();

            try
            {
                var wasEditing = item.Editing.IsEditing;
                if (!wasEditing)
                {
                    item.Editing.BeginEdit();
                }
                action(args);
                if (!wasEditing)
                {
                    if (args.Save)
                    {
                        item.Editing.EndEdit(args.UpdateStatistics, args.Silent);
                    }
                    else
                    {
                        item.Editing.CancelEdit();
                    }
                }
            }
            catch
            {
                if (args.SaveOnError)
                {
                    item.Editing.EndEdit(args.UpdateStatistics, args.Silent);
                }
                else
                {
                    item.Editing.CancelEdit();
                }
                throw;
            }
        }