void buttonPrintInvoiceJohnDoe2_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeSimplifiedInvoice; Guid customerGuid = new Guid("f5a382bb-f826-40d8-8910-cfb18df8a41e");//John Doe2 //Article Guid article1Guid = new Guid("32deb30d-ffa2-45e4-bca6-03569b9e8b08"); fin_article article1 = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), article1Guid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(article1, placeGuid, tableGuid, PriceType.Price1, 8.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
void buttonPrintInvoiceDiscount_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeInvoice; Guid customerGuid = new Guid("6223881a-4d2d-4de4-b254-f8529193da33"); //Article:Line1 Guid article1Guid = new Guid("72e8bde8-d03b-4637-90f1-fcb265658af0"); FIN_Article article1 = (FIN_Article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(FIN_Article), article1Guid); //Article:Line2 Guid article2Guid = new Guid("78638720-e728-4e96-8643-6d6267ff817b"); FIN_Article article2 = (FIN_Article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(FIN_Article), article2Guid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(article1, placeGuid, tableGuid, PriceType.Price1, 100.0m); articleBag.Add(article2, placeGuid, tableGuid, PriceType.Price1, 1.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag }; FIN_DocumentFinanceMaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
void buttonPrintInvoiceExchangeRate_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeInvoice; Guid customerGuid = new Guid("6223881a-4d2d-4de4-b254-f8529193da33"); Guid currencyGuid = new Guid("28d692ad-0083-11e4-96ce-00ff2353398c"); cfg_configurationcurrency currency = (cfg_configurationcurrency)GlobalFramework.SessionXpo.GetObjectByKey(typeof(cfg_configurationcurrency), currencyGuid); //Article:Line1 Guid article1Guid = new Guid("72e8bde8-d03b-4637-90f1-fcb265658af0"); fin_article article1 = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), article1Guid); //Article:Line2 Guid article2Guid = new Guid("78638720-e728-4e96-8643-6d6267ff817b"); fin_article article2 = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), article2Guid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(article1, placeGuid, tableGuid, PriceType.Price1, 100.0m); articleBag.Add(article2, placeGuid, tableGuid, PriceType.Price1, 1.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag, Currency = currencyGuid, ExchangeRate = currency.ExchangeRate }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
//NC : Credit Note void buttonCreditNote_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeCreditNote; Guid reference = new Guid("daecbf1d-6211-4e74-a8cd-81795e347656"); //FT FT2015S0001/16 fin_documentfinancemaster documentReference = (fin_documentfinancemaster)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_documentfinancemaster), reference); //Add Order References List <DocumentReference> references = new List <DocumentReference>(); references.Add(new DocumentReference(documentReference, "Artigo com defeito")); //Get ArticleBag from documentFinanceMasterSource ArticleBag articleBag = ArticleBag.DocumentFinanceMasterToArticleBag(documentReference); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = documentReference.EntityOid, //References = references, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
void buttonPrintTransportationGuideWithTotals_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = new Guid("96bcf534-0dab-48bb-a69e-166e81ae6f7b"); Guid customerGuid = new Guid("d64c5d26-b4f9-4220-bd3c-72ece5e3960a"); //Article Guid article1Guid = new Guid("55892c3f-de10-4076-afde-619c54100c9b"); FIN_Article article1 = (FIN_Article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(FIN_Article), article1Guid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(article1, placeGuid, tableGuid, PriceType.Price1, 24.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag }; FIN_DocumentFinanceMaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
//OrderReferences void buttonOrderReferences_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeInvoice; Guid customerGuid = new Guid("6223881a-4d2d-4de4-b254-f8529193da33"); Guid orderReference = new Guid("fbec0056-71a7-4d5b-8bfa-d5e887ec585f"); //DC DC2015S0001/1 fin_documentfinancemaster documentOrderReference = (fin_documentfinancemaster)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_documentfinancemaster), orderReference); //Add Order References List <fin_documentfinancemaster> orderReferences = new List <fin_documentfinancemaster>(); orderReferences.Add(documentOrderReference); //Get ArticleBag from documentFinanceMasterSource ArticleBag articleBag = ArticleBag.DocumentFinanceMasterToArticleBag(documentOrderReference); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, OrderReferences = orderReferences, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag, SourceOrderMain = documentOrderReference.SourceOrderMain }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
//Finish Order void _buttonKeyFinishOrder_Clicked(object sender, EventArgs e) { try { //Call Framework FinishOrder OrderMain orderMain = GlobalFramework.SessionApp.OrdersMain[GlobalFramework.SessionApp.CurrentOrderMainOid]; FIN_DocumentOrderTicket orderTicket = orderMain.FinishOrder(GlobalFramework.SessionXpo); // If OrderTicket and has a ThermalPrinter connected if (orderTicket != null && GlobalFramework.LoggedTerminal.Printer != null && GlobalFramework.LoggedTerminal.Printer.PrinterType.ThermalPrinter) { //public static bool PrintOrderRequest(Window pSourceWindow, SYS_ConfigurationPrinters pPrinter, OrderMain pDocumentOrderMain, FIN_DocumentOrderTicket pOrderTicket) FrameworkCalls.PrintOrderRequest(_sourceWindow, GlobalFramework.LoggedTerminal.Printer, orderMain, orderTicket); FrameworkCalls.PrintArticleRequest(_sourceWindow, orderTicket); } //Change Mode _listMode = TicketListMode.OrderMain; //Reset TicketList TotalItems Counter _listStoreModelTotalItemsTicketListMode = 0; UpdateOrderStatusBar(); UpdateModel(); } catch (Exception ex) { _log.Error(ex.Message, ex); } }
void buttonPrintInvoiceJohnDoe1_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeSimplifiedInvoice; Guid customerGuid = new Guid("d8ce6455-e1a4-41dc-a475-223c00de3a91");//John Doe1 //Article Guid article1Guid = new Guid("72e8bde8-d03b-4637-90f1-fcb265658af0"); fin_article article1 = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), article1Guid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(article1, placeGuid, tableGuid, PriceType.Price1, 1.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
void buttonPrintTransportationGuideWithoutTotals_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = new Guid("96bcf534-0dab-48bb-a69e-166e81ae6f7b"); Guid customerGuid = new Guid("6223881a-4d2d-4de4-b254-f8529193da33"); //Article Guid article1Guid = new Guid("55892c3f-de10-4076-afde-619c54100c9b"); fin_article article1 = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), article1Guid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(article1, placeGuid, tableGuid, PriceType.Price1, 48.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag, ExchangeRate = 0.0m }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
void _touchButtonStartStopWorkSessionPeriodDay_Clicked(object sender, EventArgs e) { //Stop WorkSessionPeriodDay if (GlobalFramework.WorkSessionPeriodDay != null && GlobalFramework.WorkSessionPeriodDay.SessionStatus == WorkSessionPeriodStatus.Open) { //Check if we can StopSessionPeriodDay bool resultCanClose = CanCloseWorkSessionPeriodDay(); if (resultCanClose == false) { return; } // ShowRequestBackupDialog and Backup only if PluginSoftwareVendor is Active if (GlobalFramework.PluginSoftwareVendor != null) { //Request User to do a DatabaseBackup, After Check Can Close DataBaseBackup.ShowRequestBackupDialog(this); } //Stop WorkSession Period Day bool result = ProcessWorkSessionPeriod.SessionPeriodClose(GlobalFramework.WorkSessionPeriodDay); if (result) { _touchButtonStartStopWorkSessionPeriodDay.LabelText = resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_worksession_open_day"); _touchButtonCashDrawer.Sensitive = false; //Show ClosePeriodMessage ShowClosePeriodMessage(this, GlobalFramework.WorkSessionPeriodDay); /* IN009054 - WorkSessionPeriodDay: NullReferenceException when closing day on non-licensed app */ //PrintWorkSessionMovement Day //PrintRouter.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodDay); //PrintRouter.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodTerminal); ResponseType pResponse = Utils.ShowMessageTouch( this, DialogFlags.Modal, new Size(500, 350), MessageType.Question, ButtonsType.YesNo, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_button_label_print"), resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_message_request_print_document_confirmation")); if (pResponse == ResponseType.Yes) { FrameworkCalls.PrintWorkSessionMovement(this, GlobalFramework.LoggedTerminal.ThermalPrinter, GlobalFramework.WorkSessionPeriodTerminal); } //FrameworkCalls.PrintWorkSessionMovement(this, GlobalFramework.LoggedTerminal.ThermalPrinter, GlobalFramework.WorkSessionPeriodDay); } } //Start WorkSessionPeriodDay else { bool result = ProcessWorkSessionPeriod.SessionPeriodOpen(WorkSessionPeriodType.Day); if (result) { _touchButtonStartStopWorkSessionPeriodDay.LabelText = resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_worksession_close_day"); _touchButtonCashDrawer.Sensitive = true; } } }
//Finish Order void _buttonKeyFinishOrder_Clicked(object sender, EventArgs e) { try { //Call Framework FinishOrder OrderMain orderMain = GlobalFramework.SessionApp.OrdersMain[GlobalFramework.SessionApp.CurrentOrderMainOid]; //CurrentOrderDetailsAll = CurrentOrderDetails; /* * TK013134 * Parking Ticket Module: Checking for duplicates in Order Main after finishing order */ if (GlobalFramework.AppUseParkingTicketModule) { orderMain.CheckForDuplicatedArticleInArticleBag(GlobalFramework.SessionXpo); } fin_documentorderticket orderTicket = orderMain.FinishOrder(GlobalFramework.SessionXpo); // If OrderTicket and has a ThermalPrinter connected // Impressoras - Diferenciação entre Tipos [TK:016249] GlobalFramework.UsingThermalPrinter = true; if (orderTicket != null && GlobalFramework.LoggedTerminal.Printer != null && GlobalFramework.LoggedTerminal.ThermalPrinter != null && GlobalFramework.LoggedTerminal.ThermalPrinter.PrinterType.ThermalPrinter && orderTicket.OrderDetail.Count != 0) { //public static bool PrintOrderRequest(Window pSourceWindow, sys_configurationprinters pPrinter, OrderMain pDocumentOrderMain, fin_documentorderticket pOrderTicket) //IN009239 - This avoids orders being printed when in use of ParkingTicketModule if (!GlobalFramework.AppUseParkingTicketModule) { // TK016249 Impressoras - Diferenciação entre Tipos FrameworkCalls.PrintOrderRequest(_sourceWindow, GlobalFramework.LoggedTerminal.ThermalPrinter, orderMain, orderTicket); } FrameworkCalls.PrintArticleRequest(_sourceWindow, orderTicket); } //Change Mode _listMode = TicketListMode.OrderMain; //Reset TicketList TotalItems Counter _listStoreModelTotalItemsTicketListMode = 0; UpdateOrderStatusBar(); UpdateModel(); } catch (Exception ex) { _log.Error(ex.Message, ex); } }
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Events //5.2: FT: Fatura void buttonPrintInvoice_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeInvoice; Guid customerGuid = new Guid("6223881a-4d2d-4de4-b254-f8529193da33"); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, _articleBag) { Customer = customerGuid }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); _vboxButtons.Sensitive = false; }
void _touchButtonStartStopWorkSessionPeriodDay_Clicked(object sender, EventArgs e) { //Stop WorkSessionPeriodDay if (GlobalFramework.WorkSessionPeriodDay != null && GlobalFramework.WorkSessionPeriodDay.SessionStatus == WorkSessionPeriodStatus.Open) { //Check if we can StopSessionPeriodDay bool resultCanClose = CanCloseWorkSessionPeriodDay(); if (resultCanClose == false) { return; } // ShowRequestBackupDialog and Backup only if PluginSoftwareVendor is Active if (GlobalFramework.PluginSoftwareVendor != null) { //Request User to do a DatabaseBackup, After Check Can Close DataBaseBackup.ShowRequestBackupDialog(this); } //Stop WorkSession Period Day bool result = ProcessWorkSessionPeriod.SessionPeriodClose(GlobalFramework.WorkSessionPeriodDay); if (result) { _touchButtonStartStopWorkSessionPeriodDay.LabelText = Resx.global_worksession_open_day; _touchButtonCashDrawer.Sensitive = false; //PrintWorkSessionMovement Day //PrintRouter.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodDay); //PrintRouter.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodTerminal); FrameworkCalls.PrintWorkSessionMovement(this, GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodDay); //Show ClosePeriodMessage ShowClosePeriodMessage(this, GlobalFramework.WorkSessionPeriodDay); } } //Start WorkSessionPeriodDay else { bool result = ProcessWorkSessionPeriod.SessionPeriodOpen(WorkSessionPeriodType.Day); if (result) { _touchButtonStartStopWorkSessionPeriodDay.LabelText = Resx.global_worksession_close_day; _touchButtonCashDrawer.Sensitive = true; } } }
//FT: Vats void buttonPrintInvoiceVat_Clicked(object sender, EventArgs e) { Guid documentTypeGuid = SettingsApp.XpoOidDocumentFinanceTypeInvoice; Guid customerGuid = new Guid("6223881a-4d2d-4de4-b254-f8529193da33"); Guid vatExemptionReasonGuid = new Guid("8311ce58-50ee-4115-9cf9-dbca86538fdd"); fin_configurationvatexemptionreason vatExemptionReason = (fin_configurationvatexemptionreason)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_configurationvatexemptionreason), vatExemptionReasonGuid); //Article:Line1 Guid articleREDGuid = new Guid("72e8bde8-d03b-4637-90f1-fcb265658af0"); fin_article articleRED = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), articleREDGuid); //Article:Line2 Guid articleISEGuid = new Guid("78638720-e728-4e96-8643-6d6267ff817b"); fin_article articleISE = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), articleISEGuid); //Article:Line3 Guid articleINTGuid = new Guid("bf99351b-1556-43c4-a85c-90082fb02d05"); fin_article articleINT = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), articleINTGuid); //Article:Line4 Guid articleNORGuid = new Guid("6b547918-769e-4f5b-bcd6-01af54846f73"); fin_article articleNOR = (fin_article)GlobalFramework.SessionXpo.GetObjectByKey(typeof(fin_article), articleNORGuid); //Place Guid placeGuid = new Guid("dd5a3869-db52-42d4-bbed-dec4adfaf62b"); //Table Guid tableGuid = new Guid("64d417f6-ff97-4f4b-bded-4bc9bf9f18d9"); //Get ArticleBag ArticleBag articleBag = new ArticleBag(); articleBag.Add(articleRED, placeGuid, tableGuid, PriceType.Price1, 1.0m); articleBag.Add(articleISE, placeGuid, tableGuid, PriceType.Price1, 1.0m, vatExemptionReason); articleBag.Add(articleINT, placeGuid, tableGuid, PriceType.Price1, 1.0m); articleBag.Add(articleNOR, placeGuid, tableGuid, PriceType.Price1, 1.0m); //Prepare ProcessFinanceDocumentParameter ProcessFinanceDocumentParameter processFinanceDocumentParameter = new ProcessFinanceDocumentParameter( documentTypeGuid, articleBag) { Customer = customerGuid, SourceMode = PersistFinanceDocumentSourceMode.CustomArticleBag }; fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(SourceWindow, processFinanceDocumentParameter); }
private bool PersistFinanceDocuments() { bool debug = false; int padLeftChars = 10; try { int i = 0; foreach (TouchButtonSplitPayment item in _splitPaymentButtons) { i++; // If have if (item.ProcessFinanceDocumentParameter != null) { if (debug) { _log.Debug(string.Format("TotalFinal: [#{0}]:[{1}]", i, FrameworkUtils.DecimalToStringCurrency(item.ProcessFinanceDocumentParameter.ArticleBag.TotalFinal).PadLeft(padLeftChars, ' ') )); } // PersistFinanceDocument item.DocumentFinanceMaster = FrameworkCalls.PersistFinanceDocument(this, item.ProcessFinanceDocumentParameter); //Update Display if (item.DocumentFinanceMaster != null) { fin_configurationpaymentmethod paymentMethod = (fin_configurationpaymentmethod)FrameworkUtils.GetXPGuidObject(typeof(fin_configurationpaymentmethod), item.ProcessFinanceDocumentParameter.PaymentMethod); if (GlobalApp.UsbDisplay != null) { GlobalApp.UsbDisplay.ShowPayment(paymentMethod.Designation, item.ProcessFinanceDocumentParameter.TotalDelivery, item.ProcessFinanceDocumentParameter.TotalChange); } } } } //If has Working Order if ( GlobalFramework.SessionApp.OrdersMain != null && GlobalFramework.SessionApp.CurrentOrderMainOid != null && GlobalFramework.SessionApp.OrdersMain.ContainsKey(GlobalFramework.SessionApp.CurrentOrderMainOid) ) { // Get Current working orderMain OrderMain currentOrderMain = GlobalFramework.SessionApp.OrdersMain[GlobalFramework.SessionApp.CurrentOrderMainOid]; if (debug) { _log.Debug(string.Format("Working on currentOrderMain.PersistentOid: [{0}]", currentOrderMain.PersistentOid)); } //Get OrderDetail OrderDetail currentOrderDetails = currentOrderMain.OrderTickets[currentOrderMain.CurrentTicketId].OrderDetails; // Get configurationPlace to get Tax pos_configurationplace configurationPlace = (pos_configurationplace)GlobalFramework.SessionXpo.GetObjectByKey(typeof(pos_configurationplace), currentOrderMain.Table.PlaceId); } return(true); } catch (Exception ex) { _log.Error(ex.Message, ex); return(false); } }
void buttonTableConsult_Clicked(object sender, EventArgs e) { try { //Get Current OrderMain OrderMain currentOrderMain = GlobalFramework.SessionApp.OrdersMain[GlobalFramework.SessionApp.CurrentOrderMainOid]; //Initialize ArticleBag to Send to ProcessFinanceDocuments or Compare ArticleBag articleBag = ArticleBag.TicketOrderToArticleBag(currentOrderMain); //Get Latest DocumentConference Document without Recreate it if Diference, compare it in Above Line FIN_DocumentFinanceMaster lastDocument = FrameworkUtils.GetOrderMainLastDocumentConference(false); //Reprint Existing Document After compare with current ArticleBag if ( lastDocument != null && articleBag != null && lastDocument.TotalFinal.Equals(articleBag.TotalFinal) && lastDocument.DocumentDetail.Count.Equals(articleBag.Count) ) { FrameworkCalls.PrintFinanceDocument(this, lastDocument); } //Else Create new DocumentConference recalling FrameworkUtils.GetOrderMainLastDocumentConference with true to Create New One else { try { //Call Recreate New Document FIN_DocumentFinanceMaster newDocument = FrameworkUtils.GetOrderMainLastDocumentConference(true); //Call Print New Document FrameworkCalls.PrintFinanceDocument(this, newDocument); } catch (Exception ex) { string errorMessage = string.Empty; switch (ex.Message) { case "ERROR_MISSING_SERIE": errorMessage = string.Format(Resx.dialog_message_error_creating_financial_document, Resx.dialog_message_error_creating_financial_document_missing_series); break; case "ERROR_COMMIT_FINANCE_DOCUMENT_PAYMENT": default: errorMessage = string.Format(Resx.dialog_message_error_creating_financial_document, ex.Message); break; } Utils.ShowMessageTouch( _sourceWindow, DialogFlags.Modal, new Size(600, 400), MessageType.Error, ButtonsType.Close, Resx.global_error, errorMessage ); this.Run(); } } } catch (Exception ex) { _log.Error(ex.Message, ex); } finally { this.Destroy(); } }
protected override void OnResponse(ResponseType pResponse) { if (pResponse == ResponseType.Ok) { //Call Last Validation before send to PersistFinanceDocument/Validation, before Preview if (!LastValidation()) { //Keep Running this.Run(); } else { //Procced After Post Validation ResponseType response = ShowPreview(DocumentFinanceDialogPreviewMode.Confirmation); if (response == ResponseType.Yes) { //Get Parameters ProcessFinanceDocumentParameter processFinanceDocumentParameter = GetFinanceDocumentParameter(); //If error in Save or Update Customer if (processFinanceDocumentParameter.Customer == Guid.Empty) { //Keep Running this.Run(); } else { //Proccess Document FIN_DocumentFinanceMaster resultDocument = FrameworkCalls.PersistFinanceDocument(_sourceWindow, processFinanceDocumentParameter); //If Errors Occurs, return null Document, Keep Running until user cancel or a Valid Document is Returned if (resultDocument == null) { this.Run(); } } } else { //Keep Running this.Run(); } } } //Prevent Cancel Document else if (pResponse == ResponseType.Cancel) { if (_pagePad3.ArticleBag != null && _pagePad3.ArticleBag.Count > 0) { ResponseType response = Utils.ShowMessageTouch(_sourceWindow, DialogFlags.DestroyWithParent | DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, Resx.window_title_dialog_message_dialog, Resx.dialog_message_finance_dialog_confirm_cancel); if (response == ResponseType.No) { //Keep Running this.Run(); } } } else if (pResponse == _responseTypePreview) { //ShowPreview Dialog ShowPreview(DocumentFinanceDialogPreviewMode.Preview); //Always Keep Running this.Run(); } else if (pResponse == _responseTypeClearCustomer) { //ClearCustomer _pagePad2.ClearCustomerAndWayBill(); //Always Keep Running this.Run(); } }
protected override void OnResponse(ResponseType pResponse) { if (pResponse == ResponseType.Ok) { //Call Last Validation before send to PersistFinanceDocument/Validation, before Preview if (!LastValidation()) { //Keep Running this.Run(); } else { //Procced After Post Validation ResponseType response = ShowPreview(DocumentFinanceDialogPreviewMode.Confirmation); if (response == ResponseType.Yes) { //Get Parameters //TK016249 - Impressoras - Diferenciação entre Tipos GlobalFramework.UsingThermalPrinter = false; ProcessFinanceDocumentParameter processFinanceDocumentParameter = GetFinanceDocumentParameter(); //If error in Save or Update Customer if (processFinanceDocumentParameter.Customer == Guid.Empty) { //Keep Running this.Run(); } else { //Proccess Document fin_documentfinancemaster resultDocument = FrameworkCalls.PersistFinanceDocument(_sourceWindow, processFinanceDocumentParameter); //If Errors Occurs, return null Document, Keep Running until user cancel or a Valid Document is Returned if (resultDocument == null) { this.Run(); } } } else { //Keep Running this.Run(); } } } //Prevent Cancel Document else if (pResponse == ResponseType.Cancel) { if (_pagePad3.ArticleBag != null && _pagePad3.ArticleBag.Count > 0) { ResponseType response = Utils.ShowMessageTouch(_sourceWindow, DialogFlags.DestroyWithParent | DialogFlags.Modal, MessageType.Question, ButtonsType.YesNo, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "window_title_dialog_message_dialog"), resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_message_finance_dialog_confirm_cancel")); if (response == ResponseType.No) { //Keep Running this.Run(); } } } else if (pResponse == _responseTypePreview) { //ShowPreview Dialog ShowPreview(DocumentFinanceDialogPreviewMode.Preview); //Always Keep Running this.Run(); } else if (pResponse == _responseTypeClearCustomer) { //ClearCustomer _pagePad2.ClearCustomerAndWayBill(); //Always Keep Running this.Run(); } }
private Dictionary <string, AccordionNode> GetAccordionDefinition() { _log.Debug("GetAccordionDefinition Begin"); //Init accordionDefinition Dictionary <string, AccordionNode> accordionDefinition = null; try { accordionDefinition = new Dictionary <string, AccordionNode>(); //Define Start Content with Articles TreeView Widget startContent = Utils.GetGenericTreeViewXPO <TreeViewArticle>(this); //Hide/Show Current Active Content based on user privileges string currentNodePrivilegesToken = string.Format(_privilegesBackOfficeMenuOperation, "Article".ToUpper()); startContent.Sensitive = FrameworkUtils.HasPermissionTo(currentNodePrivilegesToken); _labelActiveContent.Text = Resx.global_articles; _nodeContent = startContent; _hboxContent.PackEnd(_nodeContent); //Define used CriteriaOperators/Override Defaults from TreeViews CriteriaOperator criteriaOperatorCustomer = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (Hidden IS NULL OR Hidden = 0)"); CriteriaOperator criteriaConfigurationPreferenceParameterCompany = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (Token <> 'COMPANY_COUNTRY_OID' AND Token <> 'SYSTEM_CURRENCY_OID' AND FormType = 1)"); CriteriaOperator criteriaConfigurationPreferenceParameterSystem = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (FormType = 2)"); //Articles Dictionary <string, AccordionNode> _accordionChildArticles = new Dictionary <string, AccordionNode>(); //, Clicked = testClickedEventHandlerFromOutside } _accordionChildArticles.Add("ArticleFamily", new AccordionNode(Resx.global_families) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleFamily>(this) }); _accordionChildArticles.Add("ArticleSubFamily", new AccordionNode(Resx.global_subfamilies) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleSubFamily>(this) }); _accordionChildArticles.Add("Article", new AccordionNode(Resx.global_articles) { Content = startContent }); _accordionChildArticles.Add("ArticleType", new AccordionNode(Resx.global_article_types) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleType>(this) }); _accordionChildArticles.Add("ArticleClass", new AccordionNode(Resx.global_article_class) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleClass>(this) }); _accordionChildArticles.Add("ConfigurationPriceType", new AccordionNode(Resx.global_price_type) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPriceType>(this) }); // Disable to Speed uo Opening BO, noew we have Stock Reports //_accordionChildArticles.Add("ArticleStock", new AccordionNode(Resx.global_stock_movements) { Content = Utils.GetGenericTreeViewXPO<TreeViewArticleStock>(this) }); //Customers Dictionary <string, AccordionNode> _accordionChildCustomers = new Dictionary <string, AccordionNode>(); _accordionChildCustomers.Add("Customer", new AccordionNode(Resx.global_customers) { Content = Utils.GetGenericTreeViewXPO <TreeViewCustomer>(this, criteriaOperatorCustomer) }); _accordionChildCustomers.Add("CustomerType", new AccordionNode(Resx.global_customer_types) { Content = Utils.GetGenericTreeViewXPO <TreeViewCustomerType>(this) }); _accordionChildCustomers.Add("CustomerDiscountGroup", new AccordionNode(Resx.global_customer_discount_groups) { Content = Utils.GetGenericTreeViewXPO <TreeViewCustomerDiscountGroup>(this) }); //Users Dictionary <string, AccordionNode> _accordionChildUsers = new Dictionary <string, AccordionNode>(); _accordionChildUsers.Add("UserDetail", new AccordionNode(Resx.global_users) { Content = Utils.GetGenericTreeViewXPO <TreeViewUser>(this) }); //Commented by Mario: Not Usefull, UserPermissionProfile has same funtionality //_accordionChildUsers.Add("UserProfile", new AccordionNode(Resx.global_profile) { Content = Utils.GetGenericTreeViewXPO<TreeViewUserProfile>(this) }); //WARNING: Works with diferent constructs, its still need to be improved : new TreeViewUserProfilePermissions(this) _accordionChildUsers.Add("UserPermissionProfile", new AccordionNode(Resx.global_user_permissions) { Content = new TreeViewUserProfilePermissions(this) }); _accordionChildUsers.Add("UserCommissionGroup", new AccordionNode(Resx.global_user_commission_groups) { Content = Utils.GetGenericTreeViewXPO <TreeViewUserCommissionGroup>(this) }); //Moved to Custom Toolbar //_accordionChildUsers.Add("System_ApplyPrivileges", new AccordionNode(Resx.global_user_apply_privileges) { Clicked = delegate { Accordion.UpdateMenuPrivileges(); } }); //Documents Dictionary <string, AccordionNode> _accordionDocuments = new Dictionary <string, AccordionNode>(); _accordionDocuments.Add("DocumentFinanceYears", new AccordionNode(Resx.global_documentfinance_years) { Content = Utils.GetGenericTreeViewXPO <TreeViewDocumentFinanceYears>(this) }); _accordionDocuments.Add("DocumentFinanceSeries", new AccordionNode(Resx.global_documentfinance_series) { Content = Utils.GetGenericTreeViewXPO <TreeViewDocumentFinanceSeries>(this) }); _accordionDocuments.Add("DocumentFinanceType", new AccordionNode(Resx.global_documentfinance_type) { Content = Utils.GetGenericTreeViewXPO <TreeViewDocumentFinanceType>(this) }); //_accordionDocuments.Add("DocumentFinanceYearSerieTerminal", new AccordionNode(Resx.global_documentfinance_yearsseriesterminal) { Content = Utils.GetGenericTreeViewXPO<TreeViewDocumentFinanceYearSerieTerminal>(this) }); _accordionDocuments.Add("ConfigurationVatRate", new AccordionNode(Resx.global_vat_rates) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationVatRate>(this) }); _accordionDocuments.Add("ConfigurationVatExemptionReason", new AccordionNode(Resx.global_vat_exemption_reason) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationVatExceptionReason>(this) }); _accordionDocuments.Add("ConfigurationPaymentCondition", new AccordionNode(Resx.global_payment_conditions) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPaymentCondition>(this) }); _accordionDocuments.Add("ConfigurationPaymentMethod", new AccordionNode(Resx.global_payment_methods) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPaymentMethod>(this) }); //AuxiliarTables Dictionary <string, AccordionNode> _accordionChildAuxiliarTables = new Dictionary <string, AccordionNode>(); //_accordionChildAuxiliarTables.Add("ConfigurationCashRegister", new AccordionNode(Resx.global_cash_registers) { Content = Utils.GetGenericTreeView<TreeViewConfigurationCashRegister>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationCountry", new AccordionNode(Resx.global_country) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationCountry>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationCurrency", new AccordionNode(Resx.global_ConfigurationCurrency) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationCurrency>(this) }); //_accordionChildAuxiliarTables.Add("ConfigurationDevice", new AccordionNode(Resx.global_devices) { Content = Utils.GetGenericTreeView<TreeViewConfigurationDevice>(this) }); //_accordionChildAuxiliarTables.Add("ConfigurationKeyboard", new AccordionNode(Resx.global_keyboards) { Content = Utils.GetGenericTreeView<TreeViewConfigurationKeyboard>(this) }); //_accordionChildAuxiliarTables.Add("ConfigurationMaintenance", new AccordionNode(Resx.global_maintenance) { Content = Utils.GetGenericTreeView<TreeViewConfigurationMaintenance>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationPlace", new AccordionNode(Resx.global_places) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlace>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationPlaceTable", new AccordionNode(Resx.global_place_tables) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlaceTable>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationPlaceMovementType", new AccordionNode(Resx.global_places_movement_type) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlaceMovementType>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationUnitMeasure", new AccordionNode(Resx.global_units_measure) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationUnitMeasure>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationUnitSize", new AccordionNode(Resx.global_units_size) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationUnitSize>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationHolidays", new AccordionNode(Resx.global_holidays) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationHolidays>(this) }); //Devices Dictionary <string, AccordionNode> _accordionDevices = new Dictionary <string, AccordionNode>(); _accordionDevices.Add("ConfigurationPrintersType", new AccordionNode(Resx.global_ConfigurationPrintersType) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPrintersType>(this) }); _accordionDevices.Add("ConfigurationPrinters", new AccordionNode(Resx.global_ConfigurationPrinters) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPrinters>(this) }); _accordionDevices.Add("ConfigurationInputReader", new AccordionNode(Resx.global_ConfigurationInputReader) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationInputReader>(this) }); _accordionDevices.Add("ConfigurationPoleDisplay", new AccordionNode(Resx.global_ConfigurationPoleDisplay) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPoleDisplay>(this) }); _accordionDevices.Add("ConfigurationWeighingMachine", new AccordionNode(Resx.global_ConfigurationWeighingMachine) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationWeighingMachine>(this) }); // Deprecated //_accordionPrinters.Add("ConfigurationPrintersTemplates", new AccordionNode(Resx.global_ConfigurationPrintersTemplates) { Content = Utils.GetGenericTreeViewXPO<TreeViewConfigurationPrintersTemplates>(this) }); //_accordionPrinters.Add("ExternalApp_Composer", new AccordionNode(Resx.global_callposcomposer) { Content = null, ExternalAppFileName = SettingsApp.ExecutableComposer }); //Configuration Dictionary <string, AccordionNode> _accordionChildConfiguration = new Dictionary <string, AccordionNode>(); _accordionChildConfiguration.Add("ConfigurationPreferenceParameterCompany", new AccordionNode(Resx.global_preferenceparameter_company) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPreferenceParameter>(this, criteriaConfigurationPreferenceParameterCompany) }); _accordionChildConfiguration.Add("ConfigurationPreferenceParameterSystem", new AccordionNode(Resx.global_preferenceparameter_system) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPreferenceParameter>(this, criteriaConfigurationPreferenceParameterSystem) }); _accordionChildConfiguration.Add("ConfigurationPlaceTerminal", new AccordionNode(Resx.global_places_terminals) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlaceTerminal>(this) }); // Add Menu Items Based On Plugins PluginSoftwareVendor Dictionary <string, AccordionNode> _accordionChildExport = new Dictionary <string, AccordionNode>(); //Export if (GlobalFramework.PluginSoftwareVendor != null && SettingsApp.ConfigurationSystemCountry.Oid == SettingsApp.XpoOidConfigurationCountryPortugal) { _accordionChildExport.Add("System_ExportSaftPT_SaftPt", new AccordionNode(Resx.global_export_saftpt_whole_year) { Clicked = delegate { FrameworkCalls.ExportSaftPt(this, ExportSaftPtMode.WholeYear); } }); _accordionChildExport.Add("System_ExportSaftPT_E-Fatura", new AccordionNode(Resx.global_export_saftpt_last_month) { Clicked = delegate { FrameworkCalls.ExportSaftPt(this, ExportSaftPtMode.LastMonth); } }); _accordionChildExport.Add("System_ExportSaftPT_Custom", new AccordionNode(Resx.global_export_saftpt_custom) { Clicked = delegate { FrameworkCalls.ExportSaftPt(this, ExportSaftPtMode.Custom); } }); } //System Dictionary <string, AccordionNode> _accordionChildSystem = new Dictionary <string, AccordionNode>(); // Add Menu Items Based On Plugins PluginSoftwareVendor if (GlobalFramework.PluginSoftwareVendor != null) { _accordionChildSystem.Add("System_DataBaseBackup", new AccordionNode(Resx.global_database_backup) { Clicked = delegate { DataBaseBackup.Backup(this); } }); _accordionChildSystem.Add("System_DataBaseRestore_FromSystem", new AccordionNode(Resx.global_database_restore) { Clicked = delegate { DataBaseBackup.Restore(this, DataBaseRestoreFrom.SystemBackup); } }); _accordionChildSystem.Add("System_DataBaseRestore_FromFile", new AccordionNode(Resx.global_database_restore_from_file) { Clicked = delegate { DataBaseBackup.Restore(this, DataBaseRestoreFrom.ChooseFromFilePickerDialog); } }); } _accordionChildSystem.Add("System_Menu", new AccordionNode(Resx.global_application_logout_user) { Clicked = ClickedSystemLogout }); _accordionChildSystem.Add("System_Pos", new AccordionNode(Resx.global_pos) { Clicked = ClickedSystemPos }); _accordionChildSystem.Add("System_Quit", new AccordionNode(Resx.global_quit) { Clicked = delegate { LogicPos.Quit(this); } }); //Compose Main Accordion Parent Buttons accordionDefinition.Add("TopMenuArticles", new AccordionNode(Resx.global_articles) { Childs = _accordionChildArticles, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_artigos.png") }); accordionDefinition.Add("TopMenuDocuments", new AccordionNode(Resx.global_documents) { Childs = _accordionDocuments, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_informacao_fiscal.png") }); accordionDefinition.Add("TopMenuCustomers", new AccordionNode(Resx.global_customers) { Childs = _accordionChildCustomers, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_clientes.png") }); accordionDefinition.Add("TopMenuUsers", new AccordionNode(Resx.global_users) { Childs = _accordionChildUsers, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_utilizadores.png") }); accordionDefinition.Add("TopMenuDevices", new AccordionNode(Resx.global_devices) { Childs = _accordionDevices, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_impressoras.png") }); accordionDefinition.Add("TopMenuOtherTables", new AccordionNode(Resx.global_other_tables) { Childs = _accordionChildAuxiliarTables, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_outras_tabelas.png") }); accordionDefinition.Add("TopMenuConfiguration", new AccordionNode(Resx.global_configuration) { Childs = _accordionChildConfiguration, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_configuracao.png") }); if (_accordionChildExport.Count > 0) { accordionDefinition.Add("TopMenuExport", new AccordionNode(Resx.global_export) { Childs = _accordionChildExport, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_export.png") }); } accordionDefinition.Add("TopMenuSystem", new AccordionNode(Resx.global_system) { Childs = _accordionChildSystem, GroupIcon = new Image("Assets/Images/Icons/Accordion/poson_backoffice_sistema.png") }); _log.Debug("GetAccordionDefinition End"); } catch (Exception ex) { _log.Error(ex.Message, ex); } return(accordionDefinition); }
private Dictionary <string, AccordionNode> GetAccordionDefinition() { _log.Debug("GetAccordionDefinition Begin"); //Init accordionDefinition Dictionary <string, AccordionNode> accordionDefinition = null; try { accordionDefinition = new Dictionary <string, AccordionNode>(); Widget startContent; //Define Start Content for backoffice mode _dashboardButton.Content = Utils.GetGenericTreeViewXPO <DashBoard>(this); startContent = Utils.GetGenericTreeViewXPO <DashBoard>(this); //_labelActiveContent.Text = "DASHBOARD"; ////Define Start Content with Articles TreeView //else //{ // startContent = Utils.GetGenericTreeViewXPO<TreeViewArticle>(this); // //Hide/Show Current Active Content based on user privileges // string currentNodePrivilegesToken = string.Format(_privilegesBackOfficeMenuOperation, "Article".ToUpper()); // startContent.Sensitive = FrameworkUtils.HasPermissionTo(currentNodePrivilegesToken); // _labelActiveContent.Text = resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_articles"); //} _nodeContent = startContent; _hboxContent.PackEnd(_nodeContent); //Define used CriteriaOperators/Override Defaults from TreeViews CriteriaOperator criteriaOperatorCustomer = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (Hidden IS NULL OR Hidden = 0)"); CriteriaOperator criteriaConfigurationPreferenceParameterCompany = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (Token <> 'COMPANY_COUNTRY_OID' AND Token <> 'SYSTEM_CURRENCY_OID' AND FormType = 1)"); CriteriaOperator criteriaConfigurationPreferenceParameterSystem = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (FormType = 2)"); //START WORK SESSION AND DAY FOR BACKOFFICE MODE if (GlobalFramework.AppUseBackOfficeMode) { bool openDay = ProcessWorkSessionPeriod.SessionPeriodOpen(WorkSessionPeriodType.Day, ""); if (openDay) { pos_worksessionperiod workSessionPeriodDay = ProcessWorkSessionPeriod.GetSessionPeriod(WorkSessionPeriodType.Day); GlobalFramework.WorkSessionPeriodTerminal = ProcessWorkSessionPeriod.GetSessionPeriod(WorkSessionPeriodType.Day); GlobalFramework.WorkSessionPeriodTerminal.SessionStatus = WorkSessionPeriodStatus.Open; } } ////TK016235 BackOffice - Mode - Finance Documents for backoffice mode Dictionary <string, AccordionNode> _accordionChildDocuments = new Dictionary <string, AccordionNode>(); _accordionChildDocuments.Add("DocumentsNew", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_button_label_new_finance_documents")) { Clicked = delegate { Utils.startNewDocumentFromBackOffice(this); } }); _accordionChildDocuments.Add("DocumentsShow", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_button_label_select_record_finance_documents")) { Clicked = delegate { Utils.startDocumentsMenuFromBackOffice(this, 1); } }); _accordionChildDocuments.Add("DocumentsPay", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_button_label_select_finance_documents_ft_unpaid")) { Clicked = delegate { Utils.startDocumentsMenuFromBackOffice(this, 2); } }); _accordionChildDocuments.Add("DocumentsPayments", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_button_label_select_payments")) { Clicked = delegate { Utils.startDocumentsMenuFromBackOffice(this, 3); } }); _accordionChildDocuments.Add("DocumentsCurrentAccount", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_button_label_select_finance_documents_cc")) { Clicked = delegate { Utils.startDocumentsMenuFromBackOffice(this, 4); } }); //_accordionChildDocuments.Add("DocumentsListall", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_worksession_resume_finance_documents")) { Content = Utils.GetGenericTreeViewXPO<DashBoard>(this) }); ; Utils util = new Utils(); util._accordionChildDocumentsTemp = _accordionChildDocuments; Dictionary <string, AccordionNode> _accordionChildReports = new Dictionary <string, AccordionNode>(); _accordionChildReports.Add("DocumentsReports", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_reports")) { Clicked = delegate { Utils.startReportsMenuFromBackOffice(this); } }); //Articles Dictionary <string, AccordionNode> _accordionChildArticles = new Dictionary <string, AccordionNode>(); //, Clicked = testClickedEventHandlerFromOutside } _accordionChildArticles.Add("ArticleFamily", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_families")) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleFamily>(this) });; _accordionChildArticles.Add("ArticleSubFamily", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_subfamilies")) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleSubFamily>(this) }); _accordionChildArticles.Add("Article", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_articles")) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticle>(this) }); _accordionChildArticles.Add("ArticleType", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_article_types")) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleType>(this) }); _accordionChildArticles.Add("ArticleClass", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_article_class")) { Content = Utils.GetGenericTreeViewXPO <TreeViewArticleClass>(this) }); _accordionChildArticles.Add("ConfigurationPriceType", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_price_type")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPriceType>(this) }); Utils.startTreeViewFromBackOffice(_accordionChildArticles); // Disable to Speed uo Opening BO, noew we have Stock Reports //_accordionChildArticles.Add("ArticleStock", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_stock_movements) { Content = Utils.GetGenericTreeViewXPO<TreeViewArticleStock>(this) }); //Customers Dictionary <string, AccordionNode> _accordionChildCustomers = new Dictionary <string, AccordionNode>(); _accordionChildCustomers.Add("Customer", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_customers")) { Content = Utils.GetGenericTreeViewXPO <TreeViewCustomer>(this, criteriaOperatorCustomer) }); _accordionChildCustomers.Add("CustomerType", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_customer_types")) { Content = Utils.GetGenericTreeViewXPO <TreeViewCustomerType>(this) }); _accordionChildCustomers.Add("CustomerDiscountGroup", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_customer_discount_groups")) { Content = Utils.GetGenericTreeViewXPO <TreeViewCustomerDiscountGroup>(this) }); //Users Dictionary <string, AccordionNode> _accordionChildUsers = new Dictionary <string, AccordionNode>(); _accordionChildUsers.Add("UserDetail", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_users")) { Content = Utils.GetGenericTreeViewXPO <TreeViewUser>(this) }); //Commented by Mario: Not Usefull, UserPermissionProfile has same funtionality //_accordionChildUsers.Add("UserProfile", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_profile) { Content = Utils.GetGenericTreeViewXPO<TreeViewUserProfile>(this) }); //WARNING: Works with diferent constructs, its still need to be improved : new TreeViewUserProfilePermissions(this) _accordionChildUsers.Add("UserPermissionProfile", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_user_permissions")) { Content = new TreeViewUserProfilePermissions(this) }); _accordionChildUsers.Add("UserCommissionGroup", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_user_commission_groups")) { Content = Utils.GetGenericTreeViewXPO <TreeViewUserCommissionGroup>(this) }); //Moved to Custom Toolbar //_accordionChildUsers.Add("System_ApplyPrivileges", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_user_apply_privileges) { Clicked = delegate { Accordion.UpdateMenuPrivileges(); } }); //Documents Dictionary <string, AccordionNode> _accordionDocuments = new Dictionary <string, AccordionNode>(); _accordionDocuments.Add("DocumentFinanceYears", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_documentfinance_years")) { Content = Utils.GetGenericTreeViewXPO <TreeViewDocumentFinanceYears>(this) }); _accordionDocuments.Add("DocumentFinanceSeries", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_documentfinance_series")) { Content = Utils.GetGenericTreeViewXPO <TreeViewDocumentFinanceSeries>(this) }); _accordionDocuments.Add("DocumentFinanceType", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_documentfinance_type")) { Content = Utils.GetGenericTreeViewXPO <TreeViewDocumentFinanceType>(this) }); //_accordionDocuments.Add("DocumentFinanceYearSerieTerminal", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_documentfinance_yearsseriesterminal) { Content = Utils.GetGenericTreeViewXPO<TreeViewDocumentFinanceYearSerieTerminal>(this) }); _accordionDocuments.Add("ConfigurationVatRate", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_vat_rates")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationVatRate>(this) }); _accordionDocuments.Add("ConfigurationVatExemptionReason", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_vat_exemption_reason")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationVatExceptionReason>(this) }); _accordionDocuments.Add("ConfigurationPaymentCondition", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_payment_conditions")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPaymentCondition>(this) }); _accordionDocuments.Add("ConfigurationPaymentMethod", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_payment_methods")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPaymentMethod>(this) }); //AuxiliarTables Dictionary <string, AccordionNode> _accordionChildAuxiliarTables = new Dictionary <string, AccordionNode>(); //_accordionChildAuxiliarTables.Add("ConfigurationCashRegister", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_cash_registers) { Content = Utils.GetGenericTreeView<TreeViewConfigurationCashRegister>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationCountry", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_country")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationCountry>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationCurrency", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationCurrency")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationCurrency>(this) }); //_accordionChildAuxiliarTables.Add("ConfigurationDevice", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_devices) { Content = Utils.GetGenericTreeView<TreeViewConfigurationDevice>(this) }); //_accordionChildAuxiliarTables.Add("ConfigurationKeyboard", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_keyboards) { Content = Utils.GetGenericTreeView<TreeViewConfigurationKeyboard>(this) }); //_accordionChildAuxiliarTables.Add("ConfigurationMaintenance", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_maintenance) { Content = Utils.GetGenericTreeView<TreeViewConfigurationMaintenance>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationPlace", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_places")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlace>(this) }); /* IN009035 */ string configurationPlaceTableLabel = SettingsApp.IsDefaultTheme ? resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_place_tables") : resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "window_title_dialog_orders"); _accordionChildAuxiliarTables.Add("ConfigurationPlaceTable", new AccordionNode(configurationPlaceTableLabel) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlaceTable>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationPlaceMovementType", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_places_movement_type")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlaceMovementType>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationUnitMeasure", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_units_measure")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationUnitMeasure>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationUnitSize", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_units_size")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationUnitSize>(this) }); _accordionChildAuxiliarTables.Add("ConfigurationHolidays", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_holidays")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationHolidays>(this) }); //Devices Dictionary <string, AccordionNode> _accordionDevices = new Dictionary <string, AccordionNode>(); _accordionDevices.Add("ConfigurationPrintersType", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationPrintersType")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPrintersType>(this) }); _accordionDevices.Add("ConfigurationPrinters", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationPrinters")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPrinters>(this) }); _accordionDevices.Add("ConfigurationInputReader", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationInputReader")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationInputReader>(this) }); _accordionDevices.Add("ConfigurationPoleDisplay", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationPoleDisplay")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPoleDisplay>(this) }); _accordionDevices.Add("ConfigurationWeighingMachine", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationWeighingMachine")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationWeighingMachine>(this) }); // Deprecated //_accordionPrinters.Add("ConfigurationPrintersTemplates", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_ConfigurationPrintersTemplates) { Content = Utils.GetGenericTreeViewXPO<TreeViewConfigurationPrintersTemplates>(this) }); //_accordionPrinters.Add("ExternalApp_Composer", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_callposcomposer) { Content = null, ExternalAppFileName = SettingsApp.ExecutableComposer }); //Configuration Dictionary <string, AccordionNode> _accordionChildConfiguration = new Dictionary <string, AccordionNode>(); _accordionChildConfiguration.Add("ConfigurationPreferenceParameterCompany", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_preferenceparameter_company")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPreferenceParameter>(this, criteriaConfigurationPreferenceParameterCompany) }); _accordionChildConfiguration.Add("ConfigurationPreferenceParameterSystem", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_preferenceparameter_system")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPreferenceParameter>(this, criteriaConfigurationPreferenceParameterSystem) }); _accordionChildConfiguration.Add("ConfigurationPlaceTerminal", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_places_terminals")) { Content = Utils.GetGenericTreeViewXPO <TreeViewConfigurationPlaceTerminal>(this) }); //import Dictionary <string, AccordionNode> _accordionChildImport = new Dictionary <string, AccordionNode>(); _accordionChildImport.Add("System_Import_Articles", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_import_articles")) { Clicked = delegate { ExcelProcessing.OpenFilePicker(this, ImportExportFileOpen.OpenExcelArticles); } }); _accordionChildImport.Add("System_Import_Costumers", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_import_costumers")) { Clicked = delegate { ExcelProcessing.OpenFilePicker(this, ImportExportFileOpen.OpenExcelCostumers); } }); // Add Menu Items Based On Plugins PluginSoftwareVendor Dictionary <string, AccordionNode> _accordionChildExport = new Dictionary <string, AccordionNode>(); //Export if (GlobalFramework.PluginSoftwareVendor != null && SettingsApp.ConfigurationSystemCountry.Oid == SettingsApp.XpoOidConfigurationCountryPortugal) { _accordionChildExport.Add("System_ExportSaftPT_SaftPt", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_export_saftpt_whole_year")) { Clicked = delegate { FrameworkCalls.ExportSaftPt(this, ExportSaftPtMode.WholeYear); } }); _accordionChildExport.Add("System_ExportSaftPT_E-Fatura", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_export_saftpt_last_month")) { Clicked = delegate { FrameworkCalls.ExportSaftPt(this, ExportSaftPtMode.LastMonth); } }); _accordionChildExport.Add("System_ExportSaftPT_Custom", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_export_saftpt_custom")) { Clicked = delegate { FrameworkCalls.ExportSaftPt(this, ExportSaftPtMode.Custom); } }); } _accordionChildExport.Add("System_Export_Articles", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_export_articles")) { Clicked = delegate { ExcelProcessing.OpenFilePicker(this, ImportExportFileOpen.ExportArticles); } }); _accordionChildExport.Add("System_Export_Costumers", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_export_costumers")) { Clicked = delegate { ExcelProcessing.OpenFilePicker(this, ImportExportFileOpen.ExportCustomers); } }); //System Dictionary <string, AccordionNode> _accordionChildSystem = new Dictionary <string, AccordionNode>(); /* IN006001 - "System" > "Notification" menu option */ _accordionChildSystem.Add("System_Notification", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "window_title_dialog_notification")) { Clicked = delegate { Utils.ShowNotifications(this, true); } }); // Add Menu Items Based On Plugins PluginSoftwareVendor if (GlobalFramework.PluginSoftwareVendor != null) { _accordionChildSystem.Add("System_DataBaseBackup", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_database_backup")) { Clicked = delegate { DataBaseBackup.Backup(this); } }); _accordionChildSystem.Add("System_DataBaseRestore_FromSystem", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_database_restore")) { Clicked = delegate { DataBaseBackup.Restore(this, DataBaseRestoreFrom.SystemBackup); } }); _accordionChildSystem.Add("System_DataBaseRestore_FromFile", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_database_restore_from_file")) { Clicked = delegate { DataBaseBackup.Restore(this, DataBaseRestoreFrom.ChooseFromFilePickerDialog); } }); } _accordionChildSystem.Add("System_Menu", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_application_logout_user")) { Clicked = ClickedSystemLogout }); // _accordionChildSystem.Add("System_Pos", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_pos) { Clicked = ClickedSystemPos }); //_accordionChildSystem.Add("System_Quit", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_quit")) { Clicked = delegate { LogicPos.Quit(this); } }); //Compose Main Accordion Parent Buttons //TK016235 BackOffice - Mode if (GlobalFramework.AppUseBackOfficeMode) { accordionDefinition.Add("TopMenuFinanceDocuments", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_button_label_select_record_finance_documents")) { Childs = _accordionChildDocuments, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_documentos.png") }); } accordionDefinition.Add("TopMenuArticles", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_articles")) { Childs = _accordionChildArticles, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_artigos.png") }); accordionDefinition.Add("TopMenuDocuments", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_documents")) { Childs = _accordionDocuments, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_informacao_fiscal.png") }); accordionDefinition.Add("TopMenuCustomers", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_customers")) { Childs = _accordionChildCustomers, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_clientes.png") }); accordionDefinition.Add("TopMenuUsers", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_users")) { Childs = _accordionChildUsers, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_utilizadores.png") }); accordionDefinition.Add("TopMenuDevices", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_devices")) { Childs = _accordionDevices, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_impressoras.png") }); accordionDefinition.Add("TopMenuOtherTables", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_other_tables")) { Childs = _accordionChildAuxiliarTables, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_outras_tabelas.png") }); accordionDefinition.Add("TopMenuConfiguration", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_configuration")) { Childs = _accordionChildConfiguration, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_configuracao.png") }); //TK016235 BackOffice - Mode if (GlobalFramework.AppUseBackOfficeMode) { accordionDefinition.Add("TopMenuReports", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_reports")) { Childs = _accordionChildReports, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_relatorios.png") }); } accordionDefinition.Add("TopMenuImport", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_import")) { Childs = _accordionChildImport, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_import.png") }); if (_accordionChildExport.Count > 0) { accordionDefinition.Add("TopMenuExport", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_export")) { Childs = _accordionChildExport, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_export.png") }); } accordionDefinition.Add("TopMenuSystem", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_system")) { Childs = _accordionChildSystem, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_sistema.png") }); //Assets/Images/Icons/Accordion/pos_backoffice_sistema.png //Assets/Images/Icons/icon_pos_toolbar_back_office.png //TK016235 BackOffice - Mode //if (!GlobalFramework.AppUseBackOfficeMode) //{ // Dictionary<string, AccordionNode> _accordionChildSystemPOSMainWindow = new Dictionary<string, AccordionNode>(); // _accordionChildSystemPOSMainWindow.Add("System_Pos", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_pos")) { Clicked = ClickedSystemPos }); // accordionDefinition.Add("TopMenuPOSMainWindow", new AccordionNode(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_pos")) { Childs = _accordionChildSystemPOSMainWindow, GroupIcon = new Image("Assets/Images/Icons/Accordion/pos_backoffice_sistema.png") }); //} _log.Debug("GetAccordionDefinition End"); } catch (Exception ex) { _log.Error(ex.Message, ex); } return(accordionDefinition); }
void _touchButtonCashDrawer_Clicked(object sender, EventArgs e) { bool result; //ProcessWorkSessionPeriod.GetSessionPeriodMovementTotalDebug(GlobalFramework.WorkSessionPeriodTerminal, true ); PosCashDrawerDialog dialogCashDrawer = new PosCashDrawerDialog(this, DialogFlags.DestroyWithParent); int response = dialogCashDrawer.Run(); if (response == (int)ResponseType.Ok) { //Get Fresh XPO Objects, Prevent Deleted Object Bug POS_WorkSessionPeriod workSessionPeriodDay = GlobalFramework.SessionXpo.GetObjectByKey <POS_WorkSessionPeriod>(GlobalFramework.WorkSessionPeriodDay.Oid); POS_WorkSessionPeriod workSessionPeriodTerminal; switch (dialogCashDrawer.MovementType.Token) { case "CASHDRAWER_OPEN": //Start Terminal Period result = ProcessWorkSessionPeriod.SessionPeriodOpen(WorkSessionPeriodType.Terminal, dialogCashDrawer.MovementDescription); if (result) { //Update UI GlobalApp.WindowPos.UpdateWorkSessionUI(); GlobalApp.WindowPos.TicketList.UpdateOrderStatusBar(); //Here we already have GlobalFramework.WorkSessionPeriodTerminal, assigned on ProcessWorkSessionPeriod.SessionPeriodStart //Get Fresh XPO Objects, Prevent Deleted Object Bug workSessionPeriodTerminal = GlobalFramework.SessionXpo.GetObjectByKey <POS_WorkSessionPeriod>(GlobalFramework.WorkSessionPeriodTerminal.Oid); result = ProcessWorkSessionMovement.PersistWorkSessionMovement( workSessionPeriodTerminal, dialogCashDrawer.MovementType, GlobalFramework.LoggedUser, GlobalFramework.LoggedTerminal, FrameworkUtils.CurrentDateTimeAtomic(), dialogCashDrawer.MovementAmountMoney, dialogCashDrawer.MovementDescription ); } if (result) { //PrintWorkSessionMovement FrameworkCalls.PrintCashDrawerOpenAndMoneyInOut(dialogCashDrawer, GlobalFramework.LoggedTerminal.Printer, Resx.ticket_title_worksession_terminal_open, 0.0m, dialogCashDrawer.TotalAmountInCashDrawer, dialogCashDrawer.MovementDescription); //Enable UI Buttons When Have Open Session GlobalApp.WindowPos.TouchButtonPosToolbarNewFinanceDocument.Sensitive = true; //Open CashDrawer Utils.ShowMessageTouch(dialogCashDrawer, DialogFlags.Modal, new Size(500, 280), MessageType.Info, ButtonsType.Close, Resx.global_information, Resx.dialog_message_cashdrawer_open_successfully); } else { Utils.ShowMessageTouch(dialogCashDrawer, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, Resx.global_error, Resx.app_error_contact_support); } break; case "CASHDRAWER_CLOSE": //Stop Terminal Period result = ProcessWorkSessionPeriod.SessionPeriodClose(GlobalFramework.WorkSessionPeriodTerminal); if (result) { //Update UI GlobalApp.WindowPos.UpdateWorkSessionUI(); GlobalApp.WindowPos.LabelCurrentTable.Text = Resx.status_message_open_cashdrawer; //Get Fresh XPO Objects, Prevent Deleted Object Bug workSessionPeriodTerminal = GlobalFramework.SessionXpo.GetObjectByKey <POS_WorkSessionPeriod>(GlobalFramework.WorkSessionPeriodTerminal.Oid); //Add CASHDRAWER_CLOSE Movement to Day Period result = ProcessWorkSessionMovement.PersistWorkSessionMovement( workSessionPeriodTerminal, dialogCashDrawer.MovementType, GlobalFramework.LoggedUser, GlobalFramework.LoggedTerminal, FrameworkUtils.CurrentDateTimeAtomic(), dialogCashDrawer.MovementAmountMoney, dialogCashDrawer.MovementDescription ); //PrintWorkSessionMovement FrameworkCalls.PrintWorkSessionMovement(dialogCashDrawer, GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodTerminal); //Enable UI Buttons When Have Open Session GlobalApp.WindowPos.TouchButtonPosToolbarNewFinanceDocument.Sensitive = false; //Show ClosePeriodMessage ShowClosePeriodMessage(dialogCashDrawer, GlobalFramework.WorkSessionPeriodTerminal); } break; case "CASHDRAWER_IN": dialogCashDrawer.TotalAmountInCashDrawer += dialogCashDrawer.MovementAmountMoney; workSessionPeriodTerminal = GlobalFramework.SessionXpo.GetObjectByKey <POS_WorkSessionPeriod>(GlobalFramework.WorkSessionPeriodTerminal.Oid); result = ProcessWorkSessionMovement.PersistWorkSessionMovement( workSessionPeriodTerminal, dialogCashDrawer.MovementType, GlobalFramework.LoggedUser, GlobalFramework.LoggedTerminal, FrameworkUtils.CurrentDateTimeAtomic(), dialogCashDrawer.MovementAmountMoney, dialogCashDrawer.MovementDescription ); if (result) { //PrintCashDrawerOpenAndMoneyInOut FrameworkCalls.PrintCashDrawerOpenAndMoneyInOut(dialogCashDrawer, GlobalFramework.LoggedTerminal.Printer, Resx.ticket_title_worksession_money_in, dialogCashDrawer.MovementAmountMoney, dialogCashDrawer.TotalAmountInCashDrawer, dialogCashDrawer.MovementDescription); //Open CashDrawer PrintRouter.OpenDoor(GlobalFramework.LoggedTerminal.Printer); //Audit FrameworkUtils.Audit("CASHDRAWER_IN", string.Format( Resx.audit_message_cashdrawer_in, FrameworkUtils.DecimalToStringCurrency(dialogCashDrawer.MovementAmountMoney), dialogCashDrawer.MovementDescription) ); //ShowMessage Utils.ShowMessageTouch(dialogCashDrawer, DialogFlags.Modal, new Size(500, 300), MessageType.Info, ButtonsType.Close, Resx.global_information, Resx.dialog_message_operation_successfully); } else { Utils.ShowMessageTouch(dialogCashDrawer, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, Resx.global_error, Resx.app_error_contact_support); } break; //Work with Terminal Session case "CASHDRAWER_OUT": dialogCashDrawer.TotalAmountInCashDrawer -= dialogCashDrawer.MovementAmountMoney; workSessionPeriodTerminal = GlobalFramework.SessionXpo.GetObjectByKey <POS_WorkSessionPeriod>(GlobalFramework.WorkSessionPeriodTerminal.Oid); //In Period Terminal result = ProcessWorkSessionMovement.PersistWorkSessionMovement( workSessionPeriodTerminal, dialogCashDrawer.MovementType, GlobalFramework.LoggedUser, GlobalFramework.LoggedTerminal, FrameworkUtils.CurrentDateTimeAtomic(), -dialogCashDrawer.MovementAmountMoney, dialogCashDrawer.MovementDescription ); if (result) { //PrintCashDrawerOpenAndMoneyInOut FrameworkCalls.PrintCashDrawerOpenAndMoneyInOut(dialogCashDrawer, GlobalFramework.LoggedTerminal.Printer, Resx.ticket_title_worksession_money_out, dialogCashDrawer.MovementAmountMoney, dialogCashDrawer.TotalAmountInCashDrawer, dialogCashDrawer.MovementDescription); //Open CashDrawer PrintRouter.OpenDoor(GlobalFramework.LoggedTerminal.Printer); //Audit FrameworkUtils.Audit("CASHDRAWER_OUT", string.Format( Resx.audit_message_cashdrawer_out, FrameworkUtils.DecimalToStringCurrency(dialogCashDrawer.MovementAmountMoney), dialogCashDrawer.MovementDescription) ); //ShowMessage Utils.ShowMessageTouch(dialogCashDrawer, DialogFlags.Modal, new Size(500, 300), MessageType.Info, ButtonsType.Close, Resx.global_information, Resx.dialog_message_operation_successfully); } else { Utils.ShowMessageTouch(dialogCashDrawer, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, Resx.global_error, Resx.app_error_contact_support); } break; case "CASHDRAWER_MONEY_OUT": break; default: break; } } ; dialogCashDrawer.Destroy(); //TODO: Remove Comments //_log.Debug(string.Format("ProcessWorkSessionPeriod: [{0}]", ProcessWorkSessionPeriod.GetSessionPeriodCashDrawerOpenOrCloseAmount(GlobalFramework.WorkSessionPeriodDay))); //if (GlobalFramework.WorkSessionPeriodDay != null) ProcessWorkSessionPeriod.GetSessionPeriodMovementTotalDebug(GlobalFramework.WorkSessionPeriodDay, true); //if (GlobalFramework.WorkSessionPeriodTerminal != null) ProcessWorkSessionPeriod.GetSessionPeriodMovementTotalDebug(GlobalFramework.WorkSessionPeriodTerminal, true); }
protected override void OnResponse(ResponseType pResponse) { if (pResponse == ResponseType.Ok) { _movementAmountMoney = FrameworkUtils.StringToDecimal(_entryBoxMovementAmountMoney.EntryValidation.Text); _movementDescription = _entryBoxMovementDescription.EntryValidation.Text; decimal cashLastMovementTypeAmount = 0.0m; if (_selectedMovementType.Token == "CASHDRAWER_OPEN") { cashLastMovementTypeAmount = ProcessWorkSessionPeriod.GetSessionPeriodCashDrawerOpenOrCloseAmount("CASHDRAWER_CLOSE"); } else if (_selectedMovementType.Token == "CASHDRAWER_CLOSE") { cashLastMovementTypeAmount = ProcessWorkSessionPeriod.GetSessionPeriodCashDrawerOpenOrCloseAmount("CASHDRAWER_OPEN"); //Keep Running if (!IsCashDrawerAmountValid(cashLastMovementTypeAmount)) { this.Run(); } else { pResponse = Utils.ShowMessageTouch( this, DialogFlags.Modal, new Size(500, 350), MessageType.Question, ButtonsType.YesNo, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_button_label_print"), resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_message_request_print_document_confirmation")); if (pResponse == ResponseType.Yes) { FrameworkCalls.PrintWorkSessionMovement(this, GlobalFramework.LoggedTerminal.ThermalPrinter, GlobalFramework.WorkSessionPeriodTerminal); } } } else if (_selectedMovementType.Token == "CASHDRAWER_OUT") { //Check if Value is Small than AmountInCashDrawer if (_movementAmountMoney > _totalAmountInCashDrawer) { string movementAmountMoney = FrameworkUtils.DecimalToStringCurrency(_movementAmountMoney); string totalAmountInCashDrawer = FrameworkUtils.DecimalToStringCurrency(_totalAmountInCashDrawer); Utils.ShowMessageTouch( this, DialogFlags.Modal, new Size(500, 350), MessageType.Error, ButtonsType.Ok, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_error"), string.Format(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "dialog_message_cashdrawer_money_out_error"), movementAmountMoney, totalAmountInCashDrawer) ); //Keep Running this.Run(); } } } else if (pResponse == _responseTypePrint) { //Uncomment to Pront Session Day //PrintTicket.PrintWorkSessionMovementInit(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodDay); //PrintWorkSessionMovement //PrintRouter.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodTerminal); FrameworkCalls.PrintWorkSessionMovement(this, GlobalFramework.LoggedTerminal.ThermalPrinter, GlobalFramework.WorkSessionPeriodTerminal); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodDay); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, GlobalFramework.WorkSessionPeriodTerminal); //(_sourceWindow as PosCashDialog).ShowClosePeriodMessage(GlobalFramework.WorkSessionPeriodDay); //(_sourceWindow as PosCashDialog).ShowClosePeriodMessage(GlobalFramework.WorkSessionPeriodTerminal); //TEST FROM PERSISTED GUID, PAST RESUMES - DEBUG ONLY //WorkSessionPeriod workSessionPeriodDay; //WorkSessionPeriod workSessionPeriodTerminal; //#0 - Day 1 //workSessionPeriodDay = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("90a187b3-c91b-4c5b-907a-d54a6ee1dcb6")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodDay); //#8 - Day 2 //workSessionPeriodDay = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("5ce65097-55a2-4a6c-9406-aabe9f3f0124")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodDay); //#1 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("12d74d99-9734-4adb-b322-82f337e24d3e")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#2 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("67758bb2-c52a-4c05-8e10-37f63f729ce4")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#3 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("f43ae288-3615-44c0-b876-4fcac01efd1e")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#4 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("8b261a90-c15d-4e54-a013-c85467338224")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#5 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("13816f1f-4dd5-4351-afe4-c492f61cacb1")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#6 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("e5698d06-5740-4317-b7c7-d3eb92063b37")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#7 - Day1 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("734c8ed3-34f9-4096-8c20-de9110a24817")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#9 - Day2 - Terminal #10 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("f445c36c-3ebd-46f1-bcbd-d158e497eda9")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#10 - Day2 - Terminal #20 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("74fd498a-c1a7-46e6-a117-14eea795e93d")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); //#11 - Day2 - Terminal #30 //workSessionPeriodTerminal = (WorkSessionPeriod)FrameworkUtils.GetXPGuidObjectFromSession(typeof(WorkSessionPeriod), new Guid("14631cda-f31a-4e7a-8a75-a3ba2955ccf8")); //PrintTicket.PrintWorkSessionMovement(GlobalFramework.LoggedTerminal.Printer, workSessionPeriodTerminal); this.Run(); } }