public IActionResult GetAll(GeneralBodyGet GeneralBodyGet) { string transactionID = Guid.NewGuid().ToString(); string currentURL = this.Request.Method; HelperRestError helperRestError = new HelperRestError(); HelperHTTPLog helperHTTPLog = new HelperHTTPLog(HelperHTTPLog.WhatToLog.All); try { RestExceptionError restExceptionError = null; RESTSuppliersDB rESTSuppliersDB = new RESTSuppliersDB(base.RESTConfig); //1)Get all rows. Note: Create "select * from MyTable". DB filter must be mannually done List <GetSuppliersView> rawResult = rESTSuppliersDB.GetAll(out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError412_PreConditionFailed(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Suppliers/GetAll"); return(errorResult); } //2)Apply filters in result set. List <GetSuppliersView> filteredResult = rESTSuppliersDB.Filter(rawResult, GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Suppliers/GetAll"); return(errorResult); } //3)Cut data, apply ordering List <GetSuppliersView> orderedResultAndTrimed = rESTSuppliersDB.OrderByAndTrim(filteredResult, GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Suppliers/GetAll"); return(errorResult); } var finalResult = orderedResultAndTrimed; GeneralGetResponse resultContainer = new GeneralGetResponse(); resultContainer.Data = finalResult; resultContainer.ReportHeader.TotalItensAvailable = rawResult.Count; resultContainer.ReportHeader.TotalItensRetrieved = finalResult.Count; resultContainer.ReportHeader.TransactionID = transactionID; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.StatusCode = System.Net.HttpStatusCode.OK; CreatedResult createdResult = new CreatedResult("Suppliers/GetAll", httpResponseMessage); createdResult.Value = resultContainer; return(createdResult); } catch (Exception ex) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, ex.Message, "x", "Suppliers/GetAll"); return(errorResult); } }
public List <T> GetAllX <T>(List <DataFilterExpressionREST> dataFilterExpressionRESTs, out string error) { error = null; try { Uri basePath = new Uri(wpfConfig.RESTBasePath); Uri requestUri = new Uri(basePath, "CustomerDemographics/GetAllX"); GeneralBodyGet getRequest = new GeneralBodyGet(); getRequest.NumberOfItens = 0; getRequest.ItensToSkip = 0; getRequest.Filters = dataFilterExpressionRESTs; string requestBody = Newtonsoft.Json.JsonConvert.SerializeObject(getRequest); using (var client = new HttpClient()) { client.DefaultRequestHeaders.Clear(); var request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = requestUri, Content = new StringContent(requestBody, Encoding.UTF8, "application/json") }; var response = client.SendAsync(request).Result; var responseContent = response.Content; string responseString = responseContent.ReadAsStringAsync().Result; GeneralGetResponse generalGetResponse = JsonConvert.DeserializeObject <GeneralGetResponse>(responseString); if (response.IsSuccessStatusCode) { Newtonsoft.Json.Linq.JArray jArray = (Newtonsoft.Json.Linq.JArray)generalGetResponse.Data; List <GetCustomerDemographicsView> dataRetrieved = jArray.ToObject <List <GetCustomerDemographicsView> >(); List <T> result = new List <T>(); foreach (GetCustomerDemographicsView item in dataRetrieved) { T modelNotifiedForCustomerDemographicsNew = (T)Activator.CreateInstance(typeof(T)); Cloner.CopyAllTo(typeof(GetCustomerDemographicsView), item, typeof(T), modelNotifiedForCustomerDemographicsNew); result.Add(modelNotifiedForCustomerDemographicsNew); } return(result); } else { error = "Server side refused this request and returned status {0}. Reason {1}. TransactionID:{0}"; error = string.Format(error, response.StatusCode, generalGetResponse.ReportHeader.MessageFromServer, generalGetResponse.ReportHeader.TransactionID); } return(null); } } catch (Exception ex) { error = "Error trying during data request. Request crash: " + ex.Message; } return(null); }
public IActionResult GetAllX(GeneralBodyGet GeneralBodyGet) { string transactionID = Guid.NewGuid().ToString(); string currentURL = this.Request.Method; HelperRestError helperRestError = new HelperRestError(); HelperHTTPLog helperHTTPLog = new HelperHTTPLog(HelperHTTPLog.WhatToLog.All); try { RestExceptionError restExceptionError = null; RESTCustomerDemographicsDB rESTCustomerDemographicsDB = new RESTCustomerDemographicsDB(base.RESTConfig); //1)Get all rows. Note: Create "select * from MyTable". DB filter must be mannually done List <GetCustomerDemographicsView> rawResult = rESTCustomerDemographicsDB.GetAllWithDBFilter(GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError412_PreConditionFailed(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "CustomerDemographics/GetAllX"); return(errorResult); } GeneralGetResponse resultContainer = new GeneralGetResponse(); resultContainer.Data = rawResult; resultContainer.ReportHeader.TotalItensAvailable = 1; resultContainer.ReportHeader.TotalItensRetrieved = 1; resultContainer.ReportHeader.TransactionID = transactionID; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.StatusCode = System.Net.HttpStatusCode.OK; CreatedResult createdResult = new CreatedResult("CustomerDemographics/GetAllX", httpResponseMessage); createdResult.Value = resultContainer; return(createdResult); } catch (Exception ex) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, ex.Message, "x", "CustomerDemographics/GetAllX"); return(errorResult); } }