/// <summary>
        /// Create RM transaction
        /// <param name="transaction">Header of RM transaction</param>
        /// <param name="Distribution">Distribution Account of RM Transaction</param>
        /// <param name="Taxes">Taxes of RM transaction</param>
        /// <param name="company">COMPANY SHORT NAME</param>
        /// <returns>Response Class</returns>
        /// </summary>
        // Log4NetMR.classClsRegistrarLog logW = new Log4NetMR.classClsRegistrarLog();
        public Response TransactionCreate(RMTransactionHeader transaction, RMTransactionDist[] Distribution, RMDocumentTaxes[] Taxes, string company)
        {
            Response          response;
            string            server         = ConfigKey.ReadSetting("SERVER");
            string            transactionXML = string.Empty;
            string            CNX            = "data source=" + server + ";initial catalog=" + company + ";integrated security=SSPI;persist security info=False;packet size=4096";
            var               eConnect       = new eConnectRequest();
            RMTransactionType rmTranType     = new RMTransactionType();

            var getnext = new GetNextDocNumbers();

            getnext.RequireServiceProxy = false;

            try
            {
                string DOCNUMBR = string.Empty;

                if (string.IsNullOrEmpty(transaction.DOCNUMBR))
                {
                    DOCNUMBR = getnext.GetNextRMNumber(IncrementDecrement.Increment, RMPaymentType.RMCreditMemo, CNX);
                }
                else
                {
                    DOCNUMBR = transaction.DOCNUMBR;
                }

                rmTranType.taRMTransaction = SetTransactionValues(transaction, DOCNUMBR);

                if (transaction.CREATEDIST == 0)
                {
                    rmTranType.taRMDistribution_Items = SetDistributionValues(Distribution, DOCNUMBR);
                }
                if (transaction.CreateTaxes == 1)
                {
                    rmTranType.taRMTransactionTaxInsert_Items = SetTaxValues(Taxes, DOCNUMBR);
                }

                transactionXML = SerializeRMTransaction(rmTranType);

                response = eConnect.CreateGPTransaction(CNX, transactionXML);
                return(response);
            }
            catch (Exception ex)
            {
                //logW.LogExeption("Econnect", 2, ex);
                response         = new Response();
                response.SUCCESS = false;
                response.MESSAGE = ex.Message;
                response.STACK   = ex.StackTrace;
                return(response);
            }
            finally
            {
                getnext.Dispose();
            }
        }
Esempio n. 2
0
        public Response CreateRMInvoice(RMTransactionHeader Header, RMTransactionDist[] Distrib, RMDocumentTaxes[] Taxes, string company)
        {
            var      gpservices = new RMTransactionClient();
            Response response;

            response = gpservices.CreateRMTransaction(Header, Distrib, Taxes, company);
            gpservices.Close();

            return(response);
        }
        /// <summary>
        /// Set Header Values
        /// <param name="transaction"></param>
        /// <param name="DOCNUMBR"></param>
        /// </summary>
        private taRMTransaction SetTransactionValues(RMTransactionHeader transaction, string DOCNUMBR)
        {
            try
            {
                var rmTransaction = new taRMTransaction
                {
                    RMDTYPAL = transaction.RMDTYPAL,
                    DOCNUMBR = transaction.DOCNUMBR,
                    //DOCDATE = transaction.DOCDATE.ToString("dd/MM/yyyy"),
                    DOCDATE  = transaction.DOCDATE.ToString("yyyy-MM-dd"),
                    BACHNUMB = transaction.BACHNUMB,
                    CUSTNMBR = transaction.CUSTNMBR,
                    DOCAMNT  = transaction.DOCAMNT,
                    SLSAMNT  = transaction.SLSAMNT,
                    DOCDESCR = transaction.DOCDESCR,
                    ADRSCODE = transaction.ADRSCODE,
                    SLPRSNID = transaction.SLPRSNID,
                    SALSTERR = transaction.SALSTERR,
                    SHIPMTHD = transaction.SHIPMTHD,
                    TAXSCHID = transaction.TAXSCHID,
                    CSTPONBR = transaction.CSTPONBR,
                    COSTAMNT = transaction.COSTAMNT.GetValueOrDefault(),
                    TRDISAMT = transaction.TRDISAMT.GetValueOrDefault(),
                    TRDDISCT = transaction.TRDDISCT.GetValueOrDefault(),
                    FRTAMNT  = transaction.FRTAMNT.GetValueOrDefault(),
                    MISCAMNT = transaction.MISCAMNT.GetValueOrDefault(),
                    TAXAMNT  = transaction.TAXAMNT.GetValueOrDefault(),
                    BKTSLSAM = transaction.BKTSLSAM.GetValueOrDefault(),
                    BKTFRTAM = transaction.BKTFRTAM.GetValueOrDefault(),
                    BKTMSCAM = transaction.BKTMSCAM.GetValueOrDefault(),
                    CASHAMNT = transaction.CASHAMNT.GetValueOrDefault(),
                    CBKIDCSH = transaction.CBKIDCSH,
                    //CASHDATE = transaction.CASHDATE.ToShortDateString(),
                    DCNUMCSH = transaction.DCNUMCSH,
                    CHEKAMNT = transaction.CHEKAMNT.GetValueOrDefault(),
                    CBKIDCHK = transaction.CBKIDCHK,
                    CBKIDCRD = transaction.CBKIDCRD,
                    CHEKNMBR = transaction.CHEKNMBR,
                    //CHEKDATE = transaction.CHEKDATE.ToShortDateString(),
                    DCNUMCHK = transaction.DCNUMCHK,
                    CRCRDAMT = transaction.CRCRDAMT.GetValueOrDefault(),
                    CRCRDNAM = transaction.CRCRDNAM,
                    RCTNCCRD = transaction.RCTNCCRD,
                    //CRCARDDT = transaction.CRCARDDT.ToShortDateString(),
                    DCNUMCRD      = transaction.DCNUMCRD,
                    DISCRTND      = transaction.DISCRTND.GetValueOrDefault(),
                    DISTKNAM      = transaction.DISTKNAM.GetValueOrDefault(),
                    WROFAMNT      = transaction.WROFAMNT.GetValueOrDefault(),
                    PPSAMDED      = transaction.PPSAMDED.GetValueOrDefault(),
                    GSTDSAMT      = transaction.GSTDSAMT.GetValueOrDefault(),
                    PYMTRMID      = transaction.PYMTRMID,
                    DISAVAMT      = transaction.DISAVAMT.GetValueOrDefault(),
                    DSCDLRAM      = transaction.DSCDLRAM.GetValueOrDefault(),
                    DSCPCTAM      = transaction.DSCPCTAM.GetValueOrDefault(),
                    LSTUSRED      = transaction.LSTUSRED,
                    PTDUSRID      = transaction.PTDUSRID,
                    DistRef       = transaction.DistRef,
                    BatchCHEKBKID = transaction.BatchCHEKBKID,
                    //DUEDATE = transaction.DUEDATE.ToShortDateString(),
                    //DISCDATE = transaction.DISCDATE.ToShortDateString(),
                    CURNCYID = transaction.CURNCYID,
                    XCHGRATE = transaction.XCHGRATE.GetValueOrDefault(),
                    RATETPID = transaction.RATETPID,
                    //EXPNDATE = transaction.EXPNDATE.ToShortDateString(),
                    //EXCHDATE = transaction.EXCHDATE.ToShortDateString(),
                    EXGTBDSC = transaction.EXGTBDSC,
                    EXTBLSRC = transaction.EXTBLSRC,
                    RATEEXPR = transaction.RATEEXPR.GetValueOrDefault(),
                    DYSTINCR = transaction.DYSTINCR.GetValueOrDefault(),
                    RATEVARC = transaction.RATEVARC.GetValueOrDefault(),
                    TRXDTDEF = transaction.TRXDTDEF.GetValueOrDefault(),
                    RTCLCMTD = transaction.RTCLCMTD.GetValueOrDefault(),
                    PRVDSLMT = transaction.PRVDSLMT.GetValueOrDefault(),
                    DATELMTS = transaction.DATELMTS.GetValueOrDefault(),
                    //TIME1 = transaction.TIME1.ToShortDateString(),
                    COMDLRAM     = transaction.COMDLRAM.GetValueOrDefault(),
                    COMAPPTO     = transaction.COMAPPTO.GetValueOrDefault(),
                    RequesterTrx = transaction.RequesterTrx.GetValueOrDefault(),
                    CREATEDIST   = transaction.CREATEDIST.GetValueOrDefault(),
                };


                //if (transaction.DOCDATE != null)
                //{
                //    rmTransaction.DOCDATE = transaction.DOCDATE.ToShortDateString();
                //}

                if (transaction.CASHDATE != null)
                {
                    rmTransaction.CASHDATE = transaction.CASHDATE.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.CHEKDATE != null)
                {
                    rmTransaction.CHEKDATE = transaction.CHEKDATE.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.CRCARDDT != null)
                {
                    rmTransaction.CRCARDDT = transaction.CRCARDDT.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.DUEDATE != null)
                {
                    rmTransaction.DUEDATE = transaction.DUEDATE.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.DISCDATE != null)
                {
                    rmTransaction.DISCDATE = transaction.DISCDATE.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.EXPNDATE != null)
                {
                    rmTransaction.EXPNDATE = transaction.EXPNDATE.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.EXCHDATE != null)
                {
                    rmTransaction.EXCHDATE = transaction.EXCHDATE.GetValueOrDefault().ToString("yyyy-MM-dd");;
                }

                if (transaction.TIME1 != null)
                {
                    rmTransaction.TIME1 = transaction.TIME1.GetValueOrDefault().ToString("yyyy-MM-dd");
                }

                return(rmTransaction);
            }
            catch (Exception)
            {
                //logW.LogExeption("Econnect", 2, ex);
                throw;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="header"></param>
        /// <param name="Distrib"></param>
        /// <param name="Tax"></param>
        /// <param name="company"></param>
        /// <returns></returns>
        public Response CreateRMTransaction(RMTransactionHeader header, RMTransactionDist[] Distrib, RMDocumentTaxes[] Tax, string company)
        {
            RMTransactionCreate rmTranCreate = new RMTransactionCreate();

            return(rmTranCreate.TransactionCreate(header, Distrib, Tax, company));
        }