Example #1
1
        public Customer getCustomer(String customerId)
        {
            eConnectMethods eConnect = new eConnectMethods();
            String address1 = "";
            String address2 = "";
            Customer result = new Customer();
            result.CustomerID = customerId;
            try
            {

                eConnectType myEConnectType = new eConnectType();
                RQeConnectOutType myReqType = new RQeConnectOutType();
                eConnectOut myeConnectOut = new eConnectOut();
                myeConnectOut.ACTION = 1;
                myeConnectOut.DOCTYPE = "Customer";
                myeConnectOut.OUTPUTTYPE = 2;
                myeConnectOut.INDEX1FROM = customerId;
                myeConnectOut.INDEX1TO = customerId;
                myeConnectOut.FORLIST = 1;
                // Add the eConnectOut XML node object to the RQeConnectOutType schema object
                myReqType.eConnectOut = myeConnectOut;

                // Add the RQeConnectOutType schema object to the eConnect document object
                RQeConnectOutType[] myReqOutType = { myReqType };
                myEConnectType.RQeConnectOutType = myReqOutType;

                // Serialize the eConnect document object to a memory stream
                MemoryStream myMemStream = new MemoryStream();
                XmlSerializer mySerializer = new XmlSerializer(myEConnectType.GetType());
                mySerializer.Serialize(myMemStream, myEConnectType);
                myMemStream.Position = 0;

                // Load the serialized eConnect document object into an XML document object
                XmlTextReader xmlreader = new XmlTextReader(myMemStream);
                XmlDocument myXmlDocument = new XmlDocument();
                myXmlDocument.Load(xmlreader);

                // Call the eConnect_Requester method of the eConnectMethods object to retrieve specified XML data
                string reqDoc = eConnect.eConnect_Requester(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, myXmlDocument.OuterXml);
                XmlDocument resultDocument = new XmlDocument();
                resultDocument.LoadXml(reqDoc);

                XmlNodeList customerNodeList = resultDocument.GetElementsByTagName("Customer");

                if (customerNodeList.Count == 0) return null;
                else
                {
                    //Here we have retrieved the customer document
                    foreach (XmlNode node in customerNodeList[0])
                    {
                        if (node.Name.Equals("ADDRESS1"))
                            address1 = node.InnerText;
                        if (node.Name.Equals("ADDRESS2"))
                            address2 = node.InnerText;
                        else if (node.Name.Equals("ADRSCODE"))
                            result.CustomerAddress.AddressCode = node.InnerText;
                        else if (node.Name.Equals("CITY"))
                            result.CustomerAddress.City = node.InnerText;
                        else if (node.Name.Equals("CNTCPRSN"))
                            result.CustomerAddress.AddressContact = node.InnerText;
                        else if (node.Name.Equals("COUNTRY"))
                            result.CustomerAddress.Country = node.InnerText;
                        else if (node.Name.Equals("CUSTCLAS"))
                            result.CustomerClass = node.InnerText;
                        else if (node.Name.Equals("CUSTNAME"))
                            result.CustomerName = node.InnerText;
                        else if (node.Name.Equals("PHONE1"))
                            result.CustomerAddress.PhoneNumber1 = node.InnerText;
                        else if (node.Name.Equals("PHONE2"))
                            result.CustomerAddress.PhoneNumber2 = node.InnerText;
                        else if (node.Name.Equals("FAX"))
                            result.CustomerAddress.FaxNumber = node.InnerText;
                        else if (node.Name.Equals("STATE"))
                            result.CustomerAddress.State = node.InnerText;
                        else if (node.Name.Equals("ZIP"))
                            result.CustomerAddress.Zipcode = node.InnerText;
                        else if (node.Name.Equals("STMTNAME"))
                            result.StatementName = node.InnerText;
                        else if (node.Name.Equals("SHRTNAME"))
                            result.ShortName = node.InnerText;
                        else if (node.Name.Equals("PRBTADCD"))
                            result.BillTo = node.InnerText;
                        else if (node.Name.Equals("PRSTADCD"))
                            result.ShipTo = node.InnerText;
                        else if (node.Name.Equals("STADDRCD"))
                            result.StatementTo = node.InnerText;
                        else if (node.Name.Equals("USERDEF1"))
                            result.Type = node.InnerText;
                        else if (node.Name.Equals("USERDEF2"))
                            result.StudentStatus = node.InnerText;
                        else if (node.Name.Equals("INACTIVE"))
                            if (node.InnerText.Equals("1")) result.Inactive = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            result.CustomerAddress.AddressString = address1 + address2;
            return result;
        }
Example #2
0
		static void Main()
		{
			try
			{
				// Create an eConnect document type object
                eConnectType myEConnectType = new eConnectType();

                // Create a RQeConnectOutType schema object
				RQeConnectOutType myReqType = new RQeConnectOutType();
				
                // Create an eConnectOut XML node object
                eConnectOut myeConnectOut = new eConnectOut();

                // Populate the eConnectOut XML node elements
				myeConnectOut.ACTION = 1;
				myeConnectOut.DOCTYPE = "Customer";
				myeConnectOut.OUTPUTTYPE = 2;
				myeConnectOut.INDEX1FROM = "AARONFIT0001";
				myeConnectOut.INDEX1TO = "AARONFIT0001";
				myeConnectOut.FORLIST = 1;
			
				// Add the eConnectOut XML node object to the RQeConnectOutType schema object
                myReqType.eConnectOut = myeConnectOut;

                // Add the RQeConnectOutType schema object to the eConnect document object
				RQeConnectOutType [] myReqOutType = {myReqType};
				myEConnectType.RQeConnectOutType = myReqOutType;

                // Serialize the eConnect document object to a memory stream
				MemoryStream myMemStream = new MemoryStream();
				XmlSerializer mySerializer = new XmlSerializer(myEConnectType.GetType());
				mySerializer.Serialize(myMemStream, myEConnectType);
				myMemStream.Position = 0;

				// Load the serialized eConnect document object into an XML document object
                XmlTextReader xmlreader = new XmlTextReader(myMemStream);
                XmlDocument myXmlDocument = new XmlDocument();
                myXmlDocument.Load(xmlreader);

				// Create a connection string to specify the Microsoft Dynamics GP server and database
                // Change the data source and initial catalog to specify your server and database
                string sConnectionString = @"data source=MYSERVER;initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
				
                // Create an eConnectMethods object
                eConnectMethods requester = new eConnectMethods();
				
                // Call the eConnect_Requester method of the eConnectMethods object to retrieve specified XML data
                string reqDoc = requester.eConnect_Requester(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, myXmlDocument.OuterXml);

                // Display the result of the eConnect_Requester method call
                Console.Write(reqDoc);
			}
			catch (Exception ex)
			{// Dislay any errors that occur to the console
				Console.Write(ex.ToString());
			}
		}
Example #3
0
        /// <summary>
        /// Function to Retreive Data from GP Tables using eConnect, Return a string in XML Format
        /// </summary>
        /// <param name="DocumentType">Purchase_Order_Transaction, Sales_Order_Transaction</param>
        /// <param name="fromShadowTable">Direct From GP Tables or From EConnect Out</param>
        /// <param name="OutputType">0=List,1=Master document, 2=Complete document,3=Remove only</param>
        /// <param name="Action">Use this element when you request data from the shadow table. The value controls the type of data that is returned.
        /// 0=All documents
        /// 1=Insertions
        /// 2=Updates
        /// 3=Deletions
        /// 4=Returns all insertions and updates as separate documents for each item.
        /// 5=Combines all insertions and updates into one document for each item </param>
        /// <param name="WhereCondition">Custom Condition</param>
        /// <returns></returns>

        public static string RetreiveData(string DocumentType, bool fromShadowTable,
                                          int OutputType, int Action, string WhereCondition, bool RemoveShadow)
        {
            // Create a connection string to specify the Microsoft Dynamics GP server and database
            //string cnnString = "data source=(local);initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
            //string cnnString = "data source=WEBMASTERNT02;initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
            //string cnnString = "Data Source=192.168.1.4;initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
            //string cnnString = ConfigurationManager.AppSettings["GPCnnString"];

            try
            {
                // Create an eConnect document type object
                eConnectType myEConnectType = new eConnectType();
                // Create a RQeConnectOutType schema object
                RQeConnectOutType myReqType = new RQeConnectOutType();
                // Create an eConnectOut XML node object
                eConnectOut myeConnectOut = new eConnectOut();

                // Populate the eConnectOut XML node elements
                myeConnectOut.ACTION      = Action;
                myeConnectOut.DOCTYPE     = DocumentType;
                myeConnectOut.OUTPUTTYPE  = OutputType;
                myeConnectOut.FORLIST     = fromShadowTable ? 0 : 1;
                myeConnectOut.REMOVE      = RemoveShadow ? 1 : 0;
                myeConnectOut.WhereClause = WhereCondition;


                // Add the eConnectOut XML node object to the RQeConnectOutType schema object
                myReqType.eConnectOut = myeConnectOut;

                // Add the RQeConnectOutType schema object to the eConnect document object
                RQeConnectOutType[] myReqOutType = { myReqType };
                myEConnectType.RQeConnectOutType = myReqOutType;

                // Serialize the eConnect document object to a memory stream
                MemoryStream  myMemStream  = new MemoryStream();
                XmlSerializer mySerializer = new XmlSerializer(myEConnectType.GetType());
                mySerializer.Serialize(myMemStream, myEConnectType);
                myMemStream.Position = 0;

                // Load the serialized eConnect document object into an XML document object
                XmlTextReader xmlreader     = new XmlTextReader(myMemStream);
                XmlDocument   myXmlDocument = new XmlDocument();
                myXmlDocument.Load(xmlreader);

                // Create an eConnectMethods object
                eConnectMethods requester = new eConnectMethods();

                //string outerXml = myXmlDocument.OuterXml;
                //int rem = 0x02;
                //outerXml = outerXml.Replace((char)rem, ' ');

                // Call the eConnect_Requester method of the eConnectMethods object to retrieve specified XML data
                return(requester.eConnect_Requester(FactoryCompany.ErpConnection.CnnString, EnumTypes.ConnectionStringType.SqlClient, myXmlDocument.OuterXml)); // outerXml);
            }

            catch (eConnectException ex)
            {
                // Dislay any errors that occur to the console
                throw new Exception(ex.Message);
            }
            catch (Exception e)
            {
                // Dislay any errors that occur to the console
                throw new Exception(e.Message);
            }
        }
Example #4
0
        /// <summary>
        /// Function to Retreive Data from GP Tables using eConnect, Return a string in XML Format
        /// </summary>
        /// <param name="DocumentType">Purchase_Order_Transaction, Sales_Order_Transaction</param>
        /// <param name="fromShadowTable">Direct From GP Tables or From EConnect Out</param>
        /// <param name="OutputType">0=List,1=Master document, 2=Complete document,3=Remove only</param>
        /// <param name="Action">Use this element when you request data from the shadow table. The value controls the type of data that is returned.
        /// 0=All documents
        /// 1=Insertions
        /// 2=Updates
        /// 3=Deletions
        /// 4=Returns all insertions and updates as separate documents for each item.
        /// 5=Combines all insertions and updates into one document for each item </param>
        /// <param name="WhereCondition">Custom Condition</param>
        /// <returns></returns>

        public static string RetreiveData(string DocumentType, bool fromShadowTable,
                int OutputType, int Action, string WhereCondition, bool RemoveShadow)
        {

            // Create a connection string to specify the Microsoft Dynamics GP server and database
            //string cnnString = "data source=(local);initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
            //string cnnString = "data source=WEBMASTERNT02;initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
            //string cnnString = "Data Source=192.168.1.4;initial catalog=TWO;integrated security=SSPI;persist security info=False;packet size=4096";
            //string cnnString = ConfigurationManager.AppSettings["GPCnnString"];

            try
            {
                // Create an eConnect document type object
                eConnectType myEConnectType = new eConnectType();
                // Create a RQeConnectOutType schema object
                RQeConnectOutType myReqType = new RQeConnectOutType();
                // Create an eConnectOut XML node object
                eConnectOut myeConnectOut = new eConnectOut();

                // Populate the eConnectOut XML node elements
                myeConnectOut.ACTION = Action;
                myeConnectOut.DOCTYPE = DocumentType;
                myeConnectOut.OUTPUTTYPE = OutputType;
                myeConnectOut.FORLIST = fromShadowTable ? 0 : 1;
                myeConnectOut.REMOVE = RemoveShadow ? 1 : 0;
                myeConnectOut.WhereClause = WhereCondition;


                // Add the eConnectOut XML node object to the RQeConnectOutType schema object
                myReqType.eConnectOut = myeConnectOut;

                // Add the RQeConnectOutType schema object to the eConnect document object
                RQeConnectOutType[] myReqOutType = { myReqType };
                myEConnectType.RQeConnectOutType = myReqOutType;

                // Serialize the eConnect document object to a memory stream
                MemoryStream myMemStream = new MemoryStream();
                XmlSerializer mySerializer = new XmlSerializer(myEConnectType.GetType());
                mySerializer.Serialize(myMemStream, myEConnectType);
                myMemStream.Position = 0;

                // Load the serialized eConnect document object into an XML document object
                XmlTextReader xmlreader = new XmlTextReader(myMemStream);
                XmlDocument myXmlDocument = new XmlDocument();
                myXmlDocument.Load(xmlreader);

                // Create an eConnectMethods object
                eConnectMethods requester = new eConnectMethods();

                //string outerXml = myXmlDocument.OuterXml;
                //int rem = 0x02;
                //outerXml = outerXml.Replace((char)rem, ' ');

                // Call the eConnect_Requester method of the eConnectMethods object to retrieve specified XML data
                return requester.eConnect_Requester(FactoryCompany.ErpConnection.CnnString, EnumTypes.ConnectionStringType.SqlClient, myXmlDocument.OuterXml); // outerXml);

            }

            catch (eConnectException ex)
            {
                // Dislay any errors that occur to the console
                throw new Exception(ex.Message);
            }
            catch (Exception e)
            {
                // Dislay any errors that occur to the console
                throw new Exception(e.Message);
            }

        }
Example #5
0
        public Customer getCustomer(String customerId)
        {
            eConnectMethods eConnect = new eConnectMethods();
            String          address1 = "";
            String          address2 = "";
            Customer        result   = new Customer();

            result.CustomerID = customerId;
            try
            {
                eConnectType      myEConnectType = new eConnectType();
                RQeConnectOutType myReqType      = new RQeConnectOutType();
                eConnectOut       myeConnectOut  = new eConnectOut();
                myeConnectOut.ACTION     = 1;
                myeConnectOut.DOCTYPE    = "Customer";
                myeConnectOut.OUTPUTTYPE = 2;
                myeConnectOut.INDEX1FROM = customerId;
                myeConnectOut.INDEX1TO   = customerId;
                myeConnectOut.FORLIST    = 1;
                // Add the eConnectOut XML node object to the RQeConnectOutType schema object
                myReqType.eConnectOut = myeConnectOut;

                // Add the RQeConnectOutType schema object to the eConnect document object
                RQeConnectOutType[] myReqOutType = { myReqType };
                myEConnectType.RQeConnectOutType = myReqOutType;

                // Serialize the eConnect document object to a memory stream
                MemoryStream  myMemStream  = new MemoryStream();
                XmlSerializer mySerializer = new XmlSerializer(myEConnectType.GetType());
                mySerializer.Serialize(myMemStream, myEConnectType);
                myMemStream.Position = 0;

                // Load the serialized eConnect document object into an XML document object
                XmlTextReader xmlreader     = new XmlTextReader(myMemStream);
                XmlDocument   myXmlDocument = new XmlDocument();
                myXmlDocument.Load(xmlreader);

                // Call the eConnect_Requester method of the eConnectMethods object to retrieve specified XML data
                string      reqDoc         = eConnect.eConnect_Requester(sConnectionString, EnumTypes.ConnectionStringType.SqlClient, myXmlDocument.OuterXml);
                XmlDocument resultDocument = new XmlDocument();
                resultDocument.LoadXml(reqDoc);

                XmlNodeList customerNodeList = resultDocument.GetElementsByTagName("Customer");

                if (customerNodeList.Count == 0)
                {
                    return(null);
                }
                else
                {
                    //Here we have retrieved the customer document
                    foreach (XmlNode node in customerNodeList[0])
                    {
                        if (node.Name.Equals("ADDRESS1"))
                        {
                            address1 = node.InnerText;
                        }
                        if (node.Name.Equals("ADDRESS2"))
                        {
                            address2 = node.InnerText;
                        }
                        else if (node.Name.Equals("ADRSCODE"))
                        {
                            result.CustomerAddress.AddressCode = node.InnerText;
                        }
                        else if (node.Name.Equals("CITY"))
                        {
                            result.CustomerAddress.City = node.InnerText;
                        }
                        else if (node.Name.Equals("CNTCPRSN"))
                        {
                            result.CustomerAddress.AddressContact = node.InnerText;
                        }
                        else if (node.Name.Equals("COUNTRY"))
                        {
                            result.CustomerAddress.Country = node.InnerText;
                        }
                        else if (node.Name.Equals("CUSTCLAS"))
                        {
                            result.CustomerClass = node.InnerText;
                        }
                        else if (node.Name.Equals("CUSTNAME"))
                        {
                            result.CustomerName = node.InnerText;
                        }
                        else if (node.Name.Equals("PHONE1"))
                        {
                            result.CustomerAddress.PhoneNumber1 = node.InnerText;
                        }
                        else if (node.Name.Equals("PHONE2"))
                        {
                            result.CustomerAddress.PhoneNumber2 = node.InnerText;
                        }
                        else if (node.Name.Equals("FAX"))
                        {
                            result.CustomerAddress.FaxNumber = node.InnerText;
                        }
                        else if (node.Name.Equals("STATE"))
                        {
                            result.CustomerAddress.State = node.InnerText;
                        }
                        else if (node.Name.Equals("ZIP"))
                        {
                            result.CustomerAddress.Zipcode = node.InnerText;
                        }
                        else if (node.Name.Equals("STMTNAME"))
                        {
                            result.StatementName = node.InnerText;
                        }
                        else if (node.Name.Equals("SHRTNAME"))
                        {
                            result.ShortName = node.InnerText;
                        }
                        else if (node.Name.Equals("PRBTADCD"))
                        {
                            result.BillTo = node.InnerText;
                        }
                        else if (node.Name.Equals("PRSTADCD"))
                        {
                            result.ShipTo = node.InnerText;
                        }
                        else if (node.Name.Equals("STADDRCD"))
                        {
                            result.StatementTo = node.InnerText;
                        }
                        else if (node.Name.Equals("USERDEF1"))
                        {
                            result.Type = node.InnerText;
                        }
                        else if (node.Name.Equals("USERDEF2"))
                        {
                            result.StudentStatus = node.InnerText;
                        }
                        else if (node.Name.Equals("INACTIVE"))
                        {
                            if (node.InnerText.Equals("1"))
                            {
                                result.Inactive = true;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
            result.CustomerAddress.AddressString = address1 + address2;
            return(result);
        }