public PeriodsCollectionViewModel GetObjects() { UIObjects = new PeriodsCollectionViewModel(); List <Period> dataObjects = PeriodsDataAccess.GetObjects(); foreach (Period dataObject in dataObjects) { UIObjects.Add(new PeriodViewModel(dataObject)); } UIObjects.ItemEndEdit += new ItemEndEditEventHandler(ObjectsItemEndEdit); UIObjects.CollectionChanged += new NotifyCollectionChangedEventHandler(ObjectsCollectionChanged); return(UIObjects); }
void ObjectsCollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { if (e.Action == NotifyCollectionChangedAction.Remove) { try { foreach (object item in e.OldItems) { PeriodViewModel UIObject = item as PeriodViewModel; PeriodsDataAccess.DeleteObject(UIObject.GetDataObject()); } } catch (Exception ex) { log.Error(ex.StackTrace); } } }
void ObjectsItemEndEdit(IEditableObject sender) { PeriodViewModel UIObject = sender as PeriodViewModel; try { int id = PeriodsDataAccess.UpdateObject(UIObject.GetDataObject()); if (id != -1) { UIObject.Id = id; } } catch { UIObjects.Remove(UIObject); RadWindow.Alert(new DialogParameters { Content = MessageUtil.FormatMessage("ERROR.DuplicatedEntry", UIObject.Name, UIObject.Case) }); } }