public async Task <XDocument> Get(XDocument request = null)
        {
            var xmlTransaction = new XmlTransaction();
            var xmlResp        = await xmlTransaction.PostXmlTransaction(_uri, request);

            return(xmlResp);
        }
Exemple #2
0
        public void MapXmlTransactionToTransactionModel()
        {
            var mapper = new MapperConfiguration(cfg =>
            {
                cfg.AddProfile <MapXmlTransactionToTransactionModel>();
            }).CreateMapper();

            var xmlTransaction = new XmlTransaction
            {
                TransactionID   = "TestID",
                Status          = "Rejected",
                TransactionDate = "2019-01-24T16:09:15",
                Details         = new XmlTransaction.PaymentDetails
                {
                    Amount       = "10000.00",
                    CurrencyCode = "EUR"
                }
            };

            var targetTransaction = mapper.Map <TransactionModel>(xmlTransaction);

            Assert.NotNull(targetTransaction);
            Assert.Equal(xmlTransaction.TransactionID, targetTransaction.TransactionIdentificator);
            Assert.Equal(xmlTransaction.Details.CurrencyCode, targetTransaction.CurrencyCode);
            Assert.Equal(TransactionStatus.R, targetTransaction.Status);
            Assert.Equal(new DateTime(2019, 01, 24, 16, 09, 15).ToString(), targetTransaction.TransactionDate.ToString());
        }
Exemple #3
0
 internal static Transaction Create(XmlTransaction v)
 {
     if (v == null)
     {
         return(null);
     }
     return(new Transaction(v));
 }
 public override XmlExternalFunction ResolveExternalFunction(XmlTransaction txn, XmlManager mgr, string uri, string name, ulong numArgs)
 {
     if (uri != Uri.ToString())
     {
         return(null);
     }
     return(new DecodeFunction());
 }
 public override XmlInputStream ResolveModule(XmlTransaction txn, XmlManager mgr, string moduleLocation, string nameSpace)
 {
     if (moduleLocation.ToLower().Equals("nancy.xqm"))
     {
         return(mgr.CreateLocalFileInputStream(Path.Combine(path, "Home", moduleLocation)));
     }
     return(null);
 }
        /// <summary>
        /// Take our 'About Me' section and decode the HTML so it displays properly.
        /// </summary>
        /// <param name="txn"></param>
        /// <param name="mgr"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public override XmlResults Execute(XmlTransaction txn, XmlManager mgr, XmlArguments args)
        {
            var ret   = mgr.CreateXmlResults();
            var about = args.GetArguments(0);

            ret.Add(new XmlValue(HttpUtility.HtmlDecode(about.NextValue().AsString)));
            return(ret);
        }
 private static FileTransactionDto MappingProjection(XmlTransaction xml) =>
 new FileTransactionDto
 {
     TransactionId   = xml.Id,
     Amount          = xml.PaymentDetails.Amount,
     CurrencyCode    = xml.PaymentDetails.CurrencyCode,
     Status          = xml.Status,
     TransactionDate = xml.TransactionDate
 };
Exemple #8
0
 private Transaction Map(XmlTransaction xmlTransaction)
 {
     return(new Transaction
     {
         Id = xmlTransaction.Id,
         Amount = decimal.Parse(xmlTransaction.PaymentDetails.Amount),
         CurrencyCode = Enum.Parse <CurrencyCode>(xmlTransaction.PaymentDetails.CurrencyCode, false),
         TransactionDate = DateTime.ParseExact(xmlTransaction.TransactionDate, TransactionDateFormat, null),
         Status = Enum.Parse <TransactionStatus>(xmlTransaction.Status, false),
     });
 }
 private void OnXmlModelUndoRedoCompleted(object senderId, XmlEditingScopeEventArgs e)
 {
     _xmlDesignerPackage.InvokeOnForeground(
         () =>
     {
         var designerTx    = ((senderId != null) && (senderId is XmlStore) && (senderId == _xmlStore));
         XmlTransaction tx = GetTransaction(e.EditingScope);
         var args          = new XmlTransactionEventArgs(tx, designerTx);
         OnUndoRedoCompleted(args);
         _txDictionary.Remove(e.EditingScope);
     });
 }
        public void Validate_PerfectFile_Pass()
        {
            var xmlTransaction = new XmlTransaction
            {
                id = "Inv00001",
                TransactionDate = "2019-01-23T13:45:10",
                PaymentDetails  = new PaymentDetails
                {
                    Amount       = "200.00",
                    CurrencyCode = "USD"
                },
                Status = "Done"
            };

            List <string> result = xmlValidator.Validate(xmlTransaction);

            Assert.IsTrue(result.Count == 0);
        }
        public void Validate_StatusCodeIsNotCorrent_Fail()
        {
            var xmlTransaction = new XmlTransaction
            {
                id = "Inv00001",
                TransactionDate = "2019-01-23T13:45:10",
                PaymentDetails  = new PaymentDetails
                {
                    Amount       = "200.00",
                    CurrencyCode = "USD"
                },
                Status = "AAA"
            };

            List <string> result = xmlValidator.Validate(xmlTransaction);

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result[0].EndsWith("Transaction Status is not correct"));
        }
        public void Validate_IDLengthTooLong_Fail()
        {
            var xmlTransaction = new XmlTransaction
            {
                id = "Inv0000128352374283751028337345734592485343945347537420348457320384273",
                TransactionDate = "2019-01-23T13:45:10",
                PaymentDetails  = new PaymentDetails
                {
                    Amount       = "200.00",
                    CurrencyCode = "USD"
                },
                Status = "Done"
            };

            List <string> result = xmlValidator.Validate(xmlTransaction);

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result[0].EndsWith("Transaction ID length should be less than 50"));
        }
        public void Validate_WrongTransactionDateFormat_Fail()
        {
            var xmlTransaction = new XmlTransaction
            {
                id = "Inv00001",
                TransactionDate = "2019/01/23 13:45:10",
                PaymentDetails  = new PaymentDetails
                {
                    Amount       = "200.00",
                    CurrencyCode = "USD"
                },
                Status = "Done"
            };

            List <string> result = xmlValidator.Validate(xmlTransaction);

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result[0].EndsWith("Transaction Date format is not correct"));
        }
        public void Validate_AmountValueIsNotANumber_Fail()
        {
            var xmlTransaction = new XmlTransaction
            {
                id = "Inv00001",
                TransactionDate = "2019-01-23T13:45:10",
                PaymentDetails  = new PaymentDetails
                {
                    Amount       = "AAA",
                    CurrencyCode = "USD"
                },
                Status = "Done"
            };

            List <string> result = xmlValidator.Validate(xmlTransaction);

            Assert.IsTrue(result.Count == 1);
            Assert.IsTrue(result[0].EndsWith("Amount should be decimal number"));
        }
        public void Validate_MultipleErrorsOccur_Fail()
        {
            var xmlTransaction = new XmlTransaction
            {
                id = "Inv00001",
                TransactionDate = "2019-01-23T13:45:10",
                PaymentDetails  = new PaymentDetails
                {
                    Amount       = "AAA",
                    CurrencyCode = "AAA"
                },
                Status = "AAA"
            };

            List <string> result = xmlValidator.Validate(xmlTransaction);

            Assert.IsTrue(result.Count == 3);
            Assert.IsTrue(result[0].EndsWith("Amount should be decimal number"));
            Assert.IsTrue(result[1].EndsWith("Currency Code is not correct"));
            Assert.IsTrue(result[2].EndsWith("Transaction Status is not correct"));
        }
    public XmlAccount XmlAccountFromPlan1Account(Plan1Account account)
    {
        XmlAccount xAccount = new XmlAccount();

        xAccount.accountMoney   = account.AccountMoney;
        xAccount.accountPercent = account.AccountPercent;

        foreach (Transaction tr in account.Transactions)
        {
            XmlTransaction tmpTrans = new XmlTransaction();

            tmpTrans.amount          = tr.Amount;
            tmpTrans.description     = tr.Description;
            tmpTrans.transactionType = tr.TransactionType;
            tmpTrans.dateTime        = Transaction.DateTimeSecondsFromEpochFor(tr.DateTime);
            tmpTrans.id = tr.ID;

            xAccount.transactions.Add(tmpTrans);
        }


        return(xAccount);
    }
        public List <string> Validate(XmlTransaction transaction)
        {
            var    errorList         = new List <string>();
            string errorFormat       = "Transaction Id {0} : {1}";
            var    transactionStatus = new List <string> {
                "Approved", "Rejected", "Done"
            };

            string transactionId = transaction.id;

            if (transaction.id.Length > 50)
            {
                errorList.Add(string.Format(errorFormat, transactionId, "Transaction ID length should be less than 50"));
            }

            if (!decimal.TryParse(transaction.PaymentDetails.Amount, out _))
            {
                errorList.Add(string.Format(errorFormat, transactionId, "Amount should be decimal number"));
            }

            if (!CurrencyCodeHelper.IsCurrencyFormatCorrect(transaction.PaymentDetails.CurrencyCode))
            {
                errorList.Add(string.Format(errorFormat, transactionId, "Currency Code is not correct"));
            }

            if (!DateTime.TryParseExact(transaction.TransactionDate, "yyyy-MM-ddTHH:mm:ss", null, DateTimeStyles.None, out _))
            {
                errorList.Add(string.Format(errorFormat, transactionId, "Transaction Date format is not correct"));
            }

            if (!transactionStatus.Contains(transaction.Status))
            {
                errorList.Add(string.Format(errorFormat, transactionId, "Transaction Status is not correct"));
            }

            return(errorList);
        }
 internal EfiTransaction(EFArtifact artifact, string originatorId, XmlTransaction xmltxn, EfiTransactionContext context)
     : this(artifact, originatorId, false, context)
 {
     Debug.Assert(xmltxn != null, "Can't pass null in as XmlTransaction");
     _xmlTx = xmltxn;
 }
 internal EfiTransaction(EFArtifact artifact, string originatorId, string txName, EfiTransactionContext context)
     : this(artifact, originatorId, true, context)
 {
     _xmlTx = artifact.XmlModelProvider.BeginTransaction(txName, this);
 }
Exemple #20
0
 private Transaction(XmlTransaction t)
 {
     this.txn_ = t;
 }
Exemple #21
0
        public ApkDk(IWindsorContainer windsorContainer)
        {
            _windsorContainer = windsorContainer;

            XmlTransaction = new XmlTransaction();
        }
 public override XmlDocument ResolveDocument(XmlTransaction txn, XmlManager mgr, string uri)
 {
     return(null);
 }
 public override bool ResolveCollection(XmlTransaction txn, XmlManager mgr, string uri, XmlResults collection)
 {
     return(false);
 }
 public override XmlInputStream ResolveSchema(XmlTransaction txn, XmlManager mgr, string schemaLocation, string nameSpace)
 {
     return(null);
 }
 public override XmlInputStream ResolveEntity(XmlTransaction txn, XmlManager mgr, string systemId, string publicId)
 {
     return(null);
 }
 public override bool ResolveModuleLocation(XmlTransaction txn, XmlManager mgr, string nameSpace, XmlResults moduleLocations)
 {
     Console.WriteLine($"ResolveModuleLocation namespace:{nameSpace},moduleLocation: {moduleLocations.Count}");
     return(true);
 }