public OperationResult RejectInvoice(InvoiceReject invoiceRejectRequest, Guid processId) { OperationResult responseObject = new OperationResult(); try { if (invoiceRejectRequest != null) { JObject invoiceUpdateObject = this.GetInvoiceRejectJsonStructure(invoiceRejectRequest, processId); responseObject = this.InvoiceUpdateRequest(invoiceUpdateObject, invoiceRejectRequest.InvoiceId, processId); } } catch (Exception ex) { LogEventInfo log = new LogEventInfo(LogLevel.Error, Logger.Name, null, "", null, new Exception(ex.ToString())); log.Properties["ProcessID"] = processId; log.Properties["AppID"] = AboxDynamicsBase.Classes.Constants.ApplicationIdWebAPI; log.Properties["MethodName"] = System.Reflection.MethodBase.GetCurrentMethod().Name; Logger.Log(log); //Logger.Error(ex,""); responseObject.Code = ""; responseObject.Message = ex.ToString(); responseObject.IsSuccessful = false; responseObject.Data = null; } return(responseObject); }
private JObject GetInvoiceRejectJsonStructure(InvoiceReject invoiceProperties, Guid processId) { OperationResult result = new OperationResult(); JObject jObject = new JObject(); try { if (invoiceProperties != null) { jObject.Add(InvoiceFields.StatusCode, AboxDynamicsBase.Classes.Constants.RejectedStatusInvoiceDropdownValue); if (!String.IsNullOrEmpty(invoiceProperties.Reason)) { jObject.Add(InvoiceFields.StatusReason, invoiceProperties.Reason); } } return(jObject); } catch (Exception ex) { LogEventInfo log = new LogEventInfo(LogLevel.Error, Logger.Name, null, "", null, new Exception(ex.ToString())); log.Properties["ProcessID"] = processId; log.Properties["AppID"] = AboxDynamicsBase.Classes.Constants.ApplicationIdWebAPI; log.Properties["MethodName"] = System.Reflection.MethodBase.GetCurrentMethod().Name; Logger.Log(log); jObject = null; return(jObject); } }
private object GetRejectSerializationData(InvoiceReject param) { return(new { InvoiceId = param.InvoiceId, ReasonId = param.ReasonId, NarrativeText = param.NarrativeText }); }
public IHttpActionResult RejectInvoice([FromBody] InvoiceReject invoiceRejectRequest) { Guid processId = Guid.NewGuid(); LogEventInfo log = new LogEventInfo(LogLevel.Debug, Logger.Name, $"ProcessID: {processId} Request hacia {Request.RequestUri} con el JSON:**START** {JsonConvert.SerializeObject(invoiceRejectRequest)} **END**"); log.Properties["ProcessID"] = processId; log.Properties["AppID"] = AboxDynamicsBase.Classes.Constants.ApplicationIdWebAPI; log.Properties["MethodName"] = System.Reflection.MethodBase.GetCurrentMethod().Name; Logger.Log(log); EInvoice invoiceProcedures = new EInvoice(); OperationResult response = null; try { if (invoiceRejectRequest != null) { response = invoiceProcedures.RejectInvoice(invoiceRejectRequest, processId); if (response.IsSuccessful) { return(Ok(response)); } else { return(Content(HttpStatusCode.InternalServerError, response)); } } else { return(Content(HttpStatusCode.BadRequest, new OperationResult { Code = "", IsSuccessful = false, Data = null, Message = "La solicitud JSON enviada es incorrecta" })); } } catch (Exception ex) { LogEventInfo logEx = new LogEventInfo(LogLevel.Error, Logger.Name, null, $"Request hacia {Request.RequestUri} con el JSON:**START** {JsonConvert.SerializeObject(invoiceRejectRequest)} **END**", null, new Exception(ex.ToString())); logEx.Properties["ProcessID"] = processId; logEx.Properties["AppID"] = Constants.ApplicationIdWebAPI; logEx.Properties["MethodName"] = System.Reflection.MethodBase.GetCurrentMethod().Name; Logger.Log(logEx); return(Content(HttpStatusCode.InternalServerError, new OperationResult { IsSuccessful = false, Data = null, Message = ex.ToString(), Code = "" })); } }
public Task <IServiceResult <string> > RejectInvoice(InvoiceReject param) { //Essentialy need to Send to the Adjustment Service and then re-fetch the summary again. var mock = GetInvoiceSummary(param.InvoiceId).Result; var result = new Task <IServiceResult <string> >(() => new ServiceResult <string>(Success, string.Empty, true)); result.RunSynchronously(TaskScheduler.Default); return(result); }
public async Task SaveRejection() { try { T360Validator.ValidateRejectInvoice(SelectedReasonId, NarrativeText); var isOk = await ShowConfirmationMessage(Constants.RejectConfirmationMsg, Constants.RejectConfirmation); if (!isOk) { return; } RejectionData = new InvoiceReject(); RejectionData.ReasonId = SelectedReasonId; RejectionData.NarrativeText = NarrativeText; RejectionData.InvoiceId = InvoiceSummary.InvoiceId; IsBusy = true; var serializableData = GetRejectSerializationData(RejectionData); var data = await ServiceInvoker.Instance.InvokeServiceUsingPost <string>(ServiceInvoker.Instance.AppendUrl(ServiceInvoker.RejectInvoiceService), serializableData, true, false); IsBusy = false; Messenger.Default.Send <ResetListParameter>(new ResetListParameter() { }); Messenger.Default.Send <InvoiceParameter>(new InvoiceParameter() { Invoice = null }, Constants.SetInvoice); if (ServiceInvoker.Success.Equals(data)) { Navigator.Navigate(Destination.InvoiceListView); } } catch (T360Exception ex) { string message = getMessages(ex); ShowErrorMessage(message, Constants.RejectionFailed); } }