Example #1
0
        private bool InsertIncome(out int incomeId)
        {
            string   incomeNumber = txtIncomeNumber.Text;
            DateTime incomeDate   = dateTimePickerIncome.Value;
            string   payerName    = txtPayerName.Text;
            string   reason       = txtReason.Text;
            decimal  amount       = ucTextBoxCurrency1.Value;

            if (lbIncomeHeader.Text.ToLower() == Constant.Income.COST_HEADER_TEXT)
            {
                amount = -amount;
            }
            string     createdBy         = LoginInfor.UserName;
            DateTime   createdDate       = DateTime.Now;
            int        purchaseOrderId   = int.Parse(lbOrderId.Text);
            int        costId            = int.Parse(lbCostId.Text);
            int        toBankAccountId   = 0;
            int        fromBankAccountId = int.Parse(cboxFromBankAccount.SelectedValue.ToString());
            List <int> incomeIds         = new List <int>();
            int?       custId            = customerSelectUserControl1.CustId;

            if (custId == 0)
            {
                custId = null;
            }

            object income = new object();



            //Chuyển tiền vào tài khoản mà không phải thu công nợ
            if (!cboxReceivableFromCustomer.Checked && cboxPaymentMethod.SelectedItem.ToString() == Constant.PaymentMethod.BANK_TRANSFER)
            {
                toBankAccountId = int.Parse(cboxToBankAccount.SelectedValue.ToString());
            }

            //Chuyển tiền vào tài khoản tiền mặt từ tài khoản ngân hàng

            if (cboxFromBankAccount.SelectedValue.ToString() != "0" && cboxFromBankAccount.Visible)
            {
                fromBankAccountId = int.Parse(cboxFromBankAccount.SelectedValue.ToString());
            }

            income = incomeTableAdapter.InsertIncomeReturnId(incomeDate, incomeNumber, payerName, reason, amount, createdBy, createdDate, createdBy, createdDate, null, costId, purchaseOrderId, fromBankAccountId, toBankAccountId, custId);

            int.TryParse(income.ToString(), out incomeId);
            incomeIds.Add(incomeId);

            if (incomeIds.Count > 0)
            {
                return(true);
            }

            return(false);
        }
        private bool InsertIncome(int purchaseOrderId)
        {
            JSManagementDataSet.PurchaseReceiptOrderDataTable    purchaseData   = purchaseReceipOrderAdapter.GetById(purchaseOrderId);
            JSManagementDataSet.ReceivableFromCustomersDataTable receivableData = receivableCustomerAdapter.GetReceivableFromCustomersByPurchaseOrderId(purchaseOrderId);

            if (purchaseData.Rows.Count == 0 || receivableData.Rows.Count == 0)
            {
                return(false);
            }

            string   incomeNumber = purchaseData[0].BillNumber;
            DateTime incomeDate   = DateTime.Now;
            string   payerName    = purchaseData[0].BillNumber;
            string   reason       = string.Empty;
            decimal  amount       = receivableData[0].Amount - receivableData[0].IncomeAmount;

            if (amount > 0)
            {
                reason = string.Format("Thu nợ tiền hàng ngày {0} / Mã số bưu gửi: {1} / Đơn hàng: {2}", DateTime.Parse(purchaseData[0].OrderDate.ToString()).ToShortDateString(), purchaseData[0].BillNumber, purchaseData[0].PurchaseReceiptOrderId.ToString());
            }
            else
            {
                reason = string.Format("Chi tiền chênh lệch ngày {0} / Mã số bưu gửi: {1} / Đơn hàng: {2}", DateTime.Parse(purchaseData[0].OrderDate.ToString()).ToShortDateString(), purchaseData[0].BillNumber, purchaseData[0].PurchaseReceiptOrderId.ToString());
            }
            string   createdBy   = LoginInfor.UserName;
            DateTime createdDate = DateTime.Now;

            int    toBankAccountId = purchaseData[0].BankAccountId;
            string bankAccountName;

            if (toBankAccountId == 0)
            {
                bankAccountName = "Tiền mặt";
            }
            else
            {
                bankAccountName = bankAccountTableAdapter.GetDataById(toBankAccountId)[0].BankAccountName;
            }
            int custId = purchaseData[0].CustId;

            object income = new object();

            //StringBuilder sb = new StringBuilder();
            //sb.AppendLine("Bạn có chắc chắn tạo phiếu thu? ");
            //sb.AppendLine("Mã số bưu gửi: " + incomeNumber == string.Empty? purchaseData[0].CustId.ToString() : incomeNumber);
            //sb.AppendLine("Số tiền: " + amount);
            //sb.AppendLine("Bằng chữ: " + VNCurrency.ToString(amount));
            //sb.AppendLine("Tới tài khoản: " + bankAccountName);

            //DialogResult reviewConfirmMessage = MessageBox.Show(sb.ToString(), "Bạn có chắc chắn?", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

            //if (reviewConfirmMessage == System.Windows.Forms.DialogResult.Cancel)
            //{
            //    return false;
            //}

            income = incomeTableAdapter.InsertIncomeReturnId(
                incomeDate,
                incomeNumber,
                payerName,
                reason,
                amount,
                createdBy,
                createdDate,
                createdBy,
                createdDate,
                null,
                null,
                purchaseOrderId,
                null,
                toBankAccountId, custId);

            return(true);
        }