Difference between revisions of "AP Deposit API"

From AutoCount Resource Center
Jump to navigation Jump to search
(Created page with "==Technical Specification== ==Assemblies version 1.8, 1.9== {{BaseReferenceAC18}} '''BCE.AutoCount.ARAP.dll''' ==AP Credit Note API Usage== ===New=== <syntaxhighlight lang...")
 
Line 1: Line 1:
 
==Technical Specification==
 
==Technical Specification==
 
+
#
  
 
==Assemblies version 1.8, 1.9==
 
==Assemblies version 1.8, 1.9==
Line 9: Line 9:
 
===New===
 
===New===
 
<syntaxhighlight lang="csharp">
 
<syntaxhighlight lang="csharp">
 +
public void New(BCE.Data.DBSetting dbSetting)
 +
{
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
 +
    BCE.AutoCount.ARAP.APDeposit.APDeposit doc = cmd.AddNew();
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositDetail dtl = null;
 +
 +
    //The value of Deposit Payment Method is defined by user,
 +
    //must check the Deposit setting in General Maintenance > Payment Method Maintenance,
 +
    //to get correct value
 +
    doc.DepositPaymentMethod = "DEPOSIT RECEIVED";
 +
    doc.DocDate = new DateTime(2018, 6, 25);
 +
    doc.CreditorCode = "400-X001";
 +
    doc.Attention = "Jerry";
 +
    doc.Description = "Deposit to ordering of books";
 +
 +
    //Add a payment that is made for this deposit
 +
    dtl = doc.AddDetail();
 +
    dtl.PaymentMethod = "BANK";
 +
    dtl.PaymentAmt = 200M;
 +
 +
    try
 +
    {
 +
        doc.Save();
 +
        //Log success
 +
        BCE.Application.AppMessage.ShowMessage($"New AP Deposit '{doc.DocNo}' is created.");
 +
    }
 +
    catch (BCE.Application.AppException ex)
 +
    {
 +
        //Log error
 +
        BCE.Application.AppMessage.ShowMessage("Error when create new AP Deposit.\n" + ex.Message);
 +
    }
 +
}
 +
</syntaxhighlight>
 +
 +
====New AP Deposit with Refund====
 +
<syntaxhighlight lang="csharp" highlight="19-26">
 +
