private void buttonUpdateReleaseDate_Click(object sender, EventArgs e) { if (_numberOfSelections > 0) { GetSelectedTransactions(); //Check to see if the transactions that are being sent have a different release //date than what was there DateTime relDate = DateTime.MaxValue; foreach (DataRow dr in _transactionTable.Rows) { int selectedTicketNumber = Utilities.GetIntegerValue(dr["ticket_number"]); int origTicketNumber = Utilities.GetIntegerValue(dr["org_ticket"]); if (_merchandiseTable != null) { DataRow[] merchandiseRows = _merchandiseTable.Select(holdsmdsecursor.ICNDOC + "='" + origTicketNumber + "'"); relDate = Utilities.GetDateTimeValue(merchandiseRows[0]["release_date"]); } int iDx = _selectedTransactions.FindIndex( pl => pl.TicketNumber == selectedTicketNumber); if (iDx >= 0) { DateTime releaseDate = _selectedTransactions[iDx].ReleaseDate; //If the release date in the selected list is the same as what //was pulled out of the database on load then no need to call the //SP on this loan to update release date if (releaseDate == relDate) { _selectedTransactions.RemoveAt(iDx); } } } bool returnValue = false; DialogResult dgr = DialogResult.Retry; if (_selectedTransactions.Count > 0) { do { returnValue = HoldsProcedures.UpdateReleaseDateOnHolds(_selectedTransactions); if (returnValue) { labelReleaseDateUpdate.Visible = true; this.customButtonCancel.Text = "Close"; //Get latest data bool retVal = HoldsProcedures.ExecuteGetReleases(_storeNumber, _customerNumber, _statusCode, HoldData.CUSTOMER_HOLD, out _transactionTable, out _merchandiseTable, out _errorCode, out _errorMsg); break; } dgr = MessageBox.Show(Commons.GetMessageString("ProcessingError"), "Error", MessageBoxButtons.RetryCancel); } while (dgr == DialogResult.Retry); } else { MessageBox.Show("No changes done for update"); return; } } else { MessageBox.Show("No transactions selected for update."); return; } }
private void CustomerHoldsList_Load(object sender, EventArgs e) { _ownerfrm = Owner; NavControlBox.Owner = this; _userId = GlobalDataAccessor.Instance.DesktopSession.UserName; var activeCustomer = GlobalDataAccessor.Instance.DesktopSession.ActiveCustomer; if (activeCustomer != null) { _storeNumber = GlobalDataAccessor.Instance.CurrentSiteId.StoreNumber; _customerNumber = activeCustomer.CustomerNumber; } else { MessageBox.Show(Commons.GetMessageString("MissingCustData")); NavControlBox.Action = NavBox.NavAction.CANCEL; } //Create the transaction Table _transactionTable = new DataTable(); _merchandiseTable = new DataTable(); bool retVal = HoldsProcedures.ExecuteGetReleases(_storeNumber, _customerNumber, _statusCode, HoldData.CUSTOMER_HOLD, out _transactionTable, out _merchandiseTable, out _errorCode, out _errorMsg); if (retVal && _transactionTable != null) { try { DataColumn[] key = new DataColumn[1]; key[0] = _transactionTable.Columns[holdstransactioncursor.TICKETNUMBER]; _transactionTable.PrimaryKey = key; _bindingSource1 = new BindingSource { DataSource = _transactionTable }; customDataGridViewTransactions.AutoGenerateColumns = false; if (customDataGridViewTransactions != null) { customDataGridViewTransactions.DataSource = _bindingSource1; customDataGridViewTransactions.Columns[2].DataPropertyName = holdstransactioncursor.TRANSACTIONDATE; customDataGridViewTransactions.Columns[3].DataPropertyName = holdstransactioncursor.TRANSACTIONTYPE; //"transactiontype"; customDataGridViewTransactions.Columns[4].DataPropertyName = holdstransactioncursor.TICKETNUMBER; //"ticket_number"; customDataGridViewTransactions.Columns[5].DataPropertyName = holdstransactioncursor.STATUS; //"pstatus"; customDataGridViewTransactions.Columns[6].DataPropertyName = holdstransactioncursor.PFISTATE; //"temp_status"; customDataGridViewTransactions.Columns[7].DataPropertyName = holdstransactioncursor.RELEASEDATE; //"release_date"; if (new BusinessRulesProcedures(GlobalDataAccessor.Instance.DesktopSession).IsPartialPaymentAllowed(GlobalDataAccessor.Instance.DesktopSession.CurrentSiteId)) { customDataGridViewTransactions.Columns[8].DataPropertyName = holdstransactioncursor.CURRENTPRINCIPALAMOUNT;//"cur_amount in payment_detail table"; customDataGridViewTransactions.Columns[8].HeaderText = "Current Principal Amount"; } else { customDataGridViewTransactions.Columns[8].DataPropertyName = holdstransactioncursor.LOANAMOUNT;//"org_amount"; } customDataGridViewTransactions.Columns[9].DataPropertyName = holdstransactioncursor.CREATIONDATE; //"creationdate"; customDataGridViewTransactions.Columns[10].DataPropertyName = holdstransactioncursor.CREATEDBY; //"createdby"; customDataGridViewTransactions.Columns[11].DataPropertyName = holdstransactioncursor.HOLDCOMMENT; //"hold_comment"; customDataGridViewTransactions.Columns[12].DataPropertyName = holdstransactioncursor.ORIGINALTICKETNUMBER; //"org_ticket"; customDataGridViewTransactions.Columns[1].ReadOnly = false; //Set sort mode customDataGridViewTransactions.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable; customDataGridViewTransactions.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable; customDataGridViewTransactions.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; } customDataGridViewMDSE.AutoGenerateColumns = false; FindNumberOfPages(_transactionTable); } catch (Exception ex) { BasicExceptionHandler.Instance.AddException(ex.Message, new ApplicationException("Error when trying to retrieve transactions to release customer hold")); NavControlBox.Action = NavBox.NavAction.CANCEL; } } else { MessageBox.Show(Commons.GetMessageString("CustHoldsNoTransactions")); NavControlBox.Action = NavBox.NavAction.CANCEL; } }