public static void Go(PhoneApplicationPage fromPage, Category category) { SelectionHandler = new PageActionHandler<Category>(); SelectionHandler.AfterSelected = delegate(Category item) { if ((item != null) && (item.Id != category.ParentCategoryId)) { if (category.ParentCategory != null) { category.ParentCategory.Childrens.Remove(category); } category.ParentCategory = item; if (item.Childrens.Count(p => p.Name == category.Name) == 0) { // reset order. category.Order = item.Childrens .Select(p => (int)p.Order).ToList().Max(p => p) + 1; item.Childrens.Add(category); } ((System.Collections.Generic.IEnumerable<AccountItem>)category.AccountItems).ForEach<AccountItem>(p => { p.RaisePropertyChangd("NameInfo"); }); ViewModelLocator.CategoryViewModel.Update(category); } }; fromPage.NavigateTo("/pages/CategoryManager/SelectParentCategoryPage.xaml?id={0}¤tName={1}&type={2}&childName={3}", new object[] { category.ParentCategoryId, category.ParentCategory == null ? "N/A" : category.ParentCategory.Name, category.CategoryType, category.Name }); }
public static void Go(PhoneApplicationPage fromPage, Category category) { SelectionHandler = new PageActionHandler<Category>(); SelectionHandler.AfterSelected = delegate(Category item) { if ((item != null) && (item.Id != category.ParentCategoryId)) { category.ParentCategory.Childrens.Remove(category); category.ParentCategory = item; if (!item.Childrens.Contains(category)) { item.Childrens.Add(category); } ((System.Collections.Generic.IEnumerable<AccountItem>)category.AccountItems).ForEach<AccountItem>(delegate(AccountItem p) { p.RaisePropertyChangd("NameInfo"); }); ViewModelLocator.CategoryViewModel.Update(category); } }; fromPage.NavigateTo("/pages/CategoryManager/SelectParentCategoryPage.xaml?id={0}¤tName={1}&type={2}&childName={3}", new object[] { category.ParentCategoryId, category.ParentCategory.Name, category.CategoryType, category.Name }); }
private void BrowserLib_Click(object sender, System.EventArgs e) { System.Action<PeopleProfile> action = null; if (this.peopleChooserHandler == null) { this.peopleChooserHandler = new PageActionHandler<PeopleProfile>(); this.peopleChooserHandler.GetItems = () => ViewModelLocator.PeopleViewModel.AccountBookDataContext.Peoples.AsEnumerable<PeopleProfile>(); if (action == null) { action = delegate(PeopleProfile result) { PeopleAssociationData item = new PeopleAssociationData { PeopleInfo = result, AttachedId = this.CurrentAttachedObjectId }; this.Peoples.Add(item); PeopleSelectorHandler.OnAfterAdd(item); }; } PeopleImporter.ResultGetter = action; } PeopleImporter.Go(this.peopleChooserHandler, this); }
private void PeopleTotalInfoTakerButton_Click(object sender, RoutedEventArgs e) { System.Action<PeopleAssociationData> action = null; System.Action<PeopleAssociationData> action2 = null; System.Action<PeopleAssociationData> action3 = null; if (this.peopleHandler == null) { this.peopleHandler = new PageActionHandler<PeopleAssociationData>(); if (action == null) { action = delegate(PeopleAssociationData i) { currentEditObject.Peoples.Add(i); if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } }; } this.peopleHandler.AfterAdd = action; if (action2 == null) { action2 = delegate(PeopleAssociationData i) { if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } }; } this.peopleHandler.Update = action2; if (action3 == null) { action3 = delegate(PeopleAssociationData i) { currentEditObject.Peoples.Remove(i); if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } }; } this.peopleHandler.AfterDelete = action3; this.peopleHandler.GetItems = () => currentEditObject.Peoples; AttachPeoplePage.PeopleSelectorHandler = this.peopleHandler; } AttachPeoplePage.Go(currentEditObject.Id, this); }
private PageActionHandler<Category> InitializeCategorySelectorDialogBox() { System.Action<Category> action = null; System.Func<Category> func = null; if (this.categorySelectorHandler == null) { this.categorySelectorHandler = new PageActionHandler<Category>(); if (action == null) { action = delegate(Category item) { if (item != null) { this.CategoryNameButton.DataContext = item.CategoryInfo; this.tempCategory = item; if (this.actionType == PageActionType.Add) { this.TotalMoneyBox.Text = item.DefaultAmountString; } } }; } this.categorySelectorHandler.AfterSelected = action; if (func == null) { func = () => this.tempCategory; } this.categorySelectorHandler.GetSelected = func; } return this.categorySelectorHandler; }
static MoneyBuildingPage() { BuildingHandler = new PageActionHandler<TypedKeyValuePair<string, decimal>>(); }
public static void Go(PageActionHandler<PeopleProfile> selectorHandler, PhoneApplicationPage fromPage) { PeopleSelectorHandler = selectorHandler; fromPage.NavigateTo("/pages/DialogBox/PeopleImporter.xaml"); }
public static void Go(PhoneApplicationPage fromPage, PageActionHandler<Category> categorySelectorHandler, ItemType categoryType, bool selectionMode = false) { SelectionModeHandler = categorySelectorHandler; fromPage.NavigateTo("/Pages/CategoryManager/CategoryManagment.xaml?type={0}&selectionMode={1}", new object[] { categoryType, selectionMode }); }
private void PeopleTotalInfoTakerButton_Click(object sender, RoutedEventArgs e) { if (this.peopleHandler == null) { this.peopleHandler = new PageActionHandler<PeopleAssociationData>(); this.peopleHandler.AfterAdd = (i) => { if (!IsSelectionMode) { currentEditObject.Peoples.Add(i); if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } } else { //... //i.Tag = PictureInfo.ScheduledAccountItemsTag; i.AttachedId = currentEditObject.AutoTokenId; // record pictures added. currentEditObject.AddPeople(i); if (actionType == PageActionType.Edit) { ViewModelLocator.PeopleViewModel.InsertAndSubmit(i); } } }; this.peopleHandler.Update = (i) => { if (actionType == PageActionType.Edit) { if (IsSelectionMode) { var peopleInfo = ViewModelLocator.AccountBookDataContext.PeopleAssociationDatas.FirstOrDefault(p => p.Id == i.Id); if (peopleInfo != null) { peopleInfo.Comments = i.Comments; ViewModelLocator.PeopleViewModel.Update<PeopleAssociationData>(peopleInfo); } } else { this.accountItemViewModel.Update(currentEditObject); } } }; this.peopleHandler.AfterDelete = (i) => { if (!IsSelectionMode) { currentEditObject.Peoples.Remove(i); if (this.actionType == PageActionType.Edit) { this.accountItemViewModel.Update(currentEditObject); } } else { // record pictures removed. currentEditObject.RemovePeople(i); if (actionType == PageActionType.Edit) { //... ViewModelLocator.PeopleViewModel.Delete(i); } } }; this.peopleHandler.GetItems = () => { if (IsSelectionMode) { return currentEditObject.PeoplesOutOfDatabase; } else { return currentEditObject.Peoples; } }; AttachPeoplePage.PeopleSelectorHandler = this.peopleHandler; } if (IsSelectionMode) { AttachPeoplePage.Go(currentEditObject.AutoTokenId, this); } else { AttachPeoplePage.Go(currentEditObject.Id, this); } }
public static void GoTo(PhoneApplicationPage fromPage, string pageNextGoTo, Action<string> afterFileChosenAndBeforeGoNext) { PageActionHandler = new PageActionHandler<string>(); PageActionHandler.AfterSelected = afterFileChosenAndBeforeGoNext; fromPage.NavigateTo("/Pages/DialogBox/BackupDatabaseChooser.xaml?pageNextGoTo={0}", pageNextGoTo); }
private void PeopleEditor_Click(object sender, RoutedEventArgs e) { System.Action<PeopleAssociationData> action = null; System.Action<PeopleAssociationData> action2 = null; System.Action<PeopleAssociationData> action3 = null; System.Func<IEnumerable<PeopleAssociationData>> func = null; if (this.peopleHandler == null) { this.peopleHandler = new PageActionHandler<PeopleAssociationData>(); if (action == null) { action = delegate(PeopleAssociationData i) { this.CurrentObject.Peoples.Add(i); this.accountItemViewModel.Update(this.CurrentObject); }; } this.peopleHandler.AfterAdd = action; if (action2 == null) { action2 = delegate(PeopleAssociationData i) { this.accountItemViewModel.Update(this.CurrentObject); }; } this.peopleHandler.Update = action2; if (action3 == null) { action3 = delegate(PeopleAssociationData i) { this.CurrentObject.Peoples.Remove(i); this.accountItemViewModel.Update(this.CurrentObject); }; } this.peopleHandler.AfterDelete = action3; if (func == null) { func = () => this.CurrentObject.Peoples; } this.peopleHandler.GetItems = func; AttachPeoplePage.PeopleSelectorHandler = this.peopleHandler; } AttachPeoplePage.Go(this.CurrentObject.Id, this); }