예제 #1
0
    public static void GetSalesQuotes()
    {
        var listQuote   = new List <SalesQuote>();
        var requestList = (HttpWebRequest)WebRequest.Create($"{CONFIG.ADDRESS}/API/DR/SalesQuoteProcessingAllOutstandingInfoList");

        requestList.Headers[HttpRequestHeader.Authorization] = $"Bearer {ExampleBearerToken.GetBearerToken().Access_Token}";
        requestList.ContentType = "application/JSON";
        requestList.Timeout     = 10000;
        requestList.Method      = "GET";

        using (var response = (HttpWebResponse)requestList.GetResponse())
        {
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var data = reader.ReadToEnd();
                response.Close();
                reader.Close();
                listQuote = JsonConvert.DeserializeObject <List <SalesQuote> >(data);
            }
        }

        foreach (var quote in listQuote)
        {
            Console.WriteLine(quote.TransactionNumber);
        }
    }
예제 #2
0
    public static void CreateSalesQuote()
    {
        var quote = new SalesQuote();

        quote.TransactionNumber = "New Quote"; // Only needed when automatic numbering is disabled
        quote.Reference         = "New Quote";
        quote.OrderCustomer     = 1;           // Enter valid value

        var line = new SalesQuoteLine();

        line.Description         = "New Line";
        line.AccountType         = 2;
        line.Account             = 1; // Enter valid value
        line.TaxCode             = 1; // Enter valid value
        line.Location            = 1; // Enter valid value
        line.UnitOfMeasure       = 1; // Enter valid value
        line.Quantity            = 5.25M;
        line.UnitChargeExclusive = 9.99M;
        quote.Lines.Add(line);

        var jsonQuote     = JsonConvert.SerializeObject(quote);
        var requestCreate = (HttpWebRequest)WebRequest.Create($"{CONFIG.ADDRESS}/API/DR/SalesQuote?process=true");         // Set process to false to save the quote instead

        requestCreate.Headers[HttpRequestHeader.Authorization] = $"Bearer {ExampleBearerToken.GetBearerToken().Access_Token}";
        requestCreate.ContentType   = "application/JSON";
        requestCreate.ContentLength = jsonQuote.Length;
        requestCreate.Timeout       = 10000;
        requestCreate.Method        = "POST";

        using (var writer = new StreamWriter(requestCreate.GetRequestStream()))
        {
            writer.Write(jsonQuote);
            writer.Flush();
            writer.Close();
        }

        using (var response = (HttpWebResponse)requestCreate.GetResponse())
        {
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var data = reader.ReadToEnd();
                response.Close();
                reader.Close();
                quote = JsonConvert.DeserializeObject <SalesQuote>(data);
            }
        }

        Console.WriteLine(quote.Id);
        Console.WriteLine(quote.TransactionNumber);         // When automatic numbering is enabled the API returns the generated transaction number
    }
예제 #3
0
    public static void DeleteSalesQuoteLine()
    {
        SalesQuote quote         = ExampleGetSalesQuote.GetSalesQuote();
        var        lineId        = quote.Lines.Last().Id;
        var        requestDelete = (HttpWebRequest)WebRequest.Create($"{CONFIG.ADDRESS}/API/DR/SalesQuote/{quote.Id}?Line={lineId}");  // Comma seperate values if there are multiple lines to delete

        requestDelete.Headers[HttpRequestHeader.Authorization] = $"Bearer {ExampleBearerToken.GetBearerToken().Access_Token}";
        requestDelete.ContentType = "application/JSON";
        requestDelete.Timeout     = 10000;
        requestDelete.Method      = "DELETE";

        using (var response = (HttpWebResponse)requestDelete.GetResponse())
        {
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var data = reader.ReadToEnd();
                response.Close();
                reader.Close();
            }
        }
    }
예제 #4
0
    public static void EditSalesQuote()
    {
        SalesQuote quote = ExampleGetSalesQuote.GetSalesQuote();

        quote.Reference = "Changed Reference";

        foreach (var line in quote.Lines)
        {
            line.Description = "Changed Description";
        }

        var jsonQuote     = JsonConvert.SerializeObject(quote);
        var requestCreate = (HttpWebRequest)WebRequest.Create($"{CONFIG.ADDRESS}/API/DR/SalesQuote?process=true");

        requestCreate.Headers[HttpRequestHeader.Authorization] = $"Bearer {ExampleBearerToken.GetBearerToken().Access_Token}";
        requestCreate.ContentType   = "application/JSON";
        requestCreate.ContentLength = jsonQuote.Length;
        requestCreate.Timeout       = 10000;
        requestCreate.Method        = "POST";

        using (var writer = new StreamWriter(requestCreate.GetRequestStream()))
        {
            writer.Write(jsonQuote);
            writer.Flush();
            writer.Close();
        }

        using (var response = (HttpWebResponse)requestCreate.GetResponse())
        {
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var data = reader.ReadToEnd();
                response.Close();
                reader.Close();
                quote = JsonConvert.DeserializeObject <SalesQuote>(data);
            }
        }

        Console.WriteLine(quote.Reference);
    }
예제 #5
0
    public static SalesQuote GetSalesQuote()
    {
        SalesQuote     quote       = null;
        HttpWebRequest requestList = (HttpWebRequest)WebRequest.Create($"{CONFIG.ADDRESS}/API/DR/SalesQuote/1"); // Enter valid sales quote

        requestList.Headers[HttpRequestHeader.Authorization] = $"Bearer {ExampleBearerToken.GetBearerToken().Access_Token}";
        requestList.ContentType = "application/JSON";
        requestList.Timeout     = 10000;
        requestList.Method      = "GET";

        using (HttpWebResponse response = (HttpWebResponse)requestList.GetResponse())
        {
            using (StreamReader reader = new StreamReader(response.GetResponseStream()))
            {
                string data = reader.ReadToEnd();
                response.Close();
                reader.Close();
                quote = JsonConvert.DeserializeObject <SalesQuote>(data);
            }
        }

        return(quote);
    }
예제 #6
0
    public static void GetCustomerSalesPrice()
    {
        CustomerSalesPrice price = null;
        var requestPrice         = (HttpWebRequest)WebRequest.Create($"{CONFIG.ADDRESS}/API/IC/CustomerSalesPrice?Customer=1&Product=1&TaxCode=1&Quantity=5.25&DiscountPercentage=25.25&TransactionDate=12/12/2012"); // Enter valid values

        requestPrice.Headers[HttpRequestHeader.Authorization] = $"Bearer {ExampleBearerToken.GetBearerToken().Access_Token}";
        requestPrice.ContentType = "application/JSON";
        requestPrice.Timeout     = 10000;
        requestPrice.Method      = "GET";

        using (var response = (HttpWebResponse)requestPrice.GetResponse())
        {
            using (var reader = new StreamReader(response.GetResponseStream()))
            {
                var data = reader.ReadToEnd();
                response.Close();
                reader.Close();
                price = JsonConvert.DeserializeObject <CustomerSalesPrice>(data);
            }
        }

        Console.WriteLine(price.ExclusiveUnitPrice);
        Console.WriteLine(price.InclusiveUnitPrice);
    }