public void NewWithRefund(BCE.Data.DBSetting dbSetting)
 +
{
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
 +
    BCE.AutoCount.ARAP.APDeposit.APDeposit doc = cmd.AddNew();
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositDetail dtl = null;
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositRefundDetail refundDtl = null;
 +
 +
    doc.DepositPaymentMethod = "DEPOSIT RECEIVED";
 +
    doc.DocDate = new DateTime(2018, 6, 25);
 +
    doc.CreditorCode = "400-X001";
 +
    doc.Attention = "Jerry";
 +
    doc.Description = "Deposit to ordering of books";
 +
 +
    //Add a payment that is made for this deposit
 +
    dtl = doc.AddDetail();
 +
    dtl.PaymentMethod = "BANK";
 +
    dtl.PaymentAmt = 200M;
 +
 +
    //Refund
 +
    doc.HasRefund = true;
 +
    //Assign RefundDocNo if not using running number
 +
    //doc.RefundDocNo = "<<New>>";
 +
    doc.RefundDate = new DateTime(2018, 7, 20);
 +
    refundDtl = doc.AddRefundDetail();
 +
    refundDtl.PaymentMethod = "BANK";
 +
    refundDtl.ChequeNo = "MB8294758";
 +
    refundDtl.PaymentAmount = 50M;  //refund 50
  
 +
    try
 +
    {
 +
        doc.Save();
 +
        //Log success
 +
        BCE.Application.AppMessage.ShowMessage($"New AP Deposit '{doc.DocNo}' is created.");
 +
    }
 +
    catch (BCE.Application.AppException ex)
 +
    {
 +
        //Log error
 +
        BCE.Application.AppMessage.ShowMessage("Error when create new AP Deposit.\n" + ex.Message);
 +
    }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
===Edit===
 
===Edit===
 
<syntaxhighlight lang="csharp">
 
<syntaxhighlight lang="csharp">
 +
public void Edit(BCE.Data.DBSetting dbSetting)
 +
{
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
 +
    BCE.AutoCount.ARAP.APDeposit.APDeposit doc = cmd.Edit("PV-00002");
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositDetail dtl = null;
 +
 +
    if (doc == null)
 +
    {
 +
        //log unable to load "PV-00002", or not found
 +
        return;
 +
    }
 +
 +
    doc.ClearRefundDetails();
 +
    doc.ClearDetails();
 +
 +
    doc.DepositPaymentMethod = "DEPOSIT RECEIVED";
 +
    doc.DocDate = new DateTime(2018, 6, 25);
 +
    doc.CreditorCode = "400-X001";
 +
    doc.Attention = "Jerry";
 +
    doc.Description = "Deposit to ordering of books";
 +
 +
    //Add a payment that is made for this deposit
 +
    dtl = doc.AddDetail();
 +
    dtl.PaymentMethod = "BANK";
 +
    dtl.PaymentAmt = 200M;
  
 +
    try
 +
    {
 +
        doc.Save();
 +
        //Log success
 +
        BCE.Application.AppMessage.ShowMessage($"Updated AP Deposit '{doc.DocNo}'.");
 +
    }
 +
    catch (BCE.Application.AppException ex)
 +
    {
 +
        //Log error
 +
        BCE.Application.AppMessage.ShowMessage("Error when edit AP Deposit.\n" + ex.Message);
 +
    }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
===Cancel (Void)===
 
===Cancel (Void)===
 
<syntaxhighlight lang="csharp">
 
<syntaxhighlight lang="csharp">
 +
public void Cancel(BCE.Data.DBSetting dbSetting)
 +
{
 +
    string userId = BCE.AutoCount.Authentication.UserAuthentication.GetOrCreate(dbSetting).LoginUserID;
 +
    string docNo = "PV-00002";
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
  
 +
    try
 +
    {
 +
        cmd.CancelDocument(docNo, userId);
 +
        //Log success
 +
        BCE.Application.AppMessage.ShowMessage($"AP Deposit '{docNo}' is cancelled.");
 +
    }
 +
    catch (BCE.Application.AppException ex)
 +
    {
 +
        //Log error
 +
        BCE.Application.AppMessage.ShowMessage("Error when cancel AP Deposit.\n" + ex.Message);
 +
    }
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
===Delete===
 
===Delete===
 
<syntaxhighlight lang="csharp">
 
<syntaxhighlight lang="csharp">
 +
public void Delete(BCE.Data.DBSetting dbSetting)
 +
{
 +
    string userId = BCE.AutoCount.Authentication.UserAuthentication.GetOrCreate(dbSetting).LoginUserID;
 +
    string docNo = "PV-00002";
 +
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
 +
 +
    try
 +
    {
 +
        long? docKey = GetAPDepositDocKey(docNo, dbSetting);
 +
        if (docKey.HasValue)
 +
        {
 +
            //AP Deposit only provide parameter of DocKey in Delete Command
 +
            cmd.Delete(docKey.Value);
 +
            //Log success
 +
            BCE.Application.AppMessage.ShowMessage($"AP Deposit '{docNo}' is cancelled.");
 +
        }
 +
    }
 +
    catch (BCE.Application.AppException ex)
 +
    {
 +
        //Log error
 +
        BCE.Application.AppMessage.ShowMessage("Error when cancel AP Deposit.\n" + ex.Message);
 +
    }
 +
}
 +
</syntaxhighlight>
  
 +
==Convert AP Deposit DocNo to '''DocKey'''==
 +
<syntaxhighlight lang="csharp">
 +
public long? GetAPDepositDocKey(string docNo, BCE.Data.DBSetting dbSetting)
 +
{
 +
    object oDocKey = dbSetting.ExecuteScalar("SELECT DocKey FROM APDeposit WHERE DocNo=?", docNo);
 +
    return oDocKey == null ? default(long?) : BCE.Data.Convert.ToInt64(oDocKey);
 +
}
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Revision as of 04:40, 26 June 2018

Technical Specification

Assemblies version 1.8, 1.9

BCE.AutoCount.dll
BCE.AutoCount.CommonAccounting.dll
BCE.AutoCount.MainEntry.dll
BCE.Utils.dll
BCE.Utils.UI.dll
BCE.AutoCount.ARAP.dll

AP Credit Note API Usage

New

public void New(BCE.Data.DBSetting dbSetting)
{
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
    BCE.AutoCount.ARAP.APDeposit.APDeposit doc = cmd.AddNew();
    BCE.AutoCount.ARAP.APDeposit.APDepositDetail dtl = null;

    //The value of Deposit Payment Method is defined by user,
    //must check the Deposit setting in General Maintenance > Payment Method Maintenance,
    //to get correct value
    doc.DepositPaymentMethod = "DEPOSIT RECEIVED";
    doc.DocDate = new DateTime(2018, 6, 25);
    doc.CreditorCode = "400-X001";
    doc.Attention = "Jerry";
    doc.Description = "Deposit to ordering of books";

    //Add a payment that is made for this deposit
    dtl = doc.AddDetail();
    dtl.PaymentMethod = "BANK";
    dtl.PaymentAmt = 200M;

    try
    {
        doc.Save();
        //Log success
        BCE.Application.AppMessage.ShowMessage($"New AP Deposit '{doc.DocNo}' is created.");
    }
    catch (BCE.Application.AppException ex)
    {
        //Log error
        BCE.Application.AppMessage.ShowMessage("Error when create new AP Deposit.\n" + ex.Message);
    }
}

New AP Deposit with Refund

public void NewWithRefund(BCE.Data.DBSetting dbSetting)
{
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
    BCE.AutoCount.ARAP.APDeposit.APDeposit doc = cmd.AddNew();
    BCE.AutoCount.ARAP.APDeposit.APDepositDetail dtl = null;
    BCE.AutoCount.ARAP.APDeposit.APDepositRefundDetail refundDtl = null;

    doc.DepositPaymentMethod = "DEPOSIT RECEIVED";
    doc.DocDate = new DateTime(2018, 6, 25);
    doc.CreditorCode = "400-X001";
    doc.Attention = "Jerry";
    doc.Description = "Deposit to ordering of books";

    //Add a payment that is made for this deposit
    dtl = doc.AddDetail();
    dtl.PaymentMethod = "BANK";
    dtl.PaymentAmt = 200M;

    //Refund
    doc.HasRefund = true;
    //Assign RefundDocNo if not using running number
    //doc.RefundDocNo = "<<New>>";
    doc.RefundDate = new DateTime(2018, 7, 20);
    refundDtl = doc.AddRefundDetail();
    refundDtl.PaymentMethod = "BANK";
    refundDtl.ChequeNo = "MB8294758";
    refundDtl.PaymentAmount = 50M;  //refund 50

    try
    {
        doc.Save();
        //Log success
        BCE.Application.AppMessage.ShowMessage($"New AP Deposit '{doc.DocNo}' is created.");
    }
    catch (BCE.Application.AppException ex)
    {
        //Log error
        BCE.Application.AppMessage.ShowMessage("Error when create new AP Deposit.\n" + ex.Message);
    }
}

Edit

public void Edit(BCE.Data.DBSetting dbSetting)
{
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);
    BCE.AutoCount.ARAP.APDeposit.APDeposit doc = cmd.Edit("PV-00002");
    BCE.AutoCount.ARAP.APDeposit.APDepositDetail dtl = null;

    if (doc == null)
    {
        //log unable to load "PV-00002", or not found
        return;
    }

    doc.ClearRefundDetails();
    doc.ClearDetails();

    doc.DepositPaymentMethod = "DEPOSIT RECEIVED";
    doc.DocDate = new DateTime(2018, 6, 25);
    doc.CreditorCode = "400-X001";
    doc.Attention = "Jerry";
    doc.Description = "Deposit to ordering of books";

    //Add a payment that is made for this deposit
    dtl = doc.AddDetail();
    dtl.PaymentMethod = "BANK";
    dtl.PaymentAmt = 200M;

    try
    {
        doc.Save();
        //Log success
        BCE.Application.AppMessage.ShowMessage($"Updated AP Deposit '{doc.DocNo}'.");
    }
    catch (BCE.Application.AppException ex)
    {
        //Log error
        BCE.Application.AppMessage.ShowMessage("Error when edit AP Deposit.\n" + ex.Message);
    }
}

Cancel (Void)

public void Cancel(BCE.Data.DBSetting dbSetting)
{
    string userId = BCE.AutoCount.Authentication.UserAuthentication.GetOrCreate(dbSetting).LoginUserID;
    string docNo = "PV-00002";
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);

    try
    {
        cmd.CancelDocument(docNo, userId);
        //Log success
        BCE.Application.AppMessage.ShowMessage($"AP Deposit '{docNo}' is cancelled.");
    }
    catch (BCE.Application.AppException ex)
    {
        //Log error
        BCE.Application.AppMessage.ShowMessage("Error when cancel AP Deposit.\n" + ex.Message);
    }
}

Delete

public void Delete(BCE.Data.DBSetting dbSetting)
{
    string userId = BCE.AutoCount.Authentication.UserAuthentication.GetOrCreate(dbSetting).LoginUserID;
    string docNo = "PV-00002";
    BCE.AutoCount.ARAP.APDeposit.APDepositCommand cmd = BCE.AutoCount.ARAP.APDeposit.APDepositCommand.Create(dbSetting);

    try
    {
        long? docKey = GetAPDepositDocKey(docNo, dbSetting);
        if (docKey.HasValue)
        {
            //AP Deposit only provide parameter of DocKey in Delete Command
            cmd.Delete(docKey.Value);
            //Log success
            BCE.Application.AppMessage.ShowMessage($"AP Deposit '{docNo}' is cancelled.");
        }
    }
    catch (BCE.Application.AppException ex)
    {
        //Log error
        BCE.Application.AppMessage.ShowMessage("Error when cancel AP Deposit.\n" + ex.Message);
    }
}

Convert AP Deposit DocNo to DocKey

public long? GetAPDepositDocKey(string docNo, BCE.Data.DBSetting dbSetting)
{
    object oDocKey = dbSetting.ExecuteScalar("SELECT DocKey FROM APDeposit WHERE DocNo=?", docNo);
    return oDocKey == null ? default(long?) : BCE.Data.Convert.ToInt64(oDocKey);
}


See Also

AutoCount Accounting Account API
AR AP
Transactions Version Transactions Version
AR Debtor (Customer) 1.8, 1.9
2.0
AP Creditor (Supplier) 1.8, 1.9
2.0
AR Invoice 1.8, 1.9
2.0
AP Invoice 1.8, 1.9
2.0
AR Received Payment 1.8, 1.9
2.0
AP Payment 1.8, 1.9
2.0
AR Debit Note 1.8, 1.9
2.0
AP Debit Note 1.8, 1.9
2.0
AR Credit Note 1.8, 1.9
2.0
AP Credit Note 1.8, 1.9
2.0
AR Refund 1.8, 1.9
2.0
AP Refund 1.8, 1.9
2.0
AR Deposit 1.8, 1.9
2.0
AP Deposit 1.8, 1.9
2.0
AR Deposit - Create New or Update
with Refund & Forfeit
1.8, 1.9
2.0
A/R and A/P Contra Entry 1.8, 1.9
2.0

Go to menu

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