public static object GenerateTrnObject(string strTradeDate, string strSpotDate, string strSetDate, string strCtpy, string strPortfolio
                                               , string strCurrencyPair, string strBS, string strContractCcy, string strCounterCcy
                                               , string strSpotRate, string strSwapPoint, string strContractAmt, string strCounterAmt, string strRemark, string strProductId, bool settleFlag, bool blnIsSubmit)
        {
            try
            {
                DA_TRN TrnInfo = DealUIP.GenerateFXForwardTransactionObject(SessionInfo, strTradeDate, strSpotDate, strSetDate, strCtpy, strPortfolio
                                                                            , strCurrencyPair, strBS, strContractCcy, strCounterCcy
                                                                            , strSpotRate, strSwapPoint, strContractAmt, strCounterAmt, strRemark, settleFlag, strProductId);

                object PCESCEObject;
                CheckFXSpotLimits(blnIsSubmit, TrnInfo, out PCESCEObject);
                return(new { Result = "OK",
                             record = JsonConvert.SerializeObject(TrnInfo, new IsoDateTimeConverter()),
                             pcesce = PCESCEObject,
                             Message = "" });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }