void InitPage(CrudAPI crudapi) { leBaseBudget.api = crudapi; layoutControl = layoutItems; if (LoadedRow == null) { frmRibbon.DisableButtons(new string[] { "Delete" }); editrow = CreateNew() as GLBudgetClient; } layoutItems.DataContext = editrow; frmRibbon.OnItemClicked += frmRibbon_OnItemClicked; }
async void SaveAndOpenLines(GLBudgetClient selectedItem) { if (dgGlBudget.HasUnsavedData) { var tsk = saveGrid(selectedItem); if (tsk != null && selectedItem.RowId == 0) { await tsk; } } if (selectedItem.RowId != 0) { AddDockItem(TabControls.GLBudgetLinePage, selectedItem, string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("BudgetLines"), selectedItem._Name)); } }
private void localMenu_OnItemClicked(string ActionType) { var selectedItem = dgGlBudget.SelectedItem as GLBudgetClient; switch (ActionType) { case "AddRow": AddDockItem(TabControls.GLBudgetPage2, api, Uniconta.ClientTools.Localization.lookup("BudgetModel"), "Add_16x16.png"); break; case "EditRow": if (selectedItem != null) { AddDockItem(TabControls.GLBudgetPage2, selectedItem); } break; case "SaveGrid": saveGrid(selectedItem); break; case "CopyRow": if (selectedItem == null) { return; } CWCopyBudget cwCopyBudget = new CWCopyBudget(selectedItem._Name); cwCopyBudget.Closing += async delegate { if (cwCopyBudget.DialogResult == true) { int AddMonth = cwCopyBudget.Months; double PctFactor = cwCopyBudget.Pct; double Factor = PctFactor != 0d ? (PctFactor + 100d) / 100d : 0d; ErrorCodes err = ErrorCodes.NoSucces; GLBudgetClient copyBudget = new GLBudgetClient(); copyBudget.Name = cwCopyBudget.BudgetName; copyBudget.FromDate = AddMonth2Date(selectedItem._FromDate, AddMonth); copyBudget.ToDate = AddMonth2Date(selectedItem._ToDate, AddMonth); copyBudget.Comment = selectedItem._Comment; copyBudget.BaseBudget = selectedItem._BaseBudget; copyBudget._Active = selectedItem._Active; busyIndicator.IsBusy = true; err = await api.Insert(copyBudget); if (err == ErrorCodes.Succes) { var budgetLines = await api.Query <Uniconta.DataModel.GLBudgetLine>(selectedItem); if (budgetLines != null && budgetLines.Length > 0) { foreach (var line in budgetLines) { line._Date = AddMonth2Date(line._Date, AddMonth); line._ToDate = AddMonth2Date(line._ToDate, AddMonth); if (Factor != 0) { line._Amount = Math.Round(line._Amount * Factor); } line.SetMaster(copyBudget); } err = await api.Insert(budgetLines); } dgGlBudget.UpdateItemSource(1, copyBudget); } busyIndicator.IsBusy = false; if (err != ErrorCodes.Succes) { UtilDisplay.ShowErrorCode(err); } } }; cwCopyBudget.Show(); break; case "BudgetLines": if (selectedItem != null) { SaveAndOpenLines(selectedItem); } break; case "IncludeSubModels": if (selectedItem != null) { AddDockItem(TabControls.GLBudgetBudgetPage, selectedItem, string.Format("{0}:{1}", Uniconta.ClientTools.Localization.lookup("SubModels"), selectedItem._Name)); } break; case "AddNote": if (selectedItem != null) { AddDockItem(TabControls.UserNotesPage, dgGlBudget.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Notes"), selectedItem._Name)); } break; case "AddDoc": if (selectedItem != null) { AddDockItem(TabControls.UserDocsPage, dgGlBudget.syncEntity, string.Format("{0}: {1}", Uniconta.ClientTools.Localization.lookup("Documents"), selectedItem._Name)); } break; default: gridRibbon_BaseActions(ActionType); break; } }