void tablePadPlace_Clicked(object sender, EventArgs e) { TouchButtonBase button = (TouchButtonBase)sender; //Assign CurrentId to TablePad.CurrentId, to Know last Clicked Button Id _tablePadPlace.SelectedButtonOid = button.CurrentButtonOid; switch (_currentViewMode) { case TableViewMode.Tables: //TablePadTable Filter _tablePadTable.Filter = GetTablePadTableFilter((ResponseType)_currentTableStatusId); //if in FilterMode OnlyFreeTables add TableStatus Filter if (_FilterMode == TableFilterMode.OnlyFreeTables) { _tablePadTable.Filter = string.Format("{0} AND (TableStatus = {1} OR TableStatus IS NULL)", _tablePadTable.Filter, (int)TableStatus.Free); } break; case TableViewMode.Orders: //TablePadOrder Filter _tablePadOrder.Filter = GetTablePadPlaceFilter(); break; default: break; } }
private void _buttonScrollNext_Clicked(object obj, EventArgs args) { TouchButtonBase button = (TouchButtonBase)obj; _currentPage = _currentPage + 1; Update(); }
public TablePad(String pSql, String pOrder, String pFilter, Guid pActiveButtonOid, bool pToggleMode, uint pRows, uint pColumns, String pButtonNamePrefix, Color pColorButton, int pButtonWidth, int pButtonHeight, TouchButtonBase buttonPrev, TouchButtonBase buttonNext) : base(pRows, pColumns, true) { //_log.Debug(string.Format("TablePad():{0}pSql: [{1}]{0}pOrder: [{2}]{0}pFilter: [{3}]", Environment.NewLine, pSql, pOrder, pFilter)); //Assign parameters to fields/properties _sql = pSql; _order = " " + pOrder; _filter = " " + pFilter; _initialActiveButtonOid = pActiveButtonOid; _toggleMode = pToggleMode; _rows = pRows; _columns = pColumns; _buttonNamePrefix = pButtonNamePrefix; _colorButton = pColorButton; _buttonWidth = pButtonWidth; _buttonHeight = pButtonHeight; _buttonScrollPrev = buttonPrev; _buttonScrollNext = buttonNext; _buttonScrollPrev.Sensitive = false; _buttonScrollNext.Sensitive = false; //Create List _listButtons = new List <TouchButtonBase>(); //Signals/events _buttonScrollPrev.Clicked += _buttonScrollPrev_Clicked; _buttonScrollNext.Clicked += _buttonScrollNext_Clicked; UpdateSql(); }
public ActionAreaButton(TouchButtonBase button, ResponseType response) { _button = button; _response = response; _button.Clicked += ActionAreaButton_Clicked; }
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Event: Articles Button Clicks void _tablePadArticle_Clicked(object sender, EventArgs e) { try { TouchButtonBase button = (TouchButtonBase)sender; //_log.Debug(string.Format("_tablePadArticle_Clicked(): A:CurrentId:[{0}], Name:[{1}]", button.CurrentButtonOid, button.Name)); //Change Mode if (_ticketList.ListMode != TicketListMode.Ticket) { _ticketList.ListMode = TicketListMode.Ticket; _ticketList.UpdateModel(); } //Assign CurrentId to TablePad.CurrentId, to Know last Clicked Button Id _tablePadArticle.SelectedButtonOid = button.CurrentButtonOid; //Send to TicketList _ticketList.InsertOrUpdate(button.CurrentButtonOid); } catch (Exception ex) { _log.Error(ex.Message, ex); } }
private HBox GetActionAreaButtonsHbox(ActionAreaButtons pActionAreaRightButtons, TextDirection pTextDirection) { int pos; HBox hboxActionArea = new HBox(false, 5) { Direction = pTextDirection }; for (int i = 0; i < pActionAreaRightButtons.Count; i++) { //Reverse Index pos = pActionAreaRightButtons.Count - 1 - i; pActionAreaRightButtons[pos].Button.SetSizeRequest(_sizeBaseDialogActionAreaButton.Width, _sizeBaseDialogActionAreaButton.Height); pActionAreaRightButtons[pos].Clicked += Button_Clicked; hboxActionArea.PackStart(pActionAreaRightButtons[pos].Button, false, false, 0); //Detect Confirmation Button and Assign it to actionAreaConfirmButton, used in KeyReleaseEvent if (_actionAreaConfirmButton == null) { switch (pActionAreaRightButtons[pos].Response) { case ResponseType.Accept: case ResponseType.Apply: case ResponseType.Ok: case ResponseType.Yes: _actionAreaConfirmButton = pActionAreaRightButtons[pos].Button; break; } } } return(hboxActionArea); }
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Event: Families Button Clicks void _tablePadFamily_Clicked(object sender, EventArgs e) { TouchButtonBase button = (TouchButtonBase)sender; //Assign CurrentId to TablePad.CurrentId, to Know last Clicked Button Id _tablePadFamily.SelectedButtonOid = button.CurrentButtonOid; //SubFamily Filter _tablePadSubFamily.Filter = string.Format(" AND (Family = '{0}')", button.CurrentButtonOid); //IN009277 string getFirstSubFamily = "0"; if (GlobalFramework.DatabaseType.ToString() == "MySql" || GlobalFramework.DatabaseType.ToString() == "SQLite") { string mysql = string.Format("SELECT Oid FROM fin_articlesubfamily WHERE Family = '{0}' Order by CODE Asc LIMIT 1", _tablePadFamily.SelectedButtonOid); getFirstSubFamily = GlobalFramework.SessionXpo.ExecuteScalar(mysql).ToString(); } else if (GlobalFramework.DatabaseType.ToString() == "MSSqlServer") { string mssqlServer = string.Format("SELECT TOP 1 Oid FROM fin_articlesubfamily WHERE Family = '{0}' Order by CODE Asc", _tablePadFamily.SelectedButtonOid); getFirstSubFamily = GlobalFramework.SessionXpo.ExecuteScalar(mssqlServer).ToString(); } //Article Filter : When Change Family always change Article too TablePadArticle.Filter = " AND (SubFamily = '" + getFirstSubFamily + "')"; //IN009277ENDS //Debug //_log.Debug(string.Format("_tablePadFamily_Clicked(): F:CurrentId: [{0}], Name: [{1}]", button.CurrentId, button.Name)); //_log.Debug(string.Format("_tablePadFamily_Clicked(): SubFamily.Sql:[{0}{1}{2}]", _tablePadSubFamily.Sql, _tablePadSubFamily.Filter, _tablePadSubFamily.Order)); //_log.Debug(string.Format("_tablePadFamily_Clicked(): Article.Sql:[{0}{1}{2}]", _tablePadArticle.Sql, _tablePadArticle.Filter, _tablePadArticle.Order)); }
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Events private void _tablePadUser_Clicked(object sender, EventArgs e) { TouchButtonBase button = (TouchButtonBase)sender; //Assign CurrentId to TablePad.CurrentId, to Know last Clicked Button Id _tablePadUser.SelectedButtonOid = button.CurrentButtonOid; //Assign User Detail to Member Reference AssignUserDetail(); }
//::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Event: SubFamilies Button Clicks void _tablePadSubFamily_Clicked(object sender, EventArgs e) { TouchButtonBase button = (TouchButtonBase)sender; //Assign CurrentId to TablePad.CurrentId, to Know last Clicked Button Id _tablePadSubFamily.SelectedButtonOid = button.CurrentButtonOid; //Article Filter _tablePadArticle.Filter = string.Format(" AND (SubFamily = '{0}')", button.CurrentButtonOid); //Debug //_log.Debug(string.Format("_tablePadSubFamily_Clicked(): S:CurrentId:[{0}], Name:[{1}]", button.CurrentId, button.Name)); //_log.Debug(string.Format("_tablePadSubFamily_Clicked(): Article.Sql:[{0}{1}{2}]", _tablePadArticle.Sql, _tablePadArticle.Filter, _tablePadArticle.Order)); }
void _tablePadUsers_Clicked(object sender, EventArgs e) { TouchButtonBase button = (TouchButtonBase)sender; //Assign CurrentId to TablePad.CurrentId, to Know last Clicked Button Id _tablePadUsers.SelectedButtonOid = button.CurrentButtonOid; //To be Used in Dialog Result _selectedUserDetail = (SYS_UserDetail)FrameworkUtils.GetXPGuidObject(typeof(SYS_UserDetail), button.CurrentButtonOid); if (_selectedUserDetail.PasswordReset) { //_log.Debug(string.Format("Name: [{0}], PasswordReset: [{1}]", _selectedUserDetail.Name, _selectedUserDetail.PasswordReset)); Utils.ShowMessageTouch(this, DialogFlags.Modal, MessageType.Info, ButtonsType.Ok, Resx.global_information, string.Format(Resx.dialog_message_user_request_change_password, _selectedUserDetail.Name, SettingsApp.DefaultValueUserDetailAccessPin) ); } //Send Response to Replace the Old Ok Button Respond(ResponseType.Ok); }
//Redirect to public Clicked Event private void TablePadChildButton_Clicked(object sender, EventArgs e) { TouchButtonBase button = (TouchButtonBase)sender; //Restore old selected button Color if (_toggleMode && _selectedButton != null) { _selectedButton.Sensitive = true; } //Change New Selected Button Reference _selectedButton = button; if (_toggleMode) { _selectedButton.Sensitive = false; } if (Clicked != null) { Clicked(sender, e); } }
public void UpdateSql() { try { bool useImageOverlay = Convert.ToBoolean(GlobalFramework.Settings["useImageOverlay"]); if (!useImageOverlay) { _fileBaseButtonOverlay = null; } //When update always set page 1, start page _currentPage = 1; //Store Total Childs bool _hasChilds = false; //Local Vars String executeSql; TouchButtonBase buttonCurrent = null; //Reset CurrentButtonOid, Or Assign it to initialActiveButtonOid if Defined in TablePad Constructor _selectedButtonOid = (_initialActiveButtonOid != Guid.Empty) ? _initialActiveButtonOid : Guid.Empty; //Prepare executeSql for first time if (_filter != string.Empty) { executeSql = _sql + _filter; } else { executeSql = _sql; }; if (_order != string.Empty) { executeSql += _order; } ; executeSql = string.Format("{0};", FrameworkUtils.RemoveCarriageReturnAndExtraWhiteSpaces(executeSql)); //_log.Debug(string.Format("TablePad(): executeSql: [{0}]", executeSql)); //Always clear listItems if (_listButtons.Count > 0) { _listButtons.Clear(); } //Debug SelectedData xpoSelectedData = GlobalFramework.SessionXpo.ExecuteQueryWithMetadata(executeSql); SelectStatementResultRow[] selectStatementResultMeta = xpoSelectedData.ResultSet[0].Rows; SelectStatementResultRow[] selectStatementResultData = xpoSelectedData.ResultSet[1].Rows; // foreach (SelectStatementResultRow row in selectStatementResultMeta) // { // _log.Debug(string.Format("UpdateSql(): {0}\t{1}\t{2}", row.Values[0], row.Values[1], row.Values[2])); // } // Detect Encrypted Model if (GlobalFramework.PluginSoftwareVendor != null && executeSql.ToLower().Contains(nameof(sys_userdetail).ToLower())) { // Inject nonPropertyFields that are outside of attributes Scope and are required to exists to be decrypted string[] nonPropertyFields = { "label" }; // Unencrypt selectStatementResultData encrypted properties selectStatementResultData = XPGuidObject.DecryptSelectStatementResults(typeof(sys_userdetail), selectStatementResultMeta, selectStatementResultData, nonPropertyFields); } //Create a FieldIndex to Get Values From FieldNames int i = 0; _fieldIndex = new Dictionary <string, int>(); foreach (SelectStatementResultRow field in selectStatementResultMeta) { _fieldIndex.Add(field.Values[0].ToString(), i++); } if (selectStatementResultData != null && selectStatementResultData.LongLength > 0) { //check existance of required fields if (selectStatementResultMeta[_fieldIndex["id"]].Values[0].ToString() == "id" && selectStatementResultMeta[_fieldIndex["name"]].Values[0].ToString() == "name" && selectStatementResultMeta[_fieldIndex["label"]].Values[0].ToString() == "label" && selectStatementResultMeta[_fieldIndex["image"]].Values[0].ToString() == "image") { foreach (SelectStatementResultRow row in selectStatementResultData) { //Create the protected reference to current row _resultRow = row; //Assign first id to TablePad if (_selectedButtonOid == Guid.Empty) { _selectedButtonOid = new Guid(_resultRow.Values[_fieldIndex["id"]].ToString()); //If not defined _initialActiveButtonOid, by default the _initialActiveButtonOid will be the first button if (_initialActiveButtonOid == Guid.Empty) { _initialActiveButtonOid = _selectedButtonOid; } } ; _strButtonName = string.Format("{0}_{1}", _buttonNamePrefix, _resultRow.Values[_fieldIndex["id"]].ToString()); _strButtonLabel = (_resultRow.Values[_fieldIndex["label"]] != null && _resultRow.Values[_fieldIndex["label"]].ToString() != string.Empty) ? _resultRow.Values[_fieldIndex["label"]].ToString() : _resultRow.Values[_fieldIndex["name"]].ToString(); _strButtonImage = (_resultRow.Values[_fieldIndex["image"]] != null && _resultRow.Values[_fieldIndex["image"]].ToString() != string.Empty) ? FrameworkUtils.OSSlash(_resultRow.Values[_fieldIndex["image"]].ToString()) : ""; if (_strButtonLabel.Length > _posBaseButtonMaxCharsPerLabel) { _strButtonLabel = _strButtonLabel.Substring(0, _posBaseButtonMaxCharsPerLabel) + "."; } ; //Initialize Button buttonCurrent = InitializeButton(); //Add Current Button to List _listButtons.Add(buttonCurrent); buttonCurrent.CurrentButtonOid = new Guid(_resultRow.Values[_fieldIndex["id"]].ToString()); //Disable Current Active Button, and turn it the selected if (new Guid(_resultRow.Values[_fieldIndex["id"]].ToString()) == _initialActiveButtonOid) { if (_toggleMode) { buttonCurrent.Sensitive = false; } //Always assign selected reference to SelectedButton _selectedButton = buttonCurrent; } //Childs if (_fieldIndex.ContainsKey("childs")) { _hasChilds = (Convert.ToInt16(_resultRow.Values[_fieldIndex["childs"]]) > 0) ? true : false; } else { _hasChilds = true; }; if (_hasChilds) { //Assign to public Event, to be Exposed to initialized object buttonCurrent.Clicked += TablePadChildButton_Clicked; //Add Childs to Button Label //TODO: WorkInProgress //_log.Debug(string.Format("UpdateSql(): _reader.FieldCount [{0}]", _reader.FieldCount)); //if(_reader.FieldCount >= 5 && !_reader.IsDBNull(4)) buttonCurrent.Label += string.Format(" ({0})", _reader.GetInt16("childs")); } else { //Disable Button buttonCurrent.Sensitive = false; }; } ; //prepare pagging _totalItems = _listButtons.Count; _itemsPerPage = Convert.ToInt16(_rows * _columns); _totalPages = (int)Math.Ceiling((float)_totalItems / (float)_itemsPerPage); //Debug //_log.Debug(string.Format("UpdateSql(): totalItems: [{0}], itemsPerPage: [{1}], totalPages: [{2}]", _totalItems, _itemsPerPage, _totalPages)); Update(); } else { Utils.ShowMessageTouch(GlobalApp.WindowPos, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_error"), "TablePad: Cant create TablePad, invalid query! You must supply mandatory fields name in Sql (id, name, label and image)!"); }; } else { //Always update buttons, even if result in empty query Update(); } } catch (Exception ex) { _log.Error(ex.Message, ex); } }
public PosCashDrawerDialog(Window pSourceWindow, DialogFlags pDialogFlags) //Disable WindowTitleCloseButton : base(pSourceWindow, pDialogFlags, true, false) { try { //Parameters _sourceWindow = pSourceWindow; //If has a valid open session if (GlobalFramework.WorkSessionPeriodTerminal != null) { //Get From MoneyInCashDrawer, Includes CASHDRAWER_START and Money Movements _totalAmountInCashDrawer = ProcessWorkSessionPeriod.GetSessionPeriodMovementTotal(GlobalFramework.WorkSessionPeriodTerminal, MovementTypeTotal.MoneyInCashDrawer); } //Dont have Open Terminal Session YET, use from last Closed CashDrawer else { //Default Last Closed Cash Value _totalAmountInCashDrawer = ProcessWorkSessionPeriod.GetSessionPeriodCashDrawerOpenOrCloseAmount("CASHDRAWER_CLOSE"); } //Init Local Vars String windowTitle = string.Format(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "window_title_dialog_cashdrawer"), FrameworkUtils.DecimalToStringCurrency(_totalAmountInCashDrawer)); Size windowSize = new Size(462, 310);//400 With Other Payments String fileDefaultWindowIcon = FrameworkUtils.OSSlash(GlobalFramework.Path["images"] + @"Icons\Windows\icon_window_cash_drawer.png"); String fileActionPrint = FrameworkUtils.OSSlash(GlobalFramework.Path["images"] + @"Icons\Dialogs\icon_pos_dialog_action_print.png"); //Get SeletedData from WorkSessionMovementType Buttons string executeSql = @"SELECT Oid, Token, ResourceString, ButtonIcon, Disabled FROM pos_worksessionmovementtype WHERE (Token LIKE 'CASHDRAWER_%') AND (Disabled IS NULL or Disabled <> 1) ORDER BY Ord;"; XPSelectData xPSelectData = FrameworkUtils.GetSelectedDataFromQuery(executeSql); //Init Dictionary string buttonBagKey; bool buttonDisabled; Dictionary <string, TouchButtonIconWithText> buttonBag = new Dictionary <string, TouchButtonIconWithText>(); TouchButtonIconWithText touchButtonIconWithText; HBox hboxCashDrawerButtons = new HBox(true, 5); bool buttonOkSensitive; //Generate Buttons foreach (SelectStatementResultRow row in xPSelectData.Data) { buttonBagKey = row.Values[xPSelectData.GetFieldIndex("Token")].ToString(); buttonDisabled = Convert.ToBoolean(row.Values[xPSelectData.GetFieldIndex("Disabled")]); touchButtonIconWithText = new TouchButtonIconWithText( string.Format("touchButton{0}_Green", buttonBagKey), Color.Transparent /*_colorBaseDialogDefaultButtonBackground*/, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], row.Values[xPSelectData.GetFieldIndex("ResourceString")].ToString()), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], row.Values[xPSelectData.GetFieldIndex("ButtonIcon")].ToString())), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height ) { CurrentButtonOid = new Guid(row.Values[xPSelectData.GetFieldIndex("Oid")].ToString()), Sensitive = !buttonDisabled }; //Add to Dictionary buttonBag.Add(buttonBagKey, touchButtonIconWithText); //pack to VBhox hboxCashDrawerButtons.PackStart(touchButtonIconWithText, true, true, 0); //Events buttonBag[buttonBagKey].Clicked += PosCashDrawerDialog_Clicked; } //Initial Button Status, Based on Open/Close Terminal Session string initialButtonToken; if (GlobalFramework.WorkSessionPeriodTerminal != null && GlobalFramework.WorkSessionPeriodTerminal.SessionStatus == WorkSessionPeriodStatus.Open) { buttonBag["CASHDRAWER_OPEN"].Sensitive = false; buttonBag["CASHDRAWER_CLOSE"].Sensitive = true; buttonBag["CASHDRAWER_IN"].Sensitive = true; buttonBag["CASHDRAWER_OUT"].Sensitive = true; initialButtonToken = "CASHDRAWER_CLOSE"; buttonOkSensitive = true; } else { buttonBag["CASHDRAWER_OPEN"].Sensitive = true; buttonBag["CASHDRAWER_CLOSE"].Sensitive = false; buttonBag["CASHDRAWER_IN"].Sensitive = false; buttonBag["CASHDRAWER_OUT"].Sensitive = false; initialButtonToken = "CASHDRAWER_OPEN"; buttonOkSensitive = false; } //Initial Dialog Values _selectedCashDrawerButton = buttonBag[initialButtonToken]; _selectedCashDrawerButton.ModifyBg(StateType.Normal, Utils.ColorToGdkColor(Utils.Lighten(_colorBaseDialogDefaultButtonBackground, 0.50f))); _selectedMovementType = (pos_worksessionmovementtype)FrameworkUtils.GetXPGuidObject(GlobalFramework.SessionXpo, typeof(pos_worksessionmovementtype), _selectedCashDrawerButton.CurrentButtonOid); _selectedMovementType.Token = initialButtonToken; //EntryAmountMoney _entryBoxMovementAmountMoney = new EntryBoxValidation(this, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_money"), KeyboardMode.Money, SettingsApp.RegexDecimalGreaterEqualThanZero, true); _entryBoxMovementAmountMoney.EntryValidation.Changed += delegate { ValidateDialog(); }; //TODO: Enable Other Payments //EntryAmountOtherPayments //_entryBoxMovementAmountOtherPayments = new EntryBox(resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_other_payments, KeyboardModes.Money, regexDecimalGreaterThanZero, false); //_entryBoxMovementAmountOtherPayments.EntryValidation.Changed += delegate { ValidateDialog(); }; //EntryDescription _entryBoxMovementDescription = new EntryBoxValidation(this, resources.CustomResources.GetCustomResources(GlobalFramework.Settings["customCultureResourceDefinition"], "global_description"), KeyboardMode.AlfaNumeric, SettingsApp.RegexAlfaNumericExtended, false); _entryBoxMovementDescription.EntryValidation.Changed += delegate { ValidateDialog(); }; //VBox VBox vbox = new VBox(false, 0); vbox.PackStart(hboxCashDrawerButtons, false, false, 0); vbox.PackStart(_entryBoxMovementAmountMoney, false, false, 0); //vbox.PackStart(_entryBoxMovementAmountOtherPayments, false, false, 0); vbox.PackStart(_entryBoxMovementDescription, false, false, 0); //Init Content Fixed fixedContent = new Fixed(); fixedContent.Put(vbox, 0, 0); //ActionArea Buttons _buttonOk = ActionAreaButton.FactoryGetDialogButtonType(PosBaseDialogButtonType.Ok); _buttonCancel = ActionAreaButton.FactoryGetDialogButtonType(PosBaseDialogButtonType.Cancel); _buttonPrint = ActionAreaButton.FactoryGetDialogButtonType(PosBaseDialogButtonType.Print); _buttonOk.Sensitive = false; _buttonPrint.Sensitive = buttonOkSensitive; //ActionArea ActionAreaButtons actionAreaButtons = new ActionAreaButtons(); actionAreaButtons.Add(new ActionAreaButton(_buttonPrint, _responseTypePrint)); actionAreaButtons.Add(new ActionAreaButton(_buttonOk, ResponseType.Ok)); actionAreaButtons.Add(new ActionAreaButton(_buttonCancel, ResponseType.Cancel)); //Call Activate Button Helper Method ActivateButton(buttonBag[initialButtonToken]); //Init Object this.InitObject(this, pDialogFlags, fileDefaultWindowIcon, windowTitle, windowSize, fixedContent, actionAreaButtons); } catch (Exception ex) { _log.Error(ex.Message, ex); } }
public TablePadArticle(String pSql, String pOrder, String pFilter, Guid pActiveButtonOid, bool pToggleMode, uint pRows, uint pColumns, String pButtonNamePrefix, Color pColorButton, int pButtonWidth, int pButtonHeight, TouchButtonBase buttonPrev, TouchButtonBase buttonNext) : base(pSql, pOrder, pFilter, pActiveButtonOid, pToggleMode, pRows, pColumns, pButtonNamePrefix, pColorButton, pButtonWidth, pButtonHeight, buttonPrev, buttonNext) { }
public PosPaymentsDialog(Window pSourceWindow, DialogFlags pDialogFlags, ArticleBag pArticleBag, bool pEnablePartialPaymentButtons, bool pEnableCurrentAccountButton, bool pSkipPersistFinanceDocument, ProcessFinanceDocumentParameter pProcessFinanceDocumentParameter, string pSelectedPaymentMethodButtonName) : base(pSourceWindow, pDialogFlags, false) { try { //Init Local Vars _sourceWindow = pSourceWindow; string windowTitle = Resx.window_title_dialog_payments; //TODO:THEME Size windowSize = new Size(598, 620); string fileDefaultWindowIcon = FrameworkUtils.OSSlash(GlobalFramework.Path["images"] + @"Icons\Windows\icon_window_payments.png"); //Parameters _articleBagFullPayment = pArticleBag; _skipPersistFinanceDocument = pSkipPersistFinanceDocument; _processFinanceDocumentParameter = pProcessFinanceDocumentParameter; bool enablePartialPaymentButtons = pEnablePartialPaymentButtons; bool enableCurrentAccountButton = pEnableCurrentAccountButton; if (enablePartialPaymentButtons) { enablePartialPaymentButtons = (_articleBagFullPayment.TotalQuantity > 1) ? true : false; } //Files string fileIconClearCustomer = FrameworkUtils.OSSlash(GlobalFramework.Path["images"] + @"Icons\icon_pos_nav_delete.png"); string fileIconFullPayment = FrameworkUtils.OSSlash(GlobalFramework.Path["images"] + @"Icons\icon_pos_payment_full.png"); string fileIconPartialPayment = FrameworkUtils.OSSlash(GlobalFramework.Path["images"] + @"Icons\icon_pos_payment_partial.png"); //Colors Color colorPosPaymentsDialogTotalPannelBackground = FrameworkUtils.StringToColor(GlobalFramework.Settings["colorPosPaymentsDialogTotalPannelBackground"]); //Objects _intialValueConfigurationCountry = SettingsApp.ConfigurationSystemCountry; //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Payment Buttons //Get Custom Select Data string executeSql = @"SELECT Oid, Token, ResourceString FROM fin_configurationpaymentmethod ORDER BY Ord;"; XPSelectData xPSelectData = FrameworkUtils.GetSelectedDataFromQuery(executeSql); //Get Required XpObjects from Selected Data FIN_ConfigurationPaymentMethod xpoMoney = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "MONEY"); FIN_ConfigurationPaymentMethod xpoCheck = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "BANK_CHECK"); FIN_ConfigurationPaymentMethod xpoMB = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "CASH_MACHINE"); FIN_ConfigurationPaymentMethod xpoCreditCard = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "CREDIT_CARD"); FIN_ConfigurationPaymentMethod xpoVisa = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "VISA"); FIN_ConfigurationPaymentMethod xpoCurrentAccount = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "CURRENT_ACCOUNT"); FIN_ConfigurationPaymentMethod xpoCustomerCard = (FIN_ConfigurationPaymentMethod)xPSelectData.GetXPGuidObjectFromField(typeof(FIN_ConfigurationPaymentMethod), "Token", "CUSTOMER_CARD"); //Instantiate Buttons TouchButtonIconWithText buttonMoney = new TouchButtonIconWithText("touchButtonMoney_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoMoney.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoMoney.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoMoney.Oid, Sensitive = (xpoMoney.Disabled) ? false : true }; TouchButtonIconWithText buttonCheck = new TouchButtonIconWithText("touchButtonCheck_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoCheck.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoCheck.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoCheck.Oid, Sensitive = (xpoCheck.Disabled) ? false : true }; TouchButtonIconWithText buttonMB = new TouchButtonIconWithText("touchButtonMB_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoMB.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoMB.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoMB.Oid, Sensitive = (xpoMB.Disabled) ? false : true }; TouchButtonIconWithText buttonCreditCard = new TouchButtonIconWithText("touchButtonCreditCard_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoCreditCard.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoCreditCard.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoCreditCard.Oid, Sensitive = (xpoCreditCard.Disabled) ? false : true }; TouchButtonIconWithText buttonVisa = new TouchButtonIconWithText("touchButtonVisa_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoVisa.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoVisa.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoVisa.Oid, Sensitive = (xpoVisa.Disabled) ? false : true }; TouchButtonIconWithText buttonCurrentAccount = new TouchButtonIconWithText("touchButtonCurrentAccount_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoCurrentAccount.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoCurrentAccount.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoCurrentAccount.Oid, Sensitive = (xpoCurrentAccount.Disabled) ? false : true }; TouchButtonIconWithText buttonCustomerCard = new TouchButtonIconWithText("touchButtonCustomerCard_Green", _colorBaseDialogDefaultButtonBackground, Resx.ResourceManager.GetString(xpoCustomerCard.ResourceString), _fontBaseDialogButton, _colorBaseDialogDefaultButtonFont, FrameworkUtils.OSSlash(string.Format("{0}{1}", GlobalFramework.Path["images"], xpoCustomerCard.ButtonIcon)), _sizeBaseDialogDefaultButtonIcon, _sizeBaseDialogDefaultButton.Width, _sizeBaseDialogDefaultButton.Height) { CurrentButtonOid = xpoCustomerCard.Oid, Sensitive = (xpoCustomerCard.Disabled) ? false : true }; //Secondary Buttons //Events buttonMoney.Clicked += buttonMoney_Clicked; buttonCheck.Clicked += buttonCheck_Clicked; buttonMB.Clicked += buttonMB_Clicked; buttonCreditCard.Clicked += buttonCredit_Clicked; buttonVisa.Clicked += buttonVisa_Clicked; buttonCurrentAccount.Clicked += buttonCurrentAccount_Clicked; buttonCustomerCard.Clicked += buttonCustomerCard_Clicked; //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Table uint tablePaymentsPadding = 0; Table tablePayments = new Table(2, 3, true) { BorderWidth = 2 }; //Row 1 tablePayments.Attach(buttonMoney, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Fill, tablePaymentsPadding, tablePaymentsPadding); tablePayments.Attach(buttonMB, 1, 2, 0, 1, AttachOptions.Fill, AttachOptions.Fill, tablePaymentsPadding, tablePaymentsPadding); tablePayments.Attach(buttonVisa, 2, 3, 0, 1, AttachOptions.Fill, AttachOptions.Fill, tablePaymentsPadding, tablePaymentsPadding); //Row 2 tablePayments.Attach(buttonCheck, 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Fill, tablePaymentsPadding, tablePaymentsPadding); tablePayments.Attach(buttonCreditCard, 1, 2, 1, 2, AttachOptions.Fill, AttachOptions.Fill, tablePaymentsPadding, tablePaymentsPadding); if (enableCurrentAccountButton) { tablePayments.Attach( (SettingsApp.PosPaymentsDialogUseCurrentAccount) ? buttonCurrentAccount : buttonCustomerCard , 2, 3, 1, 2, AttachOptions.Fill, AttachOptions.Fill, tablePaymentsPadding, tablePaymentsPadding ); } //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Labels Label labelTotal = new Label(Resx.global_total_price_to_pay + ":"); Label labelDelivery = new Label(Resx.global_total_deliver + ":"); Label labelChange = new Label(Resx.global_total_change + ":"); _labelTotalValue = new Label(FrameworkUtils.DecimalToStringCurrency(_articleBagFullPayment.TotalFinal)) { //Total Width WidthRequest = 120 }; _labelDeliveryValue = new Label(FrameworkUtils.DecimalToStringCurrency(0)); _labelChangeValue = new Label(FrameworkUtils.DecimalToStringCurrency(0)); //Colors labelTotal.ModifyFg(StateType.Normal, Utils.ColorToGdkColor(Color.FromArgb(101, 137, 171))); labelDelivery.ModifyFg(StateType.Normal, Utils.ColorToGdkColor(Color.FromArgb(101, 137, 171))); labelChange.ModifyFg(StateType.Normal, Utils.ColorToGdkColor(Color.FromArgb(101, 137, 171))); _labelTotalValue.ModifyFg(StateType.Normal, Utils.ColorToGdkColor(Color.White)); _labelDeliveryValue.ModifyFg(StateType.Normal, Utils.ColorToGdkColor(Color.White)); _labelChangeValue.ModifyFg(StateType.Normal, Utils.ColorToGdkColor(Color.White)); //Alignments labelTotal.SetAlignment(0, 0.5F); labelDelivery.SetAlignment(0, 0.5F); labelChange.SetAlignment(0, 0.5F); _labelTotalValue.SetAlignment(1, 0.5F); _labelDeliveryValue.SetAlignment(1, 0.5F); _labelChangeValue.SetAlignment(1, 0.5F); //labels Font Pango.FontDescription fontDescription = Pango.FontDescription.FromString("Bold 10"); labelTotal.ModifyFont(fontDescription); labelDelivery.ModifyFont(fontDescription); labelChange.ModifyFont(fontDescription); Pango.FontDescription fontDescriptionValue = Pango.FontDescription.FromString("Bold 12"); _labelTotalValue.ModifyFont(fontDescriptionValue); _labelDeliveryValue.ModifyFont(fontDescriptionValue); _labelChangeValue.ModifyFont(fontDescriptionValue); //Table TotalPannel uint totalPannelPadding = 9; Table tableTotalPannel = new Table(3, 2, false); tableTotalPannel.HeightRequest = 132; //Row 1 tableTotalPannel.Attach(labelTotal, 0, 1, 0, 1, AttachOptions.Fill, AttachOptions.Fill, totalPannelPadding, totalPannelPadding); tableTotalPannel.Attach(_labelTotalValue, 1, 2, 0, 1, AttachOptions.Fill, AttachOptions.Fill, totalPannelPadding, totalPannelPadding); //Row 2 tableTotalPannel.Attach(labelDelivery, 0, 1, 1, 2, AttachOptions.Fill, AttachOptions.Fill, totalPannelPadding, totalPannelPadding); tableTotalPannel.Attach(_labelDeliveryValue, 1, 2, 1, 2, AttachOptions.Fill, AttachOptions.Fill, totalPannelPadding, totalPannelPadding); //Row 3 tableTotalPannel.Attach(labelChange, 0, 1, 2, 3, AttachOptions.Fill, AttachOptions.Fill, totalPannelPadding, totalPannelPadding); tableTotalPannel.Attach(_labelChangeValue, 1, 2, 2, 3, AttachOptions.Fill, AttachOptions.Fill, totalPannelPadding, totalPannelPadding); //TotalPannel EventBox eventboxTotalPannel = new EventBox(); eventboxTotalPannel.BorderWidth = 3; eventboxTotalPannel.ModifyBg(StateType.Normal, Utils.ColorToGdkColor(colorPosPaymentsDialogTotalPannelBackground)); eventboxTotalPannel.Add(tableTotalPannel); //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Customer Name CriteriaOperator criteriaOperatorCustomerName = null; _entryBoxSelectCustomerName = new XPOEntryBoxSelectRecordValidation <ERP_Customer, TreeViewCustomer>(_sourceWindow, Resx.global_customer, "Name", "Name", null, criteriaOperatorCustomerName, KeyboardMode.Alfa, SettingsApp.RegexAlfaNumeric, false); _entryBoxSelectCustomerName.ClosePopup += delegate { GetCustomerDetails("Oid", _entryBoxSelectCustomerName.Value.Oid.ToString()); Validate(); }; _entryBoxSelectCustomerName.EntryValidation.Changed += _entryBoxSelectCustomerName_Changed; //Customer Discount _entryBoxCustomerDiscount = new EntryBoxValidation(_sourceWindow, Resx.global_discount, KeyboardMode.Alfa, SettingsApp.RegexPercentage, true); _entryBoxCustomerDiscount.EntryValidation.Text = FrameworkUtils.DecimalToString(0.0m); _entryBoxCustomerDiscount.EntryValidation.Sensitive = false; _entryBoxCustomerDiscount.EntryValidation.Changed += _entryBoxCustomerDiscount_Changed; _entryBoxCustomerDiscount.EntryValidation.FocusOutEvent += delegate { _entryBoxCustomerDiscount.EntryValidation.Text = FrameworkUtils.StringToDecimalAndToStringAgain(_entryBoxCustomerDiscount.EntryValidation.Text); }; //Address _entryBoxCustomerAddress = new EntryBoxValidation(this, Resx.global_address, KeyboardMode.Alfa, SettingsApp.RegexAlfaNumericExtended, false); _entryBoxCustomerAddress.EntryValidation.Changed += delegate { Validate(); }; //Locality _entryBoxCustomerLocality = new EntryBoxValidation(this, Resx.global_locality, KeyboardMode.Alfa, SettingsApp.RegexAlfa, false); _entryBoxCustomerLocality.EntryValidation.Changed += delegate { Validate(); }; //ZipCode _entryBoxCustomerZipCode = new EntryBoxValidation(this, Resx.global_zipcode, KeyboardMode.Alfa, SettingsApp.ConfigurationSystemCountry.RegExZipCode, false); _entryBoxCustomerZipCode.WidthRequest = 150; _entryBoxCustomerZipCode.EntryValidation.Changed += delegate { Validate(); }; //City _entryBoxCustomerCity = new EntryBoxValidation(this, Resx.global_city, KeyboardMode.Alfa, SettingsApp.RegexAlfa, false); _entryBoxCustomerCity.WidthRequest = 200; _entryBoxCustomerCity.EntryValidation.Changed += delegate { Validate(); }; //Country CriteriaOperator criteriaOperatorCustomerCountry = CriteriaOperator.Parse("(Disabled IS NULL OR Disabled <> 1) AND (RegExFiscalNumber IS NOT NULL AND RegExZipCode IS NOT NULL)"); _entryBoxSelectCustomerCountry = new XPOEntryBoxSelectRecordValidation <CFG_ConfigurationCountry, TreeViewConfigurationCountry>(pSourceWindow, Resx.global_country, "Designation", "Oid", _intialValueConfigurationCountry, criteriaOperatorCustomerCountry, SettingsApp.RegexGuid, true); _entryBoxSelectCustomerCountry.WidthRequest = 235; //Extra Protection to prevent Customer without Country if (_entryBoxSelectCustomerCountry.Value != null) { _entryBoxSelectCustomerCountry.EntryValidation.Validate(_entryBoxSelectCustomerCountry.Value.Oid.ToString()); } _entryBoxSelectCustomerCountry.EntryValidation.IsEditable = false; _entryBoxSelectCustomerCountry.ButtonSelectValue.Sensitive = false; _entryBoxSelectCustomerCountry.ClosePopup += delegate { _selectedCountry = _entryBoxSelectCustomerCountry.Value; //Require to Update RegEx and Criteria to filter Country Clients Only _entryBoxSelectCustomerFiscalNumber.EntryValidation.Rule = _entryBoxSelectCustomerCountry.Value.RegExFiscalNumber; _entryBoxCustomerZipCode.EntryValidation.Rule = _entryBoxSelectCustomerCountry.Value.RegExZipCode; //Clear Customer Fields, Except Country ClearCustomer(false); //Apply Criteria Operators ApplyCriteriaToCustomerInputs(); //Call Main Validate Validate(); }; //FiscalNumber CriteriaOperator criteriaOperatorFiscalNumber = null; _entryBoxSelectCustomerFiscalNumber = new XPOEntryBoxSelectRecordValidation <ERP_Customer, TreeViewCustomer>(_sourceWindow, Resx.global_fiscal_number, "FiscalNumber", "FiscalNumber", null, criteriaOperatorFiscalNumber, KeyboardMode.AlfaNumeric, _intialValueConfigurationCountry.RegExFiscalNumber, false); _entryBoxSelectCustomerFiscalNumber.EntryValidation.Changed += _entryBoxSelectCustomerFiscalNumber_Changed; //CardNumber CriteriaOperator criteriaOperatorCardNumber = null;//Now Criteria is assigned in ApplyCriteriaToCustomerInputs(); _entryBoxSelectCustomerCardNumber = new XPOEntryBoxSelectRecordValidation <ERP_Customer, TreeViewCustomer>(_sourceWindow, Resx.global_card_number, "CardNumber", "CardNumber", null, criteriaOperatorCardNumber, KeyboardMode.AlfaNumeric, SettingsApp.RegexAlfaNumericExtended, false); _entryBoxSelectCustomerCardNumber.ClosePopup += delegate { if (_entryBoxSelectCustomerCardNumber.EntryValidation.Validated) { GetCustomerDetails("CardNumber", _entryBoxSelectCustomerCardNumber.EntryValidation.Text); } Validate(); }; //Notes _entryBoxCustomerNotes = new EntryBoxValidation(this, Resx.global_notes, KeyboardMode.Alfa, SettingsApp.RegexAlfaNumericExtended, false); _entryBoxCustomerNotes.EntryValidation.Changed += delegate { Validate(); }; //Fill Dialog Inputs with Defaults FinalConsumerEntity Values if (_processFinanceDocumentParameter == null) { //If ProcessFinanceDocumentParameter is not null fill Dialog with value from ProcessFinanceDocumentParameter, implemented for SplitPayments GetCustomerDetails("Oid", SettingsApp.XpoOidDocumentFinanceMasterFinalConsumerEntity.ToString()); } //Fill Dialog Inputs with Stored Values, ex when we Work with SplitPayments else { //Apply Default Customer Entity GetCustomerDetails("Oid", _processFinanceDocumentParameter.Customer.ToString()); //Assign Totasl and Discounts Values _totalDelivery = _processFinanceDocumentParameter.TotalDelivery; _totalChange = _processFinanceDocumentParameter.TotalChange; _discountGlobal = _processFinanceDocumentParameter.ArticleBag.DiscountGlobal; // Update Visual Components _labelDeliveryValue.Text = FrameworkUtils.DecimalToStringCurrency(_totalDelivery); _labelChangeValue.Text = FrameworkUtils.DecimalToStringCurrency(_totalChange); // Selects _selectedCustomer = (ERP_Customer)FrameworkUtils.GetXPGuidObject(typeof(ERP_Customer), _processFinanceDocumentParameter.Customer); _selectedCountry = _selectedCustomer.Country; // PaymentMethod _selectedPaymentMethod = (FIN_ConfigurationPaymentMethod)FrameworkUtils.GetXPGuidObject(typeof(FIN_ConfigurationPaymentMethod), _processFinanceDocumentParameter.PaymentMethod); // Restore Selected Payment Method, require to associate button reference to selectedPaymentMethodButton if (!string.IsNullOrEmpty(pSelectedPaymentMethodButtonName)) { switch (pSelectedPaymentMethodButtonName) { case "touchButtonMoney_Green": _selectedPaymentMethodButton = buttonMoney; break; case "touchButtonCheck_Green": _selectedPaymentMethodButton = buttonCheck; break; case "touchButtonMB_Green": _selectedPaymentMethodButton = buttonMB; break; case "touchButtonCreditCard_Green": _selectedPaymentMethodButton = buttonCreditCard; break; case "touchButtonVisa_Green": _selectedPaymentMethodButton = buttonVisa; break; case "touchButtonCurrentAccount_Green": _selectedPaymentMethodButton = buttonCurrentAccount; break; case "touchButtonCustomerCard_Green": _selectedPaymentMethodButton = buttonCustomerCard; break; } //Assign Payment Method after have Reference AssignPaymentMethod(_selectedPaymentMethodButton); } //UpdateChangeValue, if we add/remove Splits we must recalculate ChangeValue UpdateChangeValue(); } //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Pack Content HBox hboxPaymenstAndTotals = new HBox(false, 0); hboxPaymenstAndTotals.PackStart(tablePayments, true, true, 0); hboxPaymenstAndTotals.PackStart(eventboxTotalPannel, true, true, 0); HBox hboxCustomerNameAndCustomerDiscount = new HBox(true, 0); hboxCustomerNameAndCustomerDiscount.PackStart(_entryBoxSelectCustomerName, true, true, 0); hboxCustomerNameAndCustomerDiscount.PackStart(_entryBoxCustomerDiscount, true, true, 0); HBox hboxFiscalNumberAndCardNumber = new HBox(true, 0); hboxFiscalNumberAndCardNumber.PackStart(_entryBoxSelectCustomerFiscalNumber, true, true, 0); hboxFiscalNumberAndCardNumber.PackStart(_entryBoxSelectCustomerCardNumber, true, true, 0); HBox hboxZipCodeCityAndCountry = new HBox(false, 0); hboxZipCodeCityAndCountry.PackStart(_entryBoxCustomerZipCode, false, false, 0); hboxZipCodeCityAndCountry.PackStart(_entryBoxCustomerCity, false, false, 0); hboxZipCodeCityAndCountry.PackStart(_entryBoxSelectCustomerCountry, true, true, 0); VBox vboxContent = new VBox(false, 0); vboxContent.PackStart(hboxPaymenstAndTotals, true, true, 0); vboxContent.PackStart(hboxFiscalNumberAndCardNumber, true, true, 0); vboxContent.PackStart(hboxCustomerNameAndCustomerDiscount, true, true, 0); vboxContent.PackStart(_entryBoxCustomerAddress, true, true, 0); vboxContent.PackStart(_entryBoxCustomerLocality, true, true, 0); vboxContent.PackStart(hboxZipCodeCityAndCountry, true, true, 0); vboxContent.PackStart(_entryBoxCustomerNotes, true, true, 0); //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //ActionArea Buttons _buttonOk = ActionAreaButton.FactoryGetDialogButtonType(PosBaseDialogButtonType.Ok); _buttonCancel = ActionAreaButton.FactoryGetDialogButtonType(PosBaseDialogButtonType.Cancel); _buttonClearCustomer = ActionAreaButton.FactoryGetDialogButtonType("touchButtonClearCustomer_DialogActionArea", Resx.global_button_label_payment_dialog_clear_client, fileIconClearCustomer); _buttonFullPayment = ActionAreaButton.FactoryGetDialogButtonType("touchButtonFullPayment_DialogActionArea", Resx.global_button_label_payment_dialog_full_payment, fileIconFullPayment); _buttonPartialPayment = ActionAreaButton.FactoryGetDialogButtonType("touchButtonPartialPayment_DialogActionArea", Resx.global_button_label_payment_dialog_partial_payment, fileIconPartialPayment); // Enable if has selectedPaymentMethod defined, ex when working with SplitPayments _buttonOk.Sensitive = (_selectedPaymentMethod != null); _buttonFullPayment.Sensitive = false; //ActionArea ActionAreaButtons actionAreaButtons = new ActionAreaButtons(); actionAreaButtons.Add(new ActionAreaButton(_buttonClearCustomer, _responseTypeClearCustomer)); if (enablePartialPaymentButtons) { actionAreaButtons.Add(new ActionAreaButton(_buttonFullPayment, _responseTypeFullPayment)); actionAreaButtons.Add(new ActionAreaButton(_buttonPartialPayment, _responseTypePartialPayment)); } actionAreaButtons.Add(new ActionAreaButton(_buttonOk, ResponseType.Ok)); actionAreaButtons.Add(new ActionAreaButton(_buttonCancel, ResponseType.Cancel)); //::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //Init Object this.InitObject(this, pDialogFlags, fileDefaultWindowIcon, windowTitle, windowSize, vboxContent, actionAreaButtons); } catch (Exception ex) { _log.Error(ex.Message, ex); } }
public TablePadTable(String pSql, String pOrder, String pFilter, Guid pActiveButtonOid, bool pToggleMode, uint pRows, uint pColumns, String pButtonNamePrefix, Color pColorButton, int pButtonWidth, int pButtonHeight, TouchButtonBase buttonPrev, TouchButtonBase buttonNext) : base(pSql, pOrder, pFilter, pActiveButtonOid, pToggleMode, pRows, pColumns, pButtonNamePrefix, pColorButton, pButtonWidth, pButtonHeight, buttonPrev, buttonNext) { //_log.Debug(string.Format("{0} {2} {1}", pSql, pOrder, pFilter)); }