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; RESTCustomersDB rESTCustomersDB = new RESTCustomersDB(base.RESTConfig); //1)Get all rows. Note: Create "select * from MyTable". DB filter must be mannually done List <GetCustomersView> rawResult = rESTCustomersDB.GetAll(out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError412_PreConditionFailed(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Customers/GetAll"); return(errorResult); } //2)Apply filters in result set. List <GetCustomersView> filteredResult = rESTCustomersDB.Filter(rawResult, GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Customers/GetAll"); return(errorResult); } //3)Cut data, apply ordering List <GetCustomersView> orderedResultAndTrimed = rESTCustomersDB.OrderByAndTrim(filteredResult, GeneralBodyGet, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Customers/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("Customers/GetAll", httpResponseMessage); createdResult.Value = resultContainer; return(createdResult); } catch (Exception ex) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, ex.Message, "x", "Customers/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; RESTCustomersDB rESTCustomersDB = new RESTCustomersDB(base.RESTConfig); DeleteCustomersView viewToDelete = rESTCustomersDB.TryParse <DeleteCustomersView>(GeneralBodyPost, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError412_PreConditionFailed(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Customers/Insert"); return(errorResult); } rESTCustomersDB.TryDelete(viewToDelete, out restExceptionError); if (restExceptionError != null) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, restExceptionError.ExceptionMessage, restExceptionError.InternalMessage, "Customers/GetAll"); return(errorResult); } resultContainer.ReportPostHeader.Message = "Success"; HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.StatusCode = System.Net.HttpStatusCode.OK; CreatedResult createdResult = new CreatedResult("Customers/Delete", httpResponseMessage); createdResult.Value = resultContainer; createdResult.StatusCode = 200; return(createdResult); } catch (Exception ex) { CreatedResult errorResult = helperRestError.GetError500_InternalServerError(transactionID, ex.Message, "x", "Customers/Create"); return(errorResult); } }