AP Credit Note API v2: Difference between revisions

Content added Content deleted
No edit summary
No edit summary
Line 19: Line 19:
doc.DocDate = new DateTime(2018, 6, 22);
doc.DocDate = new DateTime(2018, 6, 22);
doc.Description = "Discount";
doc.Description = "Discount";
doc.SupplierCNNo = "";
doc.SupplierCNNo = "DSC-00015";
doc.SupplierInvoiceNo = "";
doc.SupplierInvoiceNo = "BIL-00101";


//Default value: "PURCHASE", "GENERAL"
//Default available values: "PURCHASE", "GENERAL"
//Note that user is able to change the above values
//that is maintained in General Maintenance > Journal Type Maintenance
doc.JournalType = "PURCHASE";
doc.JournalType = "PURCHASE";


//Default value: "DISCOUNT", "RETURN"
//Default available values: "DISCOUNT", "RETURN"
//Values are maintained in General Maintenance > C/N Type Maintenance
doc.CNType = "DISCOUNT";
doc.CNType = "DISCOUNT";


//Add a new detail record
dtl = doc.NewDetail();
dtl.AccNo = "520-0000";
dtl.AccNo = "520-0000";
dtl.Description = "Item Sale Discount";
dtl.Description = "Item Sale Discount";
Line 51: Line 56:


===Edit===
===Edit===
<syntaxhighlight lang="csharp">
public void Edit(AutoCount.Authentication.UserSession userSession)
{
AutoCount.ARAP.APCN.APCNDataAccess cmd = AutoCount.ARAP.APCN.APCNDataAccess.Create(userSession, userSession.DBSetting);
AutoCount.ARAP.APCN.APCNEntity doc = cmd.GetAPCN("CN-00001");
AutoCount.ARAP.APCN.APCNDTLEntity dtl = null;


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

//Clear all details of this document
doc.ClearDetails();
doc.ClearKnockOff();

doc.DocDate = new DateTime(2018, 6, 21);
doc.Description = "Discount";
doc.Reason = "Pricing Adjustment";
doc.SupplierCNNo = "DSC-00015";
doc.SupplierInvoiceNo = "BIL-00101";

//Default available values: "PURCHASE", "GENERAL"
//Note that user is able to change the above values
//that is maintained in General Maintenance > Journal Type Maintenance
doc.JournalType = "PURCHASE";

//Default available values: "DISCOUNT", "RETURN"
//Note that user is able to change the above values
doc.CNType = "RETURN";

dtl = doc.NewDetail();
dtl.AccNo = "520-0000";
dtl.Description = "Return of Item A";
dtl.Amount = 50.00M;

try
{
cmd.SaveAPCN(doc, userSession.LoginUserID);
//Log success
AutoCount.AppMessage.ShowMessage($"New ARCN '{doc.DocNo}' is Created.");
}
catch (AutoCount.AppException ex)
{
//Log fail
AutoCount.AppMessage.ShowMessage("Fail to create new ARCN.\n" + ex.Message);
}
}
</syntaxhighlight>

===Cancel (Void)===
<syntaxhighlight lang="csharp">
public void Cancel(AutoCount.Authentication.UserSession userSession)
{
AutoCount.ARAP.APCN.APCNDataAccess cmd = AutoCount.ARAP.APCN.APCNDataAccess.Create(userSession, userSession.DBSetting);
string docNo = "CN-00001";

try
{
cmd.CancelAPCN(docNo, userSession.LoginUserID);
AutoCount.AppMessage.ShowMessage($"ARCN 'docNo' is Created.");
}
catch (AutoCount.AppException ex)
{
//Log fail
AutoCount.AppMessage.ShowMessage($"Fail to cancel ARCN {docNo}.\n" + ex.Message);
}
}
</syntaxhighlight>

===Delete===
<syntaxhighlight lang="csharp">
public void Delete(AutoCount.Authentication.UserSession userSession)
{
AutoCount.ARAP.APCN.APCNDataAccess cmd = AutoCount.ARAP.APCN.APCNDataAccess.Create(userSession, userSession.DBSetting);
string docNo = "CN-00001";

try
{
cmd.DeleteAPCN(docNo, userSession.LoginUserID);
AutoCount.AppMessage.ShowMessage($"ARCN 'docNo' is Deleted.");
}
catch (AutoCount.AppException ex)
{
//Log fail
AutoCount.AppMessage.ShowMessage($"Fail to delete ARCN {docNo}.\n" + ex.Message);
}
}
</syntaxhighlight>


==Get Document No. from Supplier Invoice No.==
==Get Document No. from Supplier Invoice No.==