public static Guid CreateInspectionPortalQA(HttpClient httpClient, InspectionPortalQA questionSetup) { var questionObject = new JObject() { ["blu_name"] = questionSetup.Name, ["blu_answer"] = questionSetup.Answer, ["blu_number"] = questionSetup.Number.ToString(), ["blu_type"] = questionSetup.Type, }; if (questionSetup.PropertyId != Guid.Empty) { questionObject["*****@*****.**"] = "/blu_inspections(" + questionSetup.PropertyId + ")"; } if (questionSetup.InspectionId != Guid.Empty) { questionObject["*****@*****.**"] = "/blu_inspectiondetails(" + questionSetup.InspectionId + ")"; } if (questionSetup.OpportunityId != Guid.Empty) { questionObject["*****@*****.**"] = "/opportunities(" + questionSetup.OpportunityId + ")"; } if (questionSetup.OrderId != Guid.Empty) { questionObject["*****@*****.**"] = "/salesorders(" + questionSetup.OrderId + ")"; } if (questionSetup.Id != Guid.Empty) { questionObject["*****@*****.**"] = "/blu_questionsetups(" + questionSetup.Id + ")"; } var request = new HttpRequestMessage(HttpMethod.Post, webApiQueryUrl + "blu_inspectionportalqas") { Content = new StringContent(questionObject.ToString(), Encoding.UTF8, "application/json") }; var response = httpClient.SendAsync(request); if (!response.Result.IsSuccessStatusCode) { var error = response.Result.Content.ReadAsStringAsync(); return(Guid.Empty); } var recordUrl = response.Result.Headers.GetValues("OData-EntityId").FirstOrDefault(); if (recordUrl == null) { return(Guid.Empty); } var splitRetrievedData = recordUrl.Split('[', '(', ')', ']'); var recordId = Guid.Parse(splitRetrievedData[1]); return(recordId); }
public static List <InspectionPortalQA> QueryQuestionSetupByQuestionSetup(HttpClient httpClient, Guid productId) { var questionSetups = new List <InspectionPortalQA>(); var fetchXml = string.Empty; fetchXml += "<fetch>"; fetchXml += " <entity name='blu_blu_questionsetup_product' >"; fetchXml += " <attribute name='blu_questionsetupid' />"; fetchXml += " <attribute name='productid' />"; fetchXml += " <link-entity name='product' from='productid' to='productid' linke-type='inner' >"; fetchXml += " <attribute name='name' />"; fetchXml += " <attribute name='parentproductid' />"; fetchXml += " <filter>"; fetchXml += " <condition attribute='blu_requiredfor' operator='eq' value='" + productId + "' />"; fetchXml += " <filter>"; fetchXml += " </link-entity>"; fetchXml += " <link-entity name='blu_questionsetup' from='blu_questionsetupid' to='blu_questionsetupid' linke-type='inner' >"; fetchXml += " <attribute name='blu_questionsetupid' />"; fetchXml += " <attribute name='blu_name' />"; fetchXml += " <attribute name='blu_number' />"; fetchXml += " <attribute name='blu_type' />"; fetchXml += " <attribute name='blu_answerdatatype' />"; fetchXml += " <attribute name='blu_optionvalues' />"; fetchXml += " <attribute name='blu_uniquename' />"; fetchXml += " </link-entity>"; fetchXml += " </entity>"; fetchXml += "</fetch>"; var encodedQuery = SharedService.UrlEncode(fetchXml); var odataQuery = webApiQueryUrl + "blu_blu_questionsetup_productset?fetchXml=" + encodedQuery; var retrieveResponse = httpClient.GetAsync(odataQuery); var jRetrieveResponse = JObject.Parse(retrieveResponse.Result.Content.ReadAsStringAsync().Result); dynamic systemUserObject = JsonConvert.DeserializeObject(jRetrieveResponse.ToString()); if (systemUserObject == null || systemUserObject.value == null) { return(null); } if (systemUserObject.value.Count == 0) { return(null); } foreach (var data in systemUserObject.value) { var questionSetup = new InspectionPortalQA() { Id = data["blu_questionsetupid"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetupid"].ToString()), AnswerDataType = data["blu_questionsetup2_x002e_blu_answerdatatype"] == null ? 0 : (int)data["blu_questionsetup2_x002e_blu_answerdatatype"], AnswerDataTypeText = data["*****@*****.**"] == null ? "" : data["*****@*****.**"].ToString(), Name = data["blu_questionsetup2_x002e_blu_name"] == null ? "" : data["blu_questionsetup2_x002e_blu_name"].ToString(), UniqueQuestionName = data["blu_questionsetup2_x002e_blu_uniquename"] == null ? "" : data["blu_questionsetup2_x002e_blu_uniquename"].ToString(), Number = data["blu_questionsetup2_x002e_blu_number"] == null ? -99 : (int)data["blu_questionsetup2_x002e_blu_number"], OptionSetValues = data["blu_questionsetup2_x002e_blu_optionvalues"] == null ? new string[0] : data["blu_questionsetup2_x002e_blu_optionvalues"].ToString().Split(','), Type = data["blu_questionsetup2_x002e_blu_type"] == null ? 0 : (int)data["blu_questionsetup2_x002e_blu_type"], //Id = data["blu_questionsetup2_x002e_blu_questionsetupid"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetup2_x002e_blu_questionsetupid"].ToString()), //AnswerDataType = data["blu_questionsetup2_x002e_blu_answerdatatype"] == null ? // 0 : (int)data["blu_questionsetup2_x002e_blu_answerdatatype"], //AnswerDataTypeText = data["*****@*****.**"] == null ? //"" : data["*****@*****.**"].ToString(), //Name = data["blu_questionsetup2_x002e_blu_name"] == null ? "" : data["blu_questionsetup2_x002e_blu_name"].ToString(), //UniqueQuestionName = data["blu_questionsetup2_x002e_blu_uniquename"] == null ? "" : data["blu_questionsetup2_x002e_blu_uniquename"].ToString(), //Number = data["blu_questionsetup2_x002e_blu_number"] == null ? // -99 : (int)data["blu_questionsetup2_x002e_blu_number"], //OptionSetValues = data["blu_questionsetup2_x002e_blu_optionvalues"] == null // ? new string[0] // : data["blu_questionsetup2_x002e_blu_optionvalues"].ToString().Split(','), //Type = data["blu_questionsetup2_x002e_blu_type"] == null ? // 0 : (int)data["blu_questionsetup2_x002e_blu_type"], }; questionSetup.UniqueName = Guid.NewGuid().ToString().Replace("-", ""); questionSetups.Add(questionSetup); } return(questionSetups); }
public static List <InspectionPortalQA> QueryTermsAndConditionsByQuestionSetup(HttpClient httpClient, Guid questionSetupId) { var questionSetups = new List <InspectionPortalQA>(); var fetchXml = string.Empty; fetchXml += "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>"; fetchXml += " <entity name='blu_parentcategorysetup_questionsetup' >"; fetchXml += " <attribute name='blu_questionsetupidone' />"; fetchXml += " <attribute name='blu_questionsetupidtwo' />"; fetchXml += " <link-entity name='blu_questionsetup' from='blu_questionsetupid' to='blu_questionsetupidone' link-type='inner' >"; fetchXml += " <filter>"; fetchXml += " <condition attribute='blu_questionsetupid' operator='eq' value='" + questionSetupId + "' />"; fetchXml += " <condition attribute='blu_requiredfor' operator='eq' value='" + (int)InspectionPortalQA_RequiredFor.Portal + "' />"; fetchXml += " </filter>"; fetchXml += " </link-entity>"; fetchXml += " <link-entity name='blu_questionsetup' from='blu_questionsetupid' to='blu_questionsetupidtwo' >"; fetchXml += " <attribute name='blu_questionsetupid' />"; fetchXml += " <attribute name='blu_name' />"; fetchXml += " <attribute name='blu_number' />"; fetchXml += " <attribute name='blu_type' />"; fetchXml += " <attribute name='blu_answerdatatype' />"; fetchXml += " <attribute name='blu_optionvalues' />"; fetchXml += " <attribute name='blu_uniquename' />"; fetchXml += " <filter>"; fetchXml += " <condition attribute='blu_requiredfor' operator='eq' value='" + (int)InspectionPortalQA_RequiredFor.Portal + "' />"; fetchXml += " <condition attribute='blu_type' operator='eq' value='858890002' />"; fetchXml += " </filter>"; fetchXml += " </link-entity>"; fetchXml += " </entity>"; fetchXml += "</fetch>"; var encodedQuery = SharedService.UrlEncode(fetchXml); var odataQuery = webApiQueryUrl + "blu_parentcategorysetup_questionsetupset?fetchXml=" + encodedQuery; var retrieveResponse = httpClient.GetAsync(odataQuery); var jRetrieveResponse = JObject.Parse(retrieveResponse.Result.Content.ReadAsStringAsync().Result); dynamic systemUserObject = JsonConvert.DeserializeObject(jRetrieveResponse.ToString()); if (systemUserObject == null || systemUserObject.value == null) { return(null); } if (systemUserObject.value.Count == 0) { return(null); } foreach (var data in systemUserObject.value) { var questionSetup = new InspectionPortalQA() { Id = data["blu_questionsetup2_x002e_blu_questionsetupid"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetup2_x002e_blu_questionsetupid"].ToString()), AnswerDataType = data["blu_questionsetup2_x002e_blu_answerdatatype"] == null ? 0 : (int)data["blu_questionsetup2_x002e_blu_answerdatatype"], AnswerDataTypeText = data["*****@*****.**"] == null ? "" : data["*****@*****.**"].ToString(), Name = data["blu_questionsetup2_x002e_blu_name"] == null ? "" : data["blu_questionsetup2_x002e_blu_name"].ToString(), UniqueQuestionName = data["blu_questionsetup2_x002e_blu_uniquename"] == null ? "" : data["blu_questionsetup2_x002e_blu_uniquename"].ToString(), Number = data["blu_questionsetup2_x002e_blu_number"] == null ? -99 : (int)data["blu_questionsetup2_x002e_blu_number"], OptionSetValues = data["blu_questionsetup2_x002e_blu_optionvalues"] == null ? new string[0] : data["blu_questionsetup2_x002e_blu_optionvalues"].ToString().Split(','), Type = data["blu_questionsetup2_x002e_blu_type"] == null ? 0 : (int)data["blu_questionsetup2_x002e_blu_type"], IsMandatory = data["blu_questionsetup1_x002e_blu_answerismandatory"] == null ? false : (bool)data["blu_questionsetup1_x002e_blu_answerismandatory"], }; questionSetup.UniqueName = Guid.NewGuid().ToString().Replace("-", ""); questionSetups.Add(questionSetup); } return(questionSetups); }
public static List <InspectionPortalQA> QueryQuestionSetupByQuestionSetup(HttpClient httpClient, List <Guid> productIds, Guid priceListId) { var stockingProductIds = new List <Guid>(); foreach (var productId in productIds) { var product = ProductService.QueryProduct(httpClient, productId); if (product.StockingProductId != Guid.Empty && !stockingProductIds.Contains(product.StockingProductId)) { stockingProductIds.Add(product.StockingProductId); } } var questionSetups = new List <InspectionPortalQA>(); var fetchXml = string.Empty; fetchXml += "<fetch>"; fetchXml += " <entity name='blu_blu_questionsetup_product' >"; fetchXml += " <attribute name='blu_questionsetupid' />"; fetchXml += " <attribute name='productid' />"; fetchXml += " <link-entity name='product' from='productid' to='productid' linke-type='inner' >"; fetchXml += " <attribute name='name' />"; fetchXml += " <attribute name='parentproductid' />"; fetchXml += " <filter>"; if (stockingProductIds != null && stockingProductIds.Count > 0) { fetchXml += " <condition attribute='productid' operator='in'>"; foreach (var stockingProductId in stockingProductIds) { fetchXml += " <value>" + stockingProductId + "</value>"; } fetchXml += " </condition>"; } fetchXml += " </filter>"; fetchXml += " </link-entity>"; fetchXml += " <link-entity name='blu_questionsetup' from='blu_questionsetupid' to='blu_questionsetupid' linke-type='inner' >"; fetchXml += " <attribute name='blu_questionsetupid' />"; fetchXml += " <attribute name='blu_name' />"; fetchXml += " <attribute name='blu_number' />"; fetchXml += " <attribute name='blu_type' />"; fetchXml += " <attribute name='blu_answerdatatype' />"; fetchXml += " <attribute name='blu_optionvalues' />"; fetchXml += " <attribute name='blu_uniquename' />"; fetchXml += " <attribute name='blu_answerismandatory' />"; fetchXml += " <attribute name='blu_additionalproduct' />"; fetchXml += " </link-entity>"; fetchXml += " </entity>"; fetchXml += "</fetch>"; var encodedQuery = SharedService.UrlEncode(fetchXml); var odataQuery = webApiQueryUrl + "blu_blu_questionsetup_productset?fetchXml=" + encodedQuery; var retrieveResponse = httpClient.GetAsync(odataQuery); var jRetrieveResponse = JObject.Parse(retrieveResponse.Result.Content.ReadAsStringAsync().Result); dynamic systemUserObject = JsonConvert.DeserializeObject(jRetrieveResponse.ToString()); if (systemUserObject != null && systemUserObject.value != null) { if (systemUserObject.value.Count != 0) { foreach (var data in systemUserObject.value) { var questionSetup = new InspectionPortalQA() { Id = data["blu_questionsetupid"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetupid"].ToString()), AnswerDataType = data["blu_questionsetup2_x002e_blu_answerdatatype"] == null ? 0 : (int)data["blu_questionsetup2_x002e_blu_answerdatatype"], AnswerDataTypeText = data["*****@*****.**"] == null ? "" : data["*****@*****.**"].ToString(), Name = data["blu_questionsetup2_x002e_blu_name"] == null ? "" : data["blu_questionsetup2_x002e_blu_name"].ToString(), UniqueQuestionName = data["blu_questionsetup2_x002e_blu_uniquename"] == null ? "" : data["blu_questionsetup2_x002e_blu_uniquename"].ToString(), Number = data["blu_questionsetup2_x002e_blu_number"] == null ? -99 : (int)data["blu_questionsetup2_x002e_blu_number"], OptionSetValues = data["blu_questionsetup2_x002e_blu_optionvalues"] == null ? new string[0] : data["blu_questionsetup2_x002e_blu_optionvalues"].ToString().Split(','), Type = data["blu_questionsetup2_x002e_blu_type"] == null ? 0 : (int)data["blu_questionsetup2_x002e_blu_type"], IsMandatory = data["blu_questionsetup2_x002e_blu_answerismandatory"] == null ? false : (bool)data["blu_questionsetup2_x002e_blu_answerismandatory"], AdditionalProductId = data["blu_questionsetup2_x002e_blu_additionalproduct"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetup2_x002e_blu_additionalproduct"].ToString()), }; questionSetup.UniqueName = Guid.NewGuid().ToString().Replace("-", ""); questionSetups.Add(questionSetup); } } } fetchXml = string.Empty; fetchXml += "<fetch>"; fetchXml += " <entity name='blu_blu_questionsetup_pricelevel' >"; fetchXml += " <filter type='and' >"; fetchXml += " <condition attribute='pricelevelid' operator='eq' value='" + priceListId + "' />"; fetchXml += " </filter>"; fetchXml += " <link-entity name='blu_questionsetup' from='blu_questionsetupid' to='blu_questionsetupid' link-type='inner' >"; fetchXml += " <attribute name='blu_questionsetupid' />"; fetchXml += " <attribute name='blu_name' />"; fetchXml += " <attribute name='blu_number' />"; fetchXml += " <attribute name='blu_type' />"; fetchXml += " <attribute name='blu_answerdatatype' />"; fetchXml += " <attribute name='blu_optionvalues' />"; fetchXml += " <attribute name='blu_uniquename' />"; fetchXml += " <attribute name='blu_answerismandatory' />"; fetchXml += " <attribute name='blu_additionalproduct' />"; fetchXml += " </link-entity>"; fetchXml += " </entity>"; fetchXml += "</fetch>"; encodedQuery = SharedService.UrlEncode(fetchXml); odataQuery = webApiQueryUrl + "blu_blu_questionsetup_pricelevelset?fetchXml=" + encodedQuery; retrieveResponse = httpClient.GetAsync(odataQuery); jRetrieveResponse = JObject.Parse(retrieveResponse.Result.Content.ReadAsStringAsync().Result); systemUserObject = JsonConvert.DeserializeObject(jRetrieveResponse.ToString()); if (systemUserObject == null || systemUserObject.value == null) { return(questionSetups); } if (systemUserObject.value.Count == 0) { return(questionSetups); } foreach (var data in systemUserObject.value) { var questionSetup = new InspectionPortalQA() { Id = data["blu_questionsetupid"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetupid"].ToString()), AnswerDataType = data["blu_questionsetup1_x002e_blu_answerdatatype"] == null ? 0 : (int)data["blu_questionsetup1_x002e_blu_answerdatatype"], AnswerDataTypeText = data["*****@*****.**"] == null ? "" : data["*****@*****.**"].ToString(), Name = data["blu_questionsetup1_x002e_blu_name"] == null ? "" : data["blu_questionsetup1_x002e_blu_name"].ToString(), UniqueQuestionName = data["blu_questionsetup1_x002e_blu_uniquename"] == null ? "" : data["blu_questionsetup1_x002e_blu_uniquename"].ToString(), Number = data["blu_questionsetup1_x002e_blu_number"] == null ? -99 : (int)data["blu_questionsetup1_x002e_blu_number"], OptionSetValues = data["blu_questionsetup1_x002e_blu_optionvalues"] == null ? new string[0] : data["blu_questionsetup1_x002e_blu_optionvalues"].ToString().Split(','), Type = data["blu_questionsetup1_x002e_blu_type"] == null ? 0 : (int)data["blu_questionsetup1_x002e_blu_type"], IsMandatory = data["blu_questionsetup1_x002e_blu_answerismandatory"] == null ? false : (bool)data["blu_questionsetup1_x002e_blu_answerismandatory"], AdditionalProductId = data["blu_questionsetup1_x002e_blu_additionalproduct"] == null ? Guid.Empty : Guid.Parse(data["blu_questionsetup1_x002e_blu_additionalproduct"].ToString()), }; questionSetup.UniqueName = Guid.NewGuid().ToString().Replace("-", ""); questionSetup.Answer = questionSetup.Type == (int)InspectionPortalQA_Type.TC ? "true" : ""; questionSetups.Add(questionSetup); } return(questionSetups); }