public dynamic Post([FromBody] GetOutstandingInvoicesDto getOutstandingInvoicesDto, [FromUri] GetOutstandingInvoiceParameter parameter) { XmlToModelConverter xmlToModelConverter = new XmlToModelConverter(); xmlRequest = this.OutstandingInvoiceService.CreateRequestXml(getOutstandingInvoicesDto, parameter); var response = this.OutstandingInvoiceService.PostXml(parameter, xmlRequest); if (response.IsSuccessStatusCode) { if (parameter.TransactionName.Equals("ARSummary")) { ARSummary openinvoices = new ARSummary(); openinvoices = xmlToModelConverter.Deserialize <ARSummary>(response.Content.ReadAsStringAsync().Result); return(openinvoices); } else if (parameter.TransactionName.Equals("AROpenInvoices")) { AROpenInvoicesResult openinvoicesResult = new AROpenInvoicesResult(); openinvoicesResult.AROpenInvoices = xmlToModelConverter.Deserialize <AROpenInvoices>(response.Content.ReadAsStringAsync().Result); openinvoicesResult.Pagination = new PagingModel(); IQueryable <Invoice> invoiceQuery = openinvoicesResult.AROpenInvoices.Invoice.AsQueryable(); this.OutstandingInvoiceService.GetShiptos(invoiceQuery, getOutstandingInvoicesDto.CustomerNumber); invoiceQuery = string.IsNullOrWhiteSpace(parameter.Sort) ? invoiceQuery.OrderBy <Invoice>("InvoiceDate") : invoiceQuery.OrderBy <Invoice>(parameter.Sort); var pagedResult = this.OutstandingInvoiceService.ApplyPaging <Invoice>((PagingParameterBase)parameter, (PagingResultBase)openinvoicesResult.Pagination, invoiceQuery).ToList(); // Frontend Model AROpenInvoicesResult openinvoices = new AROpenInvoicesResult(); openinvoices.AROpenInvoices = new AROpenInvoices(); openinvoices.AROpenInvoices = openinvoicesResult.AROpenInvoices; openinvoices.PagedOpenInvoices = new AROpenInvoices(); openinvoices.PagedOpenInvoices.Invoice = pagedResult.ToList <Invoice>(); openinvoices.Pagination = new PagingModel(openinvoicesResult.Pagination.Page, openinvoicesResult.Pagination.PageSize, openinvoicesResult.Pagination.DefaultPageSize, openinvoicesResult.Pagination.TotalCount); if (openinvoicesResult.Pagination.Page > 1) { openinvoices.Pagination.PrevPageUri = this.OutstandingInvoiceService.GetLink(openinvoicesResult.Pagination, this.Request, openinvoicesResult.Pagination.Page - 1); } if (openinvoicesResult.Pagination.Page < openinvoicesResult.Pagination.TotalPages) { openinvoices.Pagination.NextPageUri = this.OutstandingInvoiceService.GetLink(openinvoicesResult.Pagination, this.Request, openinvoicesResult.Pagination.Page + 1); } return(openinvoices); } else { ARInvoiceDetail openinvoices = new ARInvoiceDetail(); openinvoices = xmlToModelConverter.Deserialize <ARInvoiceDetail>(response.Content.ReadAsStringAsync().Result); return(openinvoices); } } return(response); }
public HttpResponseMessage PayOpenInvoicesJob(PayOpenInvoicesRequest invoiceRequest) { XmlToModelConverter xmlToModelConverter = new XmlToModelConverter(); string request = xmlToModelConverter.Serialize <PayOpenInvoicesRequest>(invoiceRequest); //string request = CreatePayInvoiceRequest(invoiceRequest); GetOutstandingInvoiceParameter parameter = new GetOutstandingInvoiceParameter(); parameter.TransactionName = "PayOpenInvoices"; var response = this.PostXml(parameter, request); return(response); }
public OutstandingOrderModel Post([FromBody] GetOutstandingOrderDto getOrderDto, [FromUri] GetOutstandingInvoiceParameter parameter) { OutstandingOrderModel openinvoices = null; XmlToModelConverter xmlToModelConverter = new XmlToModelConverter(); xmlRequest = this.OutstandingInvoiceService.CreateOrderRequestXml(getOrderDto, parameter); var response = this.OutstandingInvoiceService.PostXml(parameter, xmlRequest); if (response.IsSuccessStatusCode) { openinvoices = xmlToModelConverter.Deserialize <OutstandingOrderModel>(response.Content.ReadAsStringAsync().Result); } return(openinvoices); }
public bool PayOpenInvoicesRequest(PayOpenInvoicesRequest invoiceRequest, string invoiceNumber) { XmlToModelConverter xmlToModelConverter = new XmlToModelConverter(); string request = xmlToModelConverter.Serialize <PayOpenInvoicesRequest>(invoiceRequest); LogHelper.For(this).Info(request, "InforRequest"); //string request = CreatePayInvoiceRequest(invoiceRequest); GetOutstandingInvoiceParameter parameter = new GetOutstandingInvoiceParameter(); Boolean status; parameter.TransactionName = "PayOpenInvoices"; var response = this.PostXml(parameter, request); if (!response.IsSuccessStatusCode) { string reason = response.ReasonPhrase + " : " + response.StatusCode + " : " + invoiceRequest.CreditCard.CCAuthorizationNumber + " Infor payment failed for " + invoiceNumber; LogHelper.For(this).Info(reason, "Failed InforResponse"); status = false; InvoiceTransactionHandler handler = new InvoiceTransactionHandler(this.unitOfWork); handler.CreateInvoiceTransaction(invoiceRequest, reason, status); //throw error to frontend return(false); } XmlDocument xmlDocument = this.xmlHelper.CreateXmlDocument(response.Content.ReadAsStringAsync().Result); string responseString = JsonConvert.SerializeXmlNode(xmlDocument); if (responseString.ContainsIgnoreCase(customSettings.InforSuccessMessage)) { LogHelper.For(this).Info(response.StatusCode + " : " + invoiceRequest.CreditCard.CCAuthorizationNumber + " Infor payment successful for " + invoiceNumber, "successful InforResponse"); status = true; InvoiceTransactionHandler handler = new InvoiceTransactionHandler(this.unitOfWork); handler.CreateInvoiceTransaction(invoiceRequest, responseString, status); return(true); } else { //log in appl log and db for failed,invoice,amount, LogHelper.For(this).Info(response.StatusCode + " : " + invoiceRequest.CreditCard.CCAuthorizationNumber + " Infor payment failed for " + invoiceNumber, "Failed InforResponse"); status = false; InvoiceTransactionHandler handler = new InvoiceTransactionHandler(this.unitOfWork); handler.CreateInvoiceTransaction(invoiceRequest, responseString, status); //throw error to frontend return(false); } }