AR Refund

From AutoCount Resource Center
Revision as of 06:40, 27 November 2017 by DanielY (talk | contribs) (Created page with "{{NavigateDeveloper}} ===Create new AR Refund=== <syntaxhighlight lang="csharp"> public void CreateNewARRefund(BCE.Data.DBSetting dbSetting, RefundSource source) { string...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Go to menu

IconAC81.png Go to top
ProgrammerGo.jpg Resources For AutoCount Software Developers


Create new AR Refund

public void CreateNewARRefund(BCE.Data.DBSetting dbSetting, RefundSource source)
{
    string userID = BCE.AutoCount.Authentication.UserAuthentication.GetOrCreate(dbSetting).LoginUserID;
    BCE.AutoCount.ARAP.ARRefund.ARRefundDataAccess cmd = BCE.AutoCount.ARAP.ARRefund.ARRefundDataAccess.Create(dbSetting);
    BCE.AutoCount.ARAP.ARRefund.ARRefundEntity doc = cmd.NewARRefund();

    doc.DocNo = source.DocNo;
    doc.DocDate = source.Date;
    doc.Description = source.Description;

    BCE.AutoCount.ARAP.ARRefund.ARRefundDTLEntity dtl = doc.NewDetail();
    dtl.PaymentMethod = "CASH";
    dtl.PaymentAmt = source.RefundAmount;
    dtl.BankCharge = source.BankCharge;

    //Only ARPayment & ARCreditNote allowed to knockoff by ARRefund
    doc.KnockOff(BCE.AutoCount.Document.DocumentType.ARPayment, source.PaymentToRefund, source.RefundAmount);

    try
    {
        cmd.SaveARRefund(doc, userID);
    }
    catch (BCE.Application.AppException ex)
    {
        BCE.Application.AppMessage.ShowMessage(ex.Message);
    }
}

Class for source data

public class RefundSource
{
    public string DocNo { get; set; }
    public DateTime Date { get; set; }
    public string Description { get; set; }
    public decimal RefundAmount { get; set; }
    public decimal BankCharge { get; set; }
    public string PaymentToRefund { get; set; }
}