private static XElement CreateAuthLoginElement(IntacctUserCredential cred) { var loginElement = new XElement("login", new XElement("userid", cred.UserName), new XElement("companyid", cred.CompanyId), new XElement("password", cred.Password)); if (cred.ChildCompanyType.HasValue) { switch (cred.ChildCompanyType.Value) { case ChildCompanyType.Shared: loginElement.Add(new XElement("locationid", cred.ChildCompanyId)); break; case ChildCompanyType.Distributed: loginElement.Add(new XElement("clientid", cred.ChildCompanyId)); break; default: throw new ArgumentOutOfRangeException(); } } return(loginElement); }
private static void Main() { var settings = LoadSettings(); var serverUri = new Uri(settings.ServerUri); var serverCredential = new NetworkCredential(settings.AccountUsername, settings.AccountPassword); var userCredential = new IntacctUserCredential(settings.CompanyName, settings.Username, settings.Password); var client = new IntacctClient(serverUri, serverCredential); var session = client.InitiateApiSession(userCredential).Result; Console.WriteLine($"Session created, ID: {session.SessionId}, Endpoint: {session.EndpointUri}"); // create customer var customer = new IntacctCustomer("C0021", "MT Test " + Guid.NewGuid()) { ExternalId = "1337", PrimaryContact = new IntacctContact(Guid.NewGuid().ToString(), "Random") }; var response = client.ExecuteOperations(new[] { new CreateCustomerOperation(session, customer) }, CancellationToken.None).Result; Console.WriteLine($"Customer created: {response.Success}"); if (!response.Success) { return; } // retrieve customer response = client.ExecuteOperations(new[] { new GetEntityOperation <IntacctCustomer>(session, customer.Id) }, CancellationToken.None).Result; Console.WriteLine($"Customer retrieved: {response.Success}"); if (!response.Success) { return; } // create invoice var invoice = new IntacctInvoice(customer.Id, new IntacctDate(1, 1, 2015), new IntacctDate(1, 1, 2015)); var lineItem = IntacctLineItem.CreateWithAccountNumber("2000", 15); lineItem.Memo = "Services rendered"; invoice.Items.Add(lineItem); response = client.ExecuteOperations(new[] { new CreateInvoiceOperation(session, invoice) }, CancellationToken.None).Result; Console.WriteLine($"Invoice created: {response.Success}"); }
protected IntacctOperationBase(IntacctUserCredential userCredential, string functionName, string resultElementName) : this(functionName, resultElementName) { _userCredential = userCredential; }
public GetApiSessionOperation(IntacctUserCredential cred) : base(cred, "getAPISession", "data") { }