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; RESTProductsDB rESTProductsDB = new RESTProductsDB(base.RESTConfig); //1)Get all rows. Note: Create "select * from MyTable". DB filter must be mannually done List <GetProductsView> rawResult = rESTProductsDB.GetAll(out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError412_PreConditionFailed(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Products/GetAll"); return(errorResult); } //2)Apply filters in result set. List <GetProductsView> filteredResult = rESTProductsDB.Filter(rawResult, GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Products/GetAll"); return(errorResult); } //3)Cut data, apply ordering List <GetProductsView> orderedResultAndTrimed = rESTProductsDB.OrderByAndTrim(filteredResult, GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Products/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("Products/GetAll", httpResponseMessage); createdResult.Value = resultContainer; return(createdResult); } catch (Exception ex) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, ex.Message, "x", "Products/GetAll"); return(errorResult); } }
public IActionResult Delete(GeneralBodyPost GeneralBodyPost) { string transactionID = Guid.NewGuid().ToString(); string currentURL = this.Request.Method; HelperRestError helperRestError = new HelperRestError(); HelperHTTPLog helperHTTPLog = new HelperHTTPLog(HelperHTTPLog.WhatToLog.All); try { GeneralPostResponse resultContainer = new GeneralPostResponse(); resultContainer.ReportPostHeader.TransactionID = transactionID; RestExceptionError restExceptionError = null; RESTProductsDB rESTProductsDB = new RESTProductsDB(base.RESTConfig); DeleteProductsView viewToDelete = rESTProductsDB.TryParse <DeleteProductsView>(GeneralBodyPost, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError412_PreConditionFailed(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Products/Insert"); return(errorResult); } rESTProductsDB.TryDelete(viewToDelete, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Products/GetAll"); return(errorResult); } resultContainer.ReportPostHeader.Message = "Success"; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.StatusCode = System.Net.HttpStatusCode.OK; CreatedResult createdResult = new CreatedResult("Products/Delete", httpResponseMessage); createdResult.Value = resultContainer; createdResult.StatusCode = 200; return(createdResult); } catch (Exception ex) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, ex.Message, "x", "Products/Create"); return(errorResult); } }