Esempio n. 1
0
        public DataTable salesforceQueryID(FieldEntry identifier, String sfUserID, String sfUserPwd, String startDate)
        {
            Salesforce.Helpers.sForceService.SforceService binding = sfLogin(sfUserID, sfUserPwd);



            DataTable dtFields = GenerateIDDataTable();

            try
            {
                QueryResult qr = null;
                binding.QueryOptionsValue                    = new Salesforce.Helpers.sForceService.QueryOptions();
                binding.QueryOptionsValue.batchSize          = 250;
                binding.QueryOptionsValue.batchSizeSpecified = true;


                //String soqlQuery = "SELECT CaseNumber FROM Case WHERE CreatedDate >  " + startDate + ""T00:00:00Z"";
                String soqlQuery = "SELECT " + identifier.FieldIdentifier + Constants.SqlCommand.START_DATE + startDate + Constants.SqlCommand.TIME;

                // Make the query call and get the query results

                qr = binding.query(soqlQuery);



                bool done = false;

                while (!done)
                {
                    sObject[] records = qr.records;
                    if (records != null)
                    {
                        for (int i = 0; i < records.Length; i++)
                        {
                            Salesforce.Helpers.sForceService.sObject con = qr.records[i];
                            sObject m = records[i];

                            string ticket = m.Any[0].InnerText;
                            dtFields.Rows.Add(ticket);
                        }

                        if (qr.done)
                        {
                            done = true;
                        }
                        else
                        {
                            qr = binding.queryMore(qr.queryLocator);
                        }
                    }
                    else
                    {
                        done = true;
                    }
                }
            }
            catch (SoapException e)
            {
                Console.WriteLine("An unexpected error has occurred: " + e.Message +
                                  " Stack trace: " + e.StackTrace);
            }



            return(dtFields);
        }
Esempio n. 2
0
        public DataTable salesforceQueryData(IEnumerable <FieldEntry> fields, IEnumerable <string> entryIds, String sfUserID, String sfUserPwd, String startDate)
        {
            DataTable dt;
            string    controlID  = null;
            string    fieldvalue = null;
            string    fieldname  = null;

            dt = new DataTable();

            Salesforce.Helpers.sForceService.SforceService binding = sfLogin(sfUserID, sfUserPwd);



            DataTable dtFields = GenerateIDDataTable();

            try
            {
                QueryResult qr = null;
                binding.QueryOptionsValue                    = new Salesforce.Helpers.sForceService.QueryOptions();
                binding.QueryOptionsValue.batchSize          = 250;
                binding.QueryOptionsValue.batchSizeSpecified = true;

                String soqlQuery   = Constants.SqlCommand.SELECT;
                bool   firstentry  = true;
                int    countfields = 0;
                foreach (var field in fields)
                {
                    if (field.IsIdentifier)
                    {
                        controlID = field.FieldIdentifier;
                    }
                    countfields++;
                    if (firstentry)
                    {
                        soqlQuery += field.FieldIdentifier;
                        firstentry = false;
                    }
                    else
                    {
                        soqlQuery += Constants.SqlCommand.COMMA_SPACE + field.FieldIdentifier;
                    }


                    dt.Columns.Add(new DataColumn((String)field.FieldIdentifier));
                }
                soqlQuery += Constants.SqlCommand.FROM_CASE_WHERE;

                String soqlQueryID = soqlQuery;
                bool   done        = false;
                foreach (var entryID in entryIds)
                {
                    soqlQueryID += controlID + Constants.SqlCommand.EQUAL + Constants.SqlCommand.SINGLE_QUOTE + entryID + Constants.SqlCommand.SINGLE_QUOTE;
                    qr           = binding.query(soqlQueryID);


                    done = false;
                    while (!done)
                    {
                        sObject[] records = qr.records;
                        if (records != null)
                        {
                            for (int i = 0; i < records.Length; i++)
                            {
                                var row = dt.NewRow();

                                Salesforce.Helpers.sForceService.sObject con = qr.records[i];
                                sObject m = records[i];

                                for (int j = 0; j < countfields; j++)
                                {
                                    fieldname  = m.Any[j].LocalName;
                                    fieldvalue = m.Any[j].InnerText;
                                    if (fieldname == Constants.ReferenceObject.OWNERID)
                                    {
                                        fieldvalue = sfRefSubOject(binding, fieldname, fieldvalue, Constants.ReferenceObject.USERGROUP);
                                    }
                                    else if (fieldname == Constants.ReferenceObject.PARENTID)
                                    {
                                        fieldvalue = sfRefSubOject(binding, fieldname, fieldvalue, Constants.ReferenceObject.CASE);
                                    }
                                    else if (fieldname == Constants.ReferenceObject.LASTMODIFIED_BY_ID)
                                    {
                                        fieldvalue = sfRefSubOject(binding, fieldname, fieldvalue, Constants.ReferenceObject.USER);
                                    }

                                    row[fieldname] = fieldvalue;
                                }


                                dt.Rows.Add(row);
                            }
                            if (qr.done)
                            {
                                done        = true;
                                soqlQueryID = soqlQuery;
                            }
                            else
                            {
                                qr = binding.queryMore(qr.queryLocator);
                            }
                        }
                        else
                        {
                            done = true;
                        }
                    }
                }
                //          String soqlQuery = "SELECT CaseNumber FROM Case WHERE Date_Opened__c >  '2015-10-08'";
            }
            catch (SoapException e)
            {
                Console.WriteLine("An unexpected error has occurred: " + e.Message +
                                  " Stack trace: " + e.StackTrace);
            }



            return(dt);
        }