Beispiel #1
0
        private void PostInvoice()
        {
            try
            {
                decimal decTotalAmount = Convert.ToDecimal(lblTotalAmount.Text);

                if (decTotalAmount == 0)
                {
                    decimal decTotalDebitAmount = Convert.ToDecimal(lblTotalDebitAmount.Text);

                    foreach (DataListItem item in lstPO.Items)
                    {
                        HtmlInputCheckBox chkList = (HtmlInputCheckBox)item.FindControl("chkList");
                        if (chkList != null)
                        {
                            if (chkList.Checked == true)
                            {
                                Label lblUnpaidAmount = (Label)item.FindControl("lblUnpaidAmount");
                                decimal decUnpaidAmount = Convert.ToDecimal(lblUnpaidAmount.Text);

                                if (decTotalDebitAmount == 0)
                                { break; }
                                else if (decTotalDebitAmount >= decUnpaidAmount)
                                { decTotalDebitAmount -= decUnpaidAmount; }
                                else if (decTotalDebitAmount != 0)
                                { decTotalDebitAmount = 0; break; }
                            }
                        }
                    }
                    if (decTotalDebitAmount > 0)
                    {
                        lblReferrer.Text = "Warning!!! Cannot save the transaction, the Total Amount is greater than the payable amount.";
                        string stScript = "<Script>";
                        stScript += "window.alert('Warning!!! Cannot save the transaction, the Total Amount is greater than the payable amount.\n Check more Purchase Order(s) to be paid or decrease the Total debit/credit Amount.')";
                        stScript += "</Script>";
                        Response.Write(stScript);
                    }
                    else
                    {
                        decTotalDebitAmount = Convert.ToDecimal(lblTotalDebitAmount.Text);
                        DateTime PostingDate = Convert.ToDateTime(txtPostingDate.Text + " " + DateTime.Now.ToString("HH:mm"));
                        long lPaymentID = Convert.ToInt64(lblPaymentID.Text);
                        Payments clsPayments = new Payments();
                        clsPayments.GetConnection();

                        PaymentPODetailDetails clsPaymentPODetailDetails;

                        PaymentPODetails clsPaymentPODetails = new PaymentPODetails(clsPayments.Connection, clsPayments.Transaction);
                        PO clsPO = new PO(clsPayments.Connection, clsPayments.Transaction);

                        foreach (DataListItem item in lstPO.Items)
                        {
                            HtmlInputCheckBox chkList = (HtmlInputCheckBox)item.FindControl("chkList");
                            if (chkList != null)
                            {
                                 if (chkList.Checked == true)
                                {
                                    long lPOID = Convert.ToInt64(chkList.Value);
                                    clsPaymentPODetailDetails = new PaymentPODetailDetails();
                                    clsPaymentPODetailDetails.PaymentID = lPaymentID;
                                    clsPaymentPODetailDetails.POID = lPOID;

                                    Label lblUnpaidAmount = (Label)item.FindControl("lblUnpaidAmount");
                                    decimal decUnpaidAmount = Convert.ToDecimal(lblUnpaidAmount.Text);

                                    if (decTotalDebitAmount == 0)
                                    { break; }
                                    else if (decTotalDebitAmount >= decUnpaidAmount)
                                    {
                                        clsPO.UpdatePayment(lPOID, decUnpaidAmount, POPaymentStatus.FullyPaid);

                                        clsPaymentPODetailDetails.Amount = decUnpaidAmount;
                                        clsPaymentPODetailDetails.PaymentStatus = POPaymentStatus.FullyPaid;
                                        clsPaymentPODetails.Insert(clsPaymentPODetailDetails);

                                        decTotalDebitAmount -= decUnpaidAmount;
                                    }
                                    else if (decTotalDebitAmount != 0)
                                    {
                                        clsPO.UpdatePayment(lPOID, decTotalDebitAmount, POPaymentStatus.Partially);

                                        clsPaymentPODetailDetails.Amount = decTotalDebitAmount;
                                        clsPaymentPODetailDetails.PaymentStatus = POPaymentStatus.Partially;
                                        clsPaymentPODetails.Insert(clsPaymentPODetailDetails);

                                        decTotalDebitAmount = 0;
                                    }

                                }
                            }
                        }

                        clsPayments.Post(lPaymentID, PostingDate);
                        clsPayments.CommitAndDispose();

                        Response.Redirect("Default.aspx?task=" + Common.Encrypt("list", Session.SessionID));
                    }
                }
                else
                {
                    //lblReferrer.Text = "Cannot post invoice, the debit/credit amount should be equal. Please check the posted accounts.";
                    string stScript = "<Script>";
                    stScript += "window.alert('Cannot post invoice, the debit/credit amount should be equal. Please check the posted accounts.')";
                    stScript += "</Script>";
                    Response.Write(stScript);
                }
            }
            catch (Exception ex) {
                lblReferrer.Text= "'Cannot post invoice. unexpected error occurred: " + ex.ToString();
                string stScript = "<Script>";
                stScript += "window.alert('Cannot post invoice. unexpected error occurred: " + ex.ToString() + "')" ;
                stScript += "</Script>";
                Response.Write(stScript);
            }
        }
Beispiel #2
0
		private void SaveRecord(string Sender)
		{
			ComputePayment(Sender);

			PaymentsDetails clsDetails = new PaymentsDetails();
			
			clsDetails.PaymentID = Convert.ToInt64(lblPaymentID.Text);
            clsDetails.BankID = Convert.ToInt32(cboBank.SelectedItem.Value);
            clsDetails.BankCode = cboBank.SelectedItem.Text;
			clsDetails.ChequeDate = Convert.ToDateTime(txtChequeDate.Text);
			clsDetails.ChequeNo = txtChequeNo.Text;
			clsDetails.PayeeID = Convert.ToInt64(cboPayee.SelectedItem.Value);
			clsDetails.PayeeCode = cboPayee.SelectedItem.Text;
			clsDetails.PayeeName = txtPayeeName.Text;
			clsDetails.Particulars = txtRemarks.Text;
			clsDetails.TotalDebitAmount = Convert.ToDecimal(lblTotalDebitAmount.Text);
			clsDetails.TotalCreditAmount = Convert.ToDecimal(lblTotalCreditAmount.Text);

			Payments clsPayments = new Payments();
			clsPayments.GetConnection();

			lblPaymentID.Text = clsPayments.Insert(clsDetails).ToString();

            Banks clsBank = new Banks(clsPayments.Connection, clsPayments.Transaction);
            clsBank.UpdateChequeCounter(clsDetails.BankID, clsDetails.ChequeNo);

			clsPayments.CommitAndDispose();
		}