public taPMTransactionInsert PrepGPInvoice(APInvoiceECDto invoiceEC)
        {
            try
            {
                string   error = string.Empty;
                DateTime dateValue;

                if (invoiceEC.BACHNUMB.Trim() == string.Empty)
                {
                    invoiceEC.BACHNUMB = _config.Value.APInvoiceBatch;
                }

                if (DateTime.TryParse(invoiceEC.DOCDATE.ToString(), out dateValue))
                {
                    invoiceEC.DOCDATE = dateValue.Date;
                }
                else
                {
                    invoiceEC.DOCDATE = DateTime.Today;
                }

                if (DateTime.TryParse(invoiceEC.PSTGDATE.ToString(), out dateValue))
                {
                    invoiceEC.PSTGDATE = dateValue.Date;
                }
                else
                {
                    invoiceEC.PSTGDATE = invoiceEC.DOCDATE;
                }

                var pmTransaction = Mapper.Map <taPMTransactionInsert>(invoiceEC);

                pmTransaction.VCHNUMWK = DataAccess.GetNextVoucherNumber(ref error);
                pmTransaction.DOCTYPE  = 1;                //1 = Invoice

                if (pmTransaction.PRCHAMNT == 0)
                {
                    pmTransaction.PRCHAMNT = pmTransaction.DOCAMNT;
                }

                pmTransaction.DOCAMNT = pmTransaction.PRCHAMNT + pmTransaction.MSCCHAMT + pmTransaction.TAXAMNT + pmTransaction.FRTAMNT;

                pmTransaction.CHRGAMNT = pmTransaction.DOCAMNT;

                pmTransaction.MDFUSRID      = "eConnect";
                pmTransaction.BatchCHEKBKID = _config.Value.APInvoiceCheckbookID;

                return(pmTransaction);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        public IActionResult ImportInvoice([FromBody] APInvoiceECDto invoiceEC, [FromQuery] string Key, [FromQuery] string Timestamp, [FromQuery] string Signature)      //[FromBody] InvoiceECDto invoiceEC
        {
            var sw = new Stopwatch();

            sw.Start();
            decimal elapsedTime = 0;

            _logger.LogInformation(LoggingEvents.GET_VENDOR, $"ImportInvoice request parameters: {Key}, {Timestamp}, {Signature}");

            //if (string.IsNullOrEmpty(Key) || string.IsNullOrEmpty(Timestamp) || string.IsNullOrEmpty(Signature))
            //{
            //	return Unauthorized();
            //}

            if (invoiceEC == null)
            {
                return(BadRequest());
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var pmTransaction = _importInvoice.PrepGPInvoice(invoiceEC);

            var response = _importInvoice.ImportGPInvoice(pmTransaction);

            sw.Stop();
            elapsedTime      = Convert.ToDecimal(sw.ElapsedMilliseconds);
            response.Elapsed = elapsedTime.ToString();

            return(Ok(response));

            //return Ok(null);
        }