Programmer AP Creditor v2

From AutoCount Resource Center
Revision as of 03:33, 28 May 2018 by DanielY (talk | contribs)

References of AutoCount Accounting version 2.0

AutoCount.Accounting.dll
AutoCount.Accounting.UI.dll
AutoCount.dll
AutoCount.MainEntry.dll
AutoCount.UI.dll
AutoCount.ARAP.dll

Create new AP Creditor

public void CreateNewCreditor(AutoCount.Authentication.UserSession userSession, CreditorSource source)
{
    string newCreditorCode = GetNewCreditorCode(userSession, source.ControlAccount, source.CompanyName);
    if (newCreditorCode == null)
        return;

    string userId = userSession.LoginUserID;
    AutoCount.ARAP.Creditor.CreditorDataAccess cmd =
        AutoCount.ARAP.Creditor.CreditorDataAccess.Create(userSession, userSession.DBSetting);
    AutoCount.ARAP.Creditor.CreditorEntity creditor = cmd.NewCreditor();

    creditor.ControlAccount = source.ControlAccount;
    creditor.AccNo = newCreditorCode;
    creditor.CompanyName = source.CompanyName;
    creditor.Address1 = source.Addr1;
    creditor.Address2 = source.Addr2;
    creditor.Address3 = source.Addr3;
    creditor.Address4 = source.Addr4;
    creditor.Phone1 = source.Phone;
    creditor.Phone2 = source.Mobile;
    creditor.Attention = source.ContactPerson;
    creditor.EmailAddress = source.Email;
    creditor.CurrencyCode = AccountBookLocalCurrency(userSession.DBSetting);

    try
    {
        cmd.SaveCreditor(creditor, userId);
        //Log Success
    }
    catch (AutoCount.AppException ex)
    {
        //Log fail
    }
}

Get New Creditor Code

public string GetNewCreditorCode(AutoCount.Authentication.UserSession userSession, string controlAccNo, string companyName)
{
    try
    {
        return AutoCount.GL.AccountCodeHelper.Create(userSession.DBSetting)
            .GetNextCreditorCode(controlAccNo, companyName);
    }
    catch (AutoCount.GL.InvalidAutoDebtorCodeFormatException ex)
    {
        //Log error ex.Message;
    }
    catch (AutoCount.Data.DataAccessException ex)
    {
        //Log error ex.Message;
    }

    //If the catch throw out exception, then return null is not necessary.
    return null;
}

Get Local Currency Code

public string AccountBookLocalCurrency(AutoCount.Data.DBSetting dbSetting)
{
    return AutoCount.Data.DBRegistry.Create(dbSetting).GetString(new AutoCount.RegistryID.LocalCurrencyCode());
}

Class of source data

public class CreditorSource
{
    public string ControlAccount { get; set; }
    public string CreditorCode { get; set; }
    public string CompanyName { get; set; }
    public string Addr1 { get; set; }
    public string Addr2 { get; set; }
    public string Addr3 { get; set; }
    public string Addr4 { get; set; }
    public string Phone { get; set; }
    public string Mobile { get; set; }
    public string ContactPerson { get; set; }
    public string Email { get; set; }
}

===Implementation===
<syntaxhighlight lang="csharp">
public void TesterMain(BCE.Data.DBSetting dbSetting)
{
    CreditorSource newCreditor = new CreditorSource()
    {
        ControlAccount = "400-0000",
        //CreditorCode = "410C001",     //Ignore CreditorCode, if let system auto assign
        CompanyName = "CALIFORNIA SB",
        Addr1 = "1, Jalan SS 1/1,",
        Addr2 = "Taman Gembira,",
        Addr3 = "Selangor Darah Ehsan,",
        Addr4 = "41300 Malaysia.",
        Phone = "603-719 1992",
        Mobile = "016-221 2222",
        ContactPerson = "Ben",
        Email = "ben@calimail.com",
    };

    CreateNewCreditor(userSession, newCreditor);
}

Template:SeeAlsoAccountV2

Go to menu

Go to top
Resources For AutoCount Software Developers