protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinXmlOrder aXmlOrder = order as FinXmlOrder;

            if (aXmlOrder == null)
            {
                return null;
            }

            XmlDocument aResponseXml = aXmlOrder.ResponseXml;
            if (aResponseXml == null)
            {
                return null;
            }

            using (StringWriter aStringWriter = new StringWriter())
            {
                XmlTextWriter aXmlWriter = new XmlTextWriter(aStringWriter)
                                               {
                                                   Formatting = Formatting.Indented
                                               };
                aResponseXml.WriteContentTo(aXmlWriter);
                aXmlWriter.Flush();
                aStringWriter.Flush();
                return new ResponseData { Formatted = aStringWriter.ToString() };
            }
        }
示例#2
0
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinXmlOrder aXmlOrder = order as FinXmlOrder;

            if (aXmlOrder == null)
            {
                return(null);
            }

            XmlDocument aResponseXml = aXmlOrder.ResponseXml;

            if (aResponseXml == null)
            {
                return(null);
            }

            using (StringWriter aStringWriter = new StringWriter())
            {
                XmlTextWriter aXmlWriter = new XmlTextWriter(aStringWriter)
                {
                    Formatting = Formatting.Indented
                };
                aResponseXml.WriteContentTo(aXmlWriter);
                aXmlWriter.Flush();
                aStringWriter.Flush();
                return(new ResponseData {
                    Formatted = aStringWriter.ToString()
                });
            }
        }
示例#3
0
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinAcctMvmtsSpecifiedPeriod aAcctMvmts = order as FinAcctMvmtsSpecifiedPeriod;

            if (aAcctMvmts == null)
            {
                return(null);
            }

            switch (m_nFormat)
            {
            case OutputFormat.CSV:
                return(new ResponseData {
                    Formatted = _GetCsvResponseData(aAcctMvmts)
                });

            case OutputFormat.MT940:
                return(new ResponseData {
                    Formatted = _GetMT940ResponseData(aAcctMvmts)
                });

            case OutputFormat.MT942:
                return(new ResponseData {
                    Formatted = _GetMT942ResponseData(aAcctMvmts)
                });

            case OutputFormat.CSV942:
                return(new ResponseData {
                    Formatted = _GetCsv942ResponseData(aAcctMvmts)
                });

            default:
                return(null);
            }
        }
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinAcctMvmtsSpecifiedPeriod aAcctMvmts = order as FinAcctMvmtsSpecifiedPeriod;
            if (aAcctMvmts == null)
            {
                return null;
            }

            return _GetResponseData(aAcctMvmts);
        }
示例#5
0
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinAcctMvmtsSpecifiedPeriod aAcctMvmts = order as FinAcctMvmtsSpecifiedPeriod;

            if (aAcctMvmts == null)
            {
                return(null);
            }

            return(_GetResponseData(aAcctMvmts));
        }
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinAcctBal acctBal = order as FinAcctBal;

            if ((acctBal == null) || (acctBal.AcctBals == null))
            {
                return null;
            }

            StringBuilder sb = new StringBuilder(2000);

            sb.Append("BalanceType;BankCode;AcctNo;Date;Currency;Value");
            sb.Append(Environment.NewLine);

            foreach (FinAcctBalResp aBal in acctBal.AcctBals)
            {
                _AppendBalance(aBal, sb);
            }

            return new ResponseData {Formatted = sb.ToString() };
        }
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinAcctMvmtsSpecifiedPeriod aAcctMvmts = order as FinAcctMvmtsSpecifiedPeriod;

            if (aAcctMvmts == null)
            {
                return null;
            }

            switch (m_nFormat)
            {
                case OutputFormat.CSV:
                    return new ResponseData { Formatted = _GetCsvResponseData(aAcctMvmts) };
                case OutputFormat.MT940:
                    return new ResponseData { Formatted = _GetMT940ResponseData(aAcctMvmts) };
                case OutputFormat.MT942:
                    return new ResponseData { Formatted = _GetMT942ResponseData(aAcctMvmts) };
                case OutputFormat.CSV942:
                    return new ResponseData { Formatted = _GetCsv942ResponseData(aAcctMvmts) };
                default:
                    return null;
            }
        }
示例#8
0
        protected override ResponseData OnGetResponseData(FinService service, FinOrder order)
        {
            FinAcctBal acctBal = order as FinAcctBal;

            if ((acctBal == null) || (acctBal.AcctBals == null))
            {
                return(null);
            }

            StringBuilder sb = new StringBuilder(2000);

            sb.Append("BalanceType;BankCode;AcctNo;Date;Currency;Value");
            sb.Append(Environment.NewLine);

            foreach (FinAcctBalResp aBal in acctBal.AcctBals)
            {
                _AppendBalance(aBal, sb);
            }

            return(new ResponseData {
                Formatted = sb.ToString()
            });
        }
示例#9
0
        public virtual IActionResult Execute(FinService service, ITanSource tanSource)
        {
            order = OnCreateOrder(service);
            if (order == null)
            {
                return(new ActionResult(Status.CouldNotCreateOrder));
            }

            FinServiceResult result = service.SendOrder(order);

            if (result == FinServiceResult.NeedTan)
            {
                string tan = tanSource.GetTan(service);
                if (tan == null)
                {
                    return(new ActionResult(Status.CouldNotCreateOrder));
                }

                result = service.SendTan(tan);
            }

            if (result == FinServiceResult.NeedTanMediaName)
            {
                Io.Write("Bezeichnung des TAN-Mediums erforderlich!");
                FinTanMedia[] vTanMedias = service.TanMedias;
                if (vTanMedias != null)
                {
                    Io.Write("Bitte geben Sie einen der folgenden Parameter an:");
                    foreach (FinTanMedia t in vTanMedias)
                    {
                        Io.Write("-tanmedianame \"" + t.TanMediaName + "\"");
                    }
                }

                return(new ActionResult(Status.NeedTanMediaName));
            }

            if (result == FinServiceResult.Fatal)
            {
                return(new ActionResult(Status.FatalResult));
            }

            // Als Rückgabewert wird der höchste Rückmeldecode aus dem HIRMS genommen.
            // Wurde kein HIRMS übermittelt wird als Rückgabewert 0 eingesetzt.
            int orderStatusCode = 0;

            if (order.StatusSegment != null)
            {
                int nIndex = order.StatusSegment.FindMax();
                orderStatusCode = order.StatusSegment.GetStatusCode(nIndex);
            }

            if (result == FinServiceResult.Error)
            {
                return(new ActionResult(Status.ErrorResult, orderStatusCode));
            }

            if (result == FinServiceResult.Success)
            {
                return(new ActionResult(Status.Success, orderStatusCode));
            }

            throw new Exception("The enum FinServiceResult has been changed! " +
                                "Known states: NeedTan, NeedTanMediaName, Fatal, Error, Success " +
                                "New: " + result);
        }
示例#10
0
 protected virtual ResponseData OnGetResponseData(FinService service, FinOrder order)
 {
     return(null);
 }
        public virtual IActionResult Execute(FinService service, ITanSource tanSource)
        {
            order = OnCreateOrder(service);
            if (order == null)
            {
                return new ActionResult(Status.CouldNotCreateOrder);
            }

            FinServiceResult result = service.SendOrder(order);

            if (result == FinServiceResult.NeedTan)
            {
                string tan = tanSource.GetTan(service);
                if (tan == null)
                {
                    return new ActionResult(Status.CouldNotCreateOrder);
                }

                result = service.SendTan(tan);
            }

            if (result == FinServiceResult.NeedTanMediaName)
            {
                Io.Write("Bezeichnung des TAN-Mediums erforderlich!");
                FinTanMedia[] vTanMedias = service.TanMedias;
                if (vTanMedias != null)
                {
                    Io.Write("Bitte geben Sie einen der folgenden Parameter an:");
                    foreach (FinTanMedia t in vTanMedias)
                    {
                        Io.Write("-tanmedianame \"" + t.TanMediaName + "\"");
                    }
                }

                return new ActionResult(Status.NeedTanMediaName);
            }

            if (result == FinServiceResult.Fatal)
            {
                return new ActionResult(Status.FatalResult);
            }

            // Als Rückgabewert wird der höchste Rückmeldecode aus dem HIRMS genommen.
            // Wurde kein HIRMS übermittelt wird als Rückgabewert 0 eingesetzt.
            int orderStatusCode = 0;
            if (order.StatusSegment != null)
            {
                int nIndex = order.StatusSegment.FindMax();
                orderStatusCode = order.StatusSegment.GetStatusCode(nIndex);
            }

            if (result == FinServiceResult.Error)
            {
                return new ActionResult(Status.ErrorResult, orderStatusCode);
            }

            if (result == FinServiceResult.Success)
            {
                return new ActionResult(Status.Success, orderStatusCode);
            }

            throw new Exception("The enum FinServiceResult has been changed! " +
                                "Known states: NeedTan, NeedTanMediaName, Fatal, Error, Success " +
                                "New: " + result);
        }
 protected virtual ResponseData OnGetResponseData(FinService service, FinOrder order)
 {
     return null;
 }