Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
 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 = ""
                }));
            }
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
            }
        }