public List <TicketTable> SearchDocument(string accountNumber = null, int?ticketNumber = null, DateTime?deliveryDate = null) { #region Request Parameters Credentials credentials = new Credentials() { AppUsername = PODEnvironment.GetSetting("AppUsername"), ClientUsername = PODEnvironment.GetSetting("ClientUsername"), AppPassword = PODEnvironment.GetSetting("AppPassword") }; string companyID = PODEnvironment.GetSetting("companyID"); string documentType = PODEnvironment.GetSetting("documentType"); DataFormat dataFormat = DataFormat.JSON; //fill the required columns to be returned from the service List <ResultField> resultDatas = new List <ResultField>(); List <TicketDocumentResultNames> FieldNamesList = Enum.GetValues(typeof(TicketDocumentResultNames)).Cast <TicketDocumentResultNames>().ToList(); List <TicketDocumentResultKeys> FieldKeysList = Enum.GetValues(typeof(TicketDocumentResultKeys)).Cast <TicketDocumentResultKeys>().ToList(); var zippedFields = FieldNamesList.Zip(FieldKeysList, (n, w) => new { Value = n, Key = w }); foreach (var zippedField in zippedFields) { resultDatas.Add(new ResultField() { FieldName = zippedField.Key.ToString(), FieldAlias = zippedField.Value.ToString() }); } //fill the search criteria fields List <DataField> searchDatas = new List <DataField>(); if (!String.IsNullOrWhiteSpace(accountNumber)) { DataField searchData = new DataField() { FieldName = TicketDocumentSearchKeys.fldCust_Acc.ToString(), FieldValue = accountNumber /* "143016" */ }; searchDatas.Add(searchData); } if (ticketNumber.HasValue) { DataField searchData = new DataField() { FieldName = TicketDocumentSearchKeys.fldSAP_Ticket_No.ToString(), FieldValue = ticketNumber.Value.ToString() /* "143016" */ }; searchDatas.Add(searchData); } if (deliveryDate.HasValue) { DataField searchData = new DataField() { FieldName = TicketDocumentSearchKeys.fldDate.ToString(), FieldValue = deliveryDate.Value.ToString("dd/MM/yyyy HH:mm:ss") /* "143016" */ }; searchDatas.Add(searchData); } //DataField searchData2 = new DataField() { FieldName = "fldCust_Acc", FieldValue = null }; //searchDatas.Add(searchData2); #region Zibil //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSerial_No.ToString(), FieldAlias = TicketDocumentFieldNames.SerialNo.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldPOD_Ticket_No.ToString(), FieldAlias = TicketDocumentFieldNames.BarCode.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSAP_Ticket_No.ToString(), FieldAlias = TicketDocumentFieldNames.TicketNo.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldDepot.ToString(), FieldAlias = TicketDocumentFieldNames.Depot.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldDate.ToString(), FieldAlias = TicketDocumentFieldNames.TicketDateDT.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldCust_Acc.ToString(), FieldAlias = TicketDocumentFieldNames.CustomerAcc.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldCust_Name.ToString(), FieldAlias = TicketDocumentFieldNames.CustomerName.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldHaulier_Acc.ToString(), FieldAlias = TicketDocumentFieldNames.HaulierAcc.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldVehicle_Reg.ToString(), FieldAlias = TicketDocumentFieldNames.VehicleReg.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSAP_Quote.ToString(), FieldAlias = TicketDocumentFieldNames.SAPQuote.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldSAP_Invoice.ToString(), FieldAlias = TicketDocumentFieldNames.SAPInvoice.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldPayer.ToString(), FieldAlias = TicketDocumentFieldNames.Payer.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldDate_Imported.ToString(), FieldAlias = TicketDocumentFieldNames.DateImported.ToString() }); //resultDatas.Add(new ResultField() { FieldName = TicketDocumentFieldKeys.fldEDM_ID.ToString(), FieldAlias = TicketDocumentFieldNames.EDMDocumentID.ToString() }); #endregion #endregion EDMOnlineServiceReference.DocumentManagementClient client = new DocumentManagementClient(); Document doc = new EDMOnlineServiceReference.Document(); try { List <TicketTable> ticketDocuments = new List <TicketTable>(); var response = client.DocumentSearch(credentials, companyID, documentType, searchDatas, resultDatas, dataFormat); var responseData = JObject.Parse(response.Data).ToString(); ticketDocuments = JsonConvert.DeserializeAnonymousType(responseData, new { Tables = (List <TicketTable>)null }).Tables; return(ticketDocuments); } catch (Exception ex) { _loggingManager.Log.Error(ex, ex.Source); throw; } }