示例#1
0
 void ObjectsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
 {
     if (e.Action == NotifyCollectionChangedAction.Remove)
     {
         try
         {
             foreach (object item in e.OldItems)
             {
                 BlockViewModel UIObject = item as BlockViewModel;
                 BlocksDataAccess.DeleteObject(UIObject.GetDataObject());
             }
         }
         catch (Exception ex)
         {
             log.Error(ex.StackTrace);
         }
     }
 }
示例#2
0
        void ObjectsItemEndEdit(IEditableObject sender)
        {
            BlockViewModel UIObject = sender as BlockViewModel;

            try
            {
                int id = BlocksDataAccess.UpdateObject(UIObject.GetDataObject());
                if (id != -1)
                {
                    UIObject.Id = id;
                }
            }
            catch
            {
                UIObjects.Remove(UIObject);
                RadWindow.Alert(new DialogParameters
                {
                    Content = MessageUtil.FormatMessage("ERROR.DuplicatedEntryName", UIObject.Name)
                });
            }
        }
示例#3
0
        public BlocksCollectionViewModel GetObjects()
        {
            UIObjects = new BlocksCollectionViewModel();

            List <Block> dataObjects = BlocksDataAccess.GetObjects();

            foreach (Block dataObject in dataObjects)
            {
                UIObjects.Add(new BlockViewModel(dataObject));
            }

            if (UIObjects.Count == 0)
            {
                UIObjects.Add(new BlockViewModel());
            }

            UIObjects.ItemEndEdit       += new ItemEndEditEventHandler(ObjectsItemEndEdit);
            UIObjects.CollectionChanged += new NotifyCollectionChangedEventHandler(ObjectsCollectionChanged);

            return(UIObjects);
        }