private void PictureTotalInfoTakerButton_Click(object sender, RoutedEventArgs e) { if (this.picHandler == null) { this.picHandler = new PictureActionHandler(); this.picHandler.AfterAdd = (i) => { if (!IsSelectionMode && this.actionType == PageActionType.Edit) { ViewModelLocator.PicturesViewModel.SavePicture(new PictureInfo[] { i }); } if (!IsSelectionMode) { currentEditObject.Pictures.Add(i); } if (!IsSelectionMode && this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } if (IsSelectionMode) { //... i.Tag = PictureInfo.ScheduledAccountItemsTag; i.AttachedId = currentEditObject.AutoTokenId; // record pictures added. currentEditObject.AddPicture(i); if (actionType == PageActionType.Edit) { ViewModelLocator.PicturesViewModel.SavePicture(i); ViewModelLocator.PicturesViewModel.InsertAndSubmit(i); } } }; this.picHandler.Update = (i) => { if (this.actionType == PageActionType.Edit) { if (IsSelectionMode) { // update pic info var pic = ViewModelLocator.PicturesViewModel.AccountBookDataContext.PictureInfos.FirstOrDefault(p => p.Id == i.Id); if (pic != null) { pic.Comments = i.Comments; ViewModelLocator.PicturesViewModel.Update(pic); } } else { this.accountItemViewModel.Update(currentEditObject); } } }; this.picHandler.AfterDelete = (i) => { if (!IsSelectionMode) { currentEditObject.Pictures.Remove(i); } if (this.actionType == PageActionType.Edit && !IsSelectionMode) { ViewModelLocator.PicturesViewModel.DeletePicture(i); this.accountItemViewModel.Update(currentEditObject); } if (IsSelectionMode) { // record pictures removed. currentEditObject.RemovePicture(i); if (actionType == PageActionType.Edit) { //... ViewModelLocator.PicturesViewModel.DeletePicture(i); } } }; this.picHandler.GetItems = () => { if (IsSelectionMode) { return currentEditObject.PicturesOutOfDatabase; } else { return currentEditObject.Pictures; } }; PictureBrowser.PictureHandler = this.picHandler; } if (currentEditObject != null) { if (IsSelectionMode) { PictureBrowser.Go(currentEditObject.AutoTokenId, PictureInfo.ScheduledAccountItemsTag, this); } else { PictureBrowser.Go(currentEditObject.Id, PictureInfo.AccountItemsTag, this); } } }
private void PictureTotalInfoTakerButton_Click(object sender, RoutedEventArgs e) { System.Action<PictureInfo> action = null; System.Action<PictureInfo> action2 = null; System.Action<PictureInfo> action3 = null; if (this.picHandler == null) { this.picHandler = new PictureActionHandler(); if (action == null) { action = delegate(PictureInfo i) { if (this.actionType == PageActionType.Edit) { ViewModelLocator.PicturesViewModel.SavePicture(new PictureInfo[] { i }); } currentEditObject.Pictures.Add(i); if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } }; } this.picHandler.AfterAdd = action; if (action2 == null) { action2 = delegate(PictureInfo i) { if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } }; } this.picHandler.Update = action2; if (action3 == null) { action3 = delegate(PictureInfo i) { currentEditObject.Pictures.Remove(i); if (this.actionType == PageActionType.Edit) { ViewModelLocator.PicturesViewModel.DeletePicture(i); this.accountItemViewModel.Update(currentEditObject); } }; } this.picHandler.AfterDelete = action3; this.picHandler.GetItems = () => currentEditObject.Pictures; PictureBrowser.PictureHandler = this.picHandler; } if (currentEditObject != null) { PictureBrowser.Go(currentEditObject.Id, "AccountItmes", this); } }
private void PicturesEditor_Click(object sender, RoutedEventArgs e) { System.Action<PictureInfo> action = null; System.Action<PictureInfo> action2 = null; System.Action<PictureInfo> action3 = null; System.Func<IEnumerable<PictureInfo>> func = null; if (this.picHandler == null) { this.picHandler = new PictureActionHandler(); if (action == null) { action = delegate(PictureInfo i) { ViewModelLocator.PicturesViewModel.SavePicture(new PictureInfo[] { i }); this.CurrentObject.Pictures.Add(i); this.accountItemViewModel.Update(this.CurrentObject); }; } this.picHandler.AfterAdd = action; if (action2 == null) { action2 = delegate(PictureInfo i) { this.accountItemViewModel.Update(this.CurrentObject); }; } this.picHandler.Update = action2; if (action3 == null) { action3 = delegate(PictureInfo i) { this.CurrentObject.Pictures.Remove(i); ViewModelLocator.PicturesViewModel.DeletePicture(i); this.accountItemViewModel.Update(this.CurrentObject); }; } this.picHandler.AfterDelete = action3; if (func == null) { func = () => this.CurrentObject.Pictures; } this.picHandler.GetItems = func; PictureBrowser.PictureHandler = this.picHandler; } PictureBrowser.Go(this.CurrentObject.Id, "AccountItems", this); }