protected void SuccessfulTransferGridView_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName.ToUpper().Equals("ADD")) { // add new row from footer to db TransferDataHolder NewTransferDataHolder = new TransferDataHolder(); GridViewRow row = SuccessfulTransferGridView.FooterRow; NewTransferDataHolder.Amount = Utilities.ConvertMoneyStringToDecimal(((TextBox)row.FindControl("NewAmountTextBox")).Text); NewTransferDataHolder.K = Convert.ToInt32(((TextBox)row.FindControl("NewTransferKTextBox")).Text); NewTransferDataHolder.ReferenceNumber = ((TextBox)row.FindControl("NewReferenceNumberTextBox")).Text; TransferDataHolderList.Add(NewTransferDataHolder); ViewState["TransferDataHolderList"] = TransferDataHolderList; TransfersBindData(); } }
protected void SaveButton_Click(object sender, EventArgs e) { Page.Validate(""); if (Page.IsValid) { this.ErrorLabel.Visible = false; this.ErrorLabel.Text = ""; for (int i=0; i< this.TransferDataHolderList.Count; i++) { try { if (!this.CompletedTransferKList.Contains(TransferDataHolderList[i].K)) { Transfer transfer = new Transfer(TransferDataHolderList[i].K); if (transfer.Amount != TransferDataHolderList[i].Amount) { this.ErrorLabel.Text += "ERROR: Transfer #" + transfer.K.ToString() + " has amount " + transfer.Amount.ToString("c") + "\n. You've entered " + TransferDataHolderList[i].Amount.ToString("c") + ". Please resolve.\n"; this.ErrorLabel.Visible = true; } else if (!transfer.Status.Equals(Transfer.StatusEnum.Pending)) { this.ErrorLabel.Text += "ERROR: Transfer #" + transfer.K.ToString() + " has status " + transfer.Status.ToString() + "\n. Only Pending transfers allowed to be made successful.\n"; this.ErrorLabel.Visible = true; } else { transfer.Status = Transfer.StatusEnum.Success; transfer.DateTimeComplete = DateTime.Now; transfer = TransferDataHolderList[i].SetReferenceNumber(transfer); transfer.Update(); transfer.UpdateAffectedInvoices(); Utilities.EmailTransfer(transfer, false, true); TransferDataHolderList[i] = new TransferDataHolder(transfer); this.CompletedTransferKList.Add(transfer.K); } } else { this.ErrorLabel.Text += "ERROR: Transfer #" + TransferDataHolderList[i].K.ToString() + " has already been successfully updated.\n"; this.ErrorLabel.Visible = true; } } catch (Exception ex) { // Display error message this.ErrorLabel.Text += ex.Message + "\n"; this.ErrorLabel.Visible = true; } } this.Completed = true; ShowResults(); } }