private void btnAddPayment_Click(object sender, EventArgs e) { if (isInputFieldsValid()) { decimal paymentAmount = in_PaymentAmount.ValueDecimal; if ((PaymentMethod)cbPaymentMethods.SelectedValue == PaymentMethod.Cash && paymentAmount > _payableAmount) { Tools.displayForm(new SharedForms.Verify_Form("KEMBALI", string.Format("Rp. {0:N0}", paymentAmount - _payableAmount), SharedForms.VerifyFormFontSize.Medium)); paymentAmount = _payableAmount; } if (_paymentMode == PaymentMode.VendorInvoice) { Payment.add(_vendorInvoice.ID, (PaymentMethod)cbPaymentMethods.SelectedValue, paymentAmount, txtNotes.Text.Trim()); } else if (_paymentMode == PaymentMode.SaleInvoice) { Guid?id = Payment.add(_sale.id, (PaymentMethod)cbPaymentMethods.SelectedValue, paymentAmount, txtNotes.Text.Trim()); if (id != null && (PaymentMethod)cbPaymentMethods.SelectedValue == PaymentMethod.Credit) { CustomerCredit.submitNew((Guid)_sale.customer_id, paymentAmount * -1, id, txtNotes.Text.Trim(), null); } } populateData(); //resetData(); txtNotes.Text = ""; _dataWasUpdated = true; } }
private IEnumerable <CreditPaymentPlanItem> GetOverduePayments(CustomerCredit credit) { var now = GlobalValues.BankDateTime; return(credit.CreditPaymentPlanItems .Where(item => !item.IsPaid && now > item.StartDate) .ToList()); }
private void gridDetail_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (Tools.isCorrectColumn(sender, e, typeof(DataGridViewLinkColumn), col_griddetail_saleBarcode.Name)) { Tools.displayForm(new Sales.Invoice_Form(new Guid(gridDetail.Rows[e.RowIndex].Cells[col_griddetail_saleID.Name].Value.ToString()))); } else if (LIBUtil.Util.isColumnMatch(sender, e, col_griddetail_Confirmed)) { CustomerCredit.updateConfirmedStatus(LIBUtil.Util.getSelectedRowID(gridDetail, col_griddetail_Id), !LIBUtil.Util.getCheckboxValue(sender, e)); populateGridDetail(); } }
/*******************************************************************************************************/ #region ADD/UPDATE ITEM private void btnAddPayment_Click(object sender, EventArgs e) { if (isInputValid()) { _customerID = (Guid)iddl_Customers.SelectedValue; CustomerCredit.submitNew((Guid)_customerID, in_Amount.ValueDecimal, null, txtNotes.Text.Trim(), (PaymentMethod)cbPaymentMethods.SelectedValue); populateGridDetail(); in_Amount.reset(); txtNotes.Text = ""; } }
private void populateGridDetail() { if (_customerID == null) { gridSummary.ClearSelection(); gridDetail.DataSource = null; } else { DataGridViewRow row = Tools.findRow(gridSummary, col_gridsummary_customerid.Name, (Guid)_customerID); row.Selected = true; LIBUtil.Util.setGridviewDataSource(gridDetail, true, true, CustomerCredit.getAll(_customerID)); } }
private void populateData() { decimal startingBalance = 0; Guid referenceId = new Guid(); if (_paymentMode == PaymentMode.VendorInvoice) { referenceId = _vendorInvoice.ID; startingBalance = _vendorInvoice.CalculatedAmount; _creditBalance = VendorDebit.getBalance(_vendorInvoice.Vendors_Id); lblCreditBalance.Text = String.Format("Credit {0}: Rp.{1:N2}", _vendorInvoice.VendorName, _creditBalance); } else if (_paymentMode == PaymentMode.SaleInvoice) { referenceId = _sale.id; startingBalance = _sale.SaleAmount + _sale.ShippingCost; _creditBalance = CustomerCredit.getBalance((Guid)_sale.customer_id); lblCreditBalance.Text = String.Format("Credit {0}: Rp.{1:N2}", new Customer(_sale.customer_id).Name, _creditBalance); } DataTable dataTable = Payment.get(referenceId, startingBalance); LIBUtil.Util.setGridviewDataSource(grid, true, true, dataTable); if (dataTable.Rows.Count > 0) { _payableAmount = DBUtil.parseData <decimal>(dataTable.Rows[dataTable.Rows.Count - 1], Payment.COL_Balance); } else { _payableAmount = startingBalance; } lblTotalAmount.Text = String.Format("Balance: Rp.{0:N2} / Rp.{1:N2}", _payableAmount, startingBalance); if (_creditBalance > 0) { cbPaymentMethods.SelectedItem = PaymentMethod.Credit; } else { cbPaymentMethods.SelectedItem = PaymentMethod.Cash; } autoSetPaymentAmount(); }
private void populateGridSummary(bool reloadFromDB) { DataView dvw; if (reloadFromDB) { dvw = CustomerCredit.getSummary(chkOnlyHasActivityLast3Months.Checked).DefaultView; } else { dvw = LIBUtil.Util.getDataView(gridSummary.DataSource); } dvw.RowFilter = LIBUtil.Util.compileQuickSearchFilter(LIBUtil.Util.sanitize(txtFilter.Text), new string[] { CustomerCredit.COL_SUMMARY_CUSTOMERNAME }); gridSummary.DataSource = dvw; }
/*******************************************************************************************************/ #region SUBMISSION private void btnSubmit_Click(object sender, EventArgs e) { if (isSaleReturnValid()) { SaleReturn obj = new SaleReturn(txtNotes.Text, (DataTable)grid.DataSource); if (obj.submitNew() != null) { if (_customerID != null) { CustomerCredit.submitNew((Guid)_customerID, _totalAmount, null, string.Format("Credit from Sale Return " + obj.barcode), PaymentMethod.Cash); Tools.hasMessage("Credit sudah dibuat sejumlah " + lblTotalAmount.Text); } this.Close(); } } }
public CreatePaymentResponse CreatePayment(CreatePaymentRequest req) { var res = new CreatePaymentResponse(); try { using (var idmClient = new IDMServiceClient()) using (var container = new TransactionModelContainer()) { ValidateCreatePaymentRequest(idmClient, req); var payment = new Payment( req.CreateBy, req.CustomerIDMPartyID, req.CustomerName, req.CustomerAddress, req.PaymentItems.CreatePaymentItems() ); var grandTotal = payment.GrandTotal(); var credits = container.CustomerCredits.Where(x => x.CustomerIdmPartyId == req.CustomerIDMPartyID && x.IsUsedOrRefund == false).ToList(); var credit = credits.GetCustomerCredit(grandTotal); foreach (var c in credit) { payment.AddPaymentItem(PaymentItem.CreateCustomerCredit(c.Id, c.Amount)); } CustomerCredit.UpdateCustomerCredit(credit); container.Payments.AddObject(payment); container.SaveChanges(); res.SetPaymentResponse(payment); res.Succeed(); } } catch (Exception x) { res.Fail(x); CreateLog(req, x); } return(res); }