Пример #1
0
 public static object GetEditByID(Guid id)
 {
     try
     {
         DA_TRN trn   = DealUIP.GetByID(id);
         var    query = new
         {
             ID            = trn.ID,
             TradeDate     = trn.TRADE_DATE.HasValue ? trn.TRADE_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             BuySell       = trn.FLAG_BUYSELL,
             MaturityDate  = trn.MATURITY_DATE.HasValue ? trn.MATURITY_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             EffectiveDate = trn.START_DATE.HasValue ? trn.START_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             Counterparty  = trn.CTPY_ID.ToString(),
             Portfolio     = trn.PORTFOLIO_ID.ToString(),
             Instrument    = trn.INSTRUMENT_ID.ToString(),
             Notional      = Math.Abs(trn.FIRST.NOTIONAL.Value),
             Remark        = trn.REMARK
         };
         return(new { Result = "OK", record = query });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
Пример #2
0
        public static object GenerateTrnObject(string strTradeDate, string strCtpy, string strPortfolio, string strCurrencyPair
                                               , string strContractCcy, string strCounterCcy, string strSpotRate
                                               , string strBSNear, string strSetDateNear, string strSwapPointNear
                                               , string strContractAmtNear, string strCounterAmtNear
                                               , string strBSFar, string strSetDateFar, string strSwapPointFar
                                               , string strContractAmtFar, string strCounterAmtFar, string strSpotDate, string strRemark, string strProductId1, bool settleFlag, bool blnIsSubmit)
        {
            try
            {
                DA_TRN TrnInfo1 = DealUIP.GenerateFXSwapTransactionObject1(SessionInfo, strTradeDate, strCtpy, strPortfolio, strCurrencyPair
                                                                           , strContractCcy, strCounterCcy, strSpotRate
                                                                           , strBSNear, strSetDateNear, strSwapPointNear, strContractAmtNear, strCounterAmtNear, strSpotDate, strRemark, settleFlag, strProductId1);
                DA_TRN TrnInfo2 = DealUIP.GenerateFXSwapTransactionObject2(SessionInfo, strTradeDate, strCtpy, strPortfolio, strCurrencyPair
                                                                           , strContractCcy, strCounterCcy, strSpotRate
                                                                           , strBSFar, strSetDateFar, strSwapPointFar
                                                                           , strContractAmtFar, strCounterAmtFar, strSpotDate, strRemark, settleFlag, TrnInfo1.VERSION);

                object PCESCEObject;
                CheckFXSpotLimits(blnIsSubmit, TrnInfo1, TrnInfo2, out PCESCEObject);
                return(new
                {
                    Result = "OK",
                    record = JsonConvert.SerializeObject(TrnInfo1, new IsoDateTimeConverter()),
                    record2 = JsonConvert.SerializeObject(TrnInfo2, new IsoDateTimeConverter()),
                    pcesce = PCESCEObject,
                    Message = ""
                });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
 public static object GetEditByID(Guid id)
 {
     try
     {
         DA_TRN        trn   = DealUIP.GetByID(id);
         MA_INSTRUMENT ins   = InstrumentUIP.GetByID(SessionInfo, trn.MA_INSRUMENT.ID);
         var           query = new
         {
             ID           = trn.ID,
             TradeDate    = trn.TRADE_DATE.HasValue ? trn.TRADE_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             SpotDate     = trn.SPOT_DATE.HasValue ? trn.SPOT_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             MaturityDate = trn.MATURITY_DATE.HasValue ? trn.MATURITY_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             Counterparty = trn.CTPY_ID.ToString(),
             Portfolio    = trn.PORTFOLIO_ID.ToString(),
             Instrument   = trn.INSTRUMENT_ID.ToString(),
             BuySell      = trn.FLAG_BUYSELL,
             CCY1         = trn.FIRST.CCY_ID.ToString(),
             SpotRate     = trn.FIRST.RATE - (trn.FIRST.SWAP_POINT.HasValue ?  trn.FIRST.SWAP_POINT : 0),
             SwapPoint    = trn.FIRST.SWAP_POINT,
             Remark       = trn.REMARK,
             flag_settle  = trn.FLAG_SETTLE,
             Notional1    = Math.Abs(trn.FIRST.NOTIONAL.Value),
             Notional2    = Math.Abs(trn.SECOND.NOTIONAL.Value)
         };
         return(new { Result = "OK", record = query, CCY = new { CURRENCY1 = ins.MA_CURRENCY.LABEL, CURRENCY2 = ins.MA_CURRENCY2.LABEL, CURRENCYID1 = ins.MA_CURRENCY.ID, CURRENCYID2 = ins.MA_CURRENCY2.ID, FLAG_MULTIPLY = ins.FLAG_MULTIPLY } });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
Пример #4
0
 public static object GetEditByID(Guid id)
 {
     try
     {
         DA_TRN trn   = DealUIP.GetByID(id);
         var    query = new
         {
             ID           = trn.ID,
             TradeDate    = trn.TRADE_DATE.HasValue ? trn.TRADE_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             EffectDate   = trn.START_DATE.HasValue ? trn.START_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             MaturityDate = trn.MATURITY_DATE.HasValue ? trn.MATURITY_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             Counterparty = trn.CTPY_ID.ToString(),
             Portfolio    = trn.PORTFOLIO_ID.HasValue ? trn.PORTFOLIO_ID.Value.ToString() : "-1",
             Instrument   = trn.PORTFOLIO_ID.HasValue ? trn.INSTRUMENT_ID.Value.ToString() : "-1",
             Notional1    = Math.Abs(trn.FIRST.NOTIONAL.Value),
             Notional2    = Math.Abs(trn.SECOND.NOTIONAL.Value),
             FlagFixed1   = trn.FIRST.FLAG_FIXED.HasValue ? (trn.FIRST.FLAG_FIXED.Value ? "1" : "0") : "0",
             FixAmt1      = trn.FIRST.FIRSTFIXINGAMT,
             Rate1        = trn.FIRST.RATE,
             Feq1         = trn.FIRST.FREQTYPE_ID.HasValue ? trn.FIRST.FREQTYPE_ID.Value.ToString() : string.Empty,
             FlagFixed2   = trn.SECOND.FLAG_FIXED.HasValue ? (trn.SECOND.FLAG_FIXED.Value ? "1" : "0") : "0",
             FixAmt2      = trn.SECOND.FIRSTFIXINGAMT,
             Rate2        = trn.SECOND.RATE,
             Feq2         = trn.SECOND.FREQTYPE_ID.HasValue ? trn.SECOND.FREQTYPE_ID.Value.ToString() : string.Empty,
             CCY1         = trn.FIRST.CCY_ID,
             CCY2         = trn.SECOND.CCY_ID
         };
         return(new { Result = "OK", record = query });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
Пример #5
0
        public static object GenerateTrnObject(string strTradeDate, string strInstrument, string strCtpy, string strPortfolio
                                               , string strEffDate, string strMatDate
                                               , string strNotional1, string strCCY1, string strFFL1, string strFFix1, string strRate1, string strFreq1
                                               , string strNotional2, string strCCY2, string strFFL2, string strFFix2, string strRate2, string strFreq2
                                               , string strOverApprover, string strOverPCE, string strOverSCE, string strComment, string strRemark, string strProductId, bool blnIsSubmit)
        {
            try
            {
                DA_TRN TrnInfo = DealUIP.GenerateSwapTransactionObject(SessionInfo, strTradeDate, strInstrument, strCtpy, strPortfolio
                                                                       , strEffDate, strMatDate, strNotional1
                                                                       , strCCY1, strFFL1, strFFix1, strRate1, strFreq1
                                                                       , strNotional2, strCCY2, strFFL2, strFFix2, strRate2, strFreq2
                                                                       , Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings[AppSettingName.CASHFLOW_SPAN])
                                                                       , strRemark, strProductId);

                object PCESCEObject;
                CheckSwapLimits(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 });
            }
        }
Пример #6
0
        public static object SubmitDeal(string strOverApprover, string strOverComment, string record, string strProductId)
        {
            DA_TRN TrnInfo = JsonConvert.DeserializeObject <DA_TRN>(record);

            return(DealUIP.SubmitFIDeal(SessionInfo
                                        , TrnInfo
                                        , strOverApprover
                                        , strOverComment
                                        , strProductId));
        }
Пример #7
0
        public static object SubmitDeal(string strOverApprover, string strOverComment, string record1, string record2, string strProductId1, string strProductId2)
        {
            DA_TRN TrnInfo1 = JsonConvert.DeserializeObject <DA_TRN>(record1);
            DA_TRN TrnInfo2 = JsonConvert.DeserializeObject <DA_TRN>(record2);

            return(DealUIP.SubmitFXSwapDeal(SessionInfo
                                            , TrnInfo1
                                            , TrnInfo2
                                            , strOverApprover
                                            , strOverComment
                                            , strProductId1
                                            , strProductId2));
        }
Пример #8
0
        private static void CheckRepoLimit(Boolean blnIsSubmit, DA_TRN record, out object PCESCEObject)
        {
            try
            {
                LimitDisplayModel PCECheckRecords     = DealUIP.CheckPCE(SessionInfo, record, ProductId);
                LimitDisplayModel CountryCheckRecords = DealUIP.CheckCountryLimit(SessionInfo, record, ProductId);

                PCESCEObject = ConsoLimitDisplay(blnIsSubmit, PCECheckRecords, null, CountryCheckRecords);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #9
0
        private static void CheckFXSpotLimits(Boolean blnIsSubmit, DA_TRN record, DA_TRN record2, out object PCESCEObject)
        {
            try
            {
                LimitDisplayModel PCECheckRecords     = DealUIP.CheckFXSwapPCE(SessionInfo, record, record2, ProductId);
                LimitDisplayModel SCECheckRecords     = record.FLAG_SETTLE.Value ?  DealUIP.CheckFXSwapSCE(SessionInfo, record, record2, ProductId) : null;
                LimitDisplayModel CountryCheckRecords = DealUIP.CheckFXSwapCountryLimit(SessionInfo, record, record2, ProductId);

                PCESCEObject = ConsoLimitDisplay(blnIsSubmit, PCECheckRecords, SCECheckRecords, CountryCheckRecords);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #10
0
 public static object GetDealInternalByProcessDate(int jtStartIndex, int jtPageSize)
 {
     try
     {
         List <FIDealModel> trns = DealUIP.GetDealInternalByProcessDate(SessionInfo);
         return(new
         {
             Result = "OK",
             Records = jtPageSize > 0 ? trns.Skip(jtStartIndex).Take(jtPageSize).ToList() : trns,
             TotalRecordCount = trns.Count
         });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
Пример #11
0
        public static object GenerateTrnObject(string strTradeDate
                                               , string strBuySell
                                               , string strInstrument
                                               , string strCtpy
                                               , string strPortfolio
                                               , string strEffectiveDate
                                               , string strMaturityDate
                                               , string strNotional
                                               , string strProductId
                                               , string strRemark
                                               , bool blnIsSubmit)
        {
            try
            {
                DA_TRN TrnInfo = DealUIP.GenerateRepoTransactionObject(SessionInfo
                                                                       , strTradeDate
                                                                       , strBuySell
                                                                       , strInstrument
                                                                       , strCtpy
                                                                       , strPortfolio
                                                                       , strEffectiveDate
                                                                       , strMaturityDate
                                                                       , strNotional
                                                                       , strProductId
                                                                       , strRemark);

                object PCESCEObject;
                CheckRepoLimit(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 });
            }
        }
Пример #12
0
        private static void CheckFILimit(Boolean blnIsSubmit, DA_TRN record, out object PCESCEObject)
        {
            try
            {
                LimitDisplayModel PCECheckRecords     = DealUIP.CheckPCE(SessionInfo, record, ProductId);
                LimitDisplayModel SCECheckRecords     = null;
                LimitDisplayModel CountryCheckRecords = DealUIP.CheckCountryLimit(SessionInfo, record, ProductId);

                var flagSettle = record.FLAG_SETTLE.Value && record.NOTIONAL_THB.Value > 0;

                if (flagSettle)
                {
                    SCECheckRecords = DealUIP.CheckSCE(SessionInfo, record, ProductId);
                }

                PCESCEObject = ConsoLimitDisplay(blnIsSubmit, PCECheckRecords, SCECheckRecords, CountryCheckRecords);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Пример #13
0
        public static object GetEditByID(Guid id)
        {
            try
            {
                DA_TRN lastTrn1 = DealUIP.GetByID(id);
                DA_TRN lastTrn2 = DealUIP.GetFXSwapPair(SessionInfo, lastTrn1.INT_DEAL_NO, lastTrn1.VERSION, lastTrn1.ID);

                MA_INSTRUMENT ins     = InstrumentUIP.GetByID(SessionInfo, lastTrn1.MA_INSRUMENT.ID);
                var           NearLeg = lastTrn1.FLAG_NEARFAR == "N" ? lastTrn1 : lastTrn2;
                var           FarLeg  = lastTrn2.FLAG_NEARFAR == "F" ? lastTrn2 : lastTrn1;
                var           query   = new
                {
                    TradeDate    = lastTrn1.TRADE_DATE.HasValue ? lastTrn1.TRADE_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
                    Counterparty = lastTrn1.CTPY_ID.ToString(),
                    Portfolio    = lastTrn1.PORTFOLIO_ID.ToString(),
                    Instrument   = lastTrn1.INSTRUMENT_ID.ToString(),
                    ContractCcy  = lastTrn1.FIRST.CCY_ID.ToString(),
                    SpotDate     = lastTrn1.SPOT_DATE.HasValue ? lastTrn1.SPOT_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
                    SpotRate     = lastTrn1.FIRST.RATE.Value - lastTrn1.FIRST.SWAP_POINT.Value,
                    BSN          = NearLeg.FLAG_BUYSELL,
                    BSF          = FarLeg.FLAG_BUYSELL,
                    SetDateN     = NearLeg.MATURITY_DATE.HasValue ? NearLeg.MATURITY_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
                    SetDateF     = FarLeg.MATURITY_DATE.HasValue ? FarLeg.MATURITY_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
                    SwapPoitN    = NearLeg.FIRST.SWAP_POINT,
                    SwapPoitF    = FarLeg.FIRST.SWAP_POINT,
                    ContAmtN     = Math.Abs(NearLeg.FIRST.NOTIONAL.Value),
                    CountAmtN    = Math.Abs(NearLeg.SECOND.NOTIONAL.Value),
                    ContAmtF     = Math.Abs(FarLeg.FIRST.NOTIONAL.Value),
                    CountAmtF    = Math.Abs(FarLeg.SECOND.NOTIONAL.Value),
                    flag_settle  = lastTrn1.FLAG_SETTLE,
                };
                return(new { Result = "OK", record = query, productid2 = lastTrn2.ID.ToString(), CCY = new { CURRENCY1 = ins.MA_CURRENCY.LABEL, CURRENCY2 = ins.MA_CURRENCY2.LABEL, CURRENCYID1 = ins.MA_CURRENCY.ID, CURRENCYID2 = ins.MA_CURRENCY2.ID, FLAG_MULTIPLY = ins.FLAG_MULTIPLY } });
            }
            catch (Exception ex)
            {
                return(new { Result = "ERROR", Message = ex.Message });
            }
        }
Пример #14
0
 public static object GetEditByID(Guid id)
 {
     try
     {
         DA_TRN trn   = DealUIP.GetByID(id);
         var    query = new
         {
             ID           = trn.ID,
             TradeDate    = trn.TRADE_DATE.HasValue ? trn.TRADE_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             BuySell      = trn.FLAG_BUYSELL,
             MaturityDate = trn.MATURITY_DATE.HasValue ? trn.MATURITY_DATE.Value.ToString(FormatTemplate.DATE_DMY_LABEL) : string.Empty,
             Counterparty = trn.CTPY_ID.ToString(),
             Portfolio    = trn.PORTFOLIO_ID.ToString(),
             Instrument   = trn.INSTRUMENT_ID.ToString(),
             Notional1    = Math.Abs(trn.FIRST.NOTIONAL.Value),
             SettleFlag   = trn.FLAG_SETTLE.HasValue ? (trn.FLAG_SETTLE.Value ? "1" : "0") : "0",
             Remark       = trn.REMARK,
             Yield        = trn.FIRST.RATE,
             Unit         = trn.DA_TMBA_EXTENSION.UNIT,
             CPrice       = trn.DA_TMBA_EXTENSION.CLEAN_PRICE,
             GPrice       = trn.DA_TMBA_EXTENSION.GROSS_PRICE,
             PMarket      = trn.FLAG_PCE.HasValue ? (trn.FLAG_PCE.Value ? "1" : "0") : "0",
             YType        = trn.DA_TMBA_EXTENSION.YIELD_TYPE,
             Purpose      = trn.DA_TMBA_EXTENSION.PURPOSE,
             ReportBy     = trn.DA_TMBA_EXTENSION.IS_REPORT_CLEAN ? "0" : "1",
             Term         = trn.DA_TMBA_EXTENSION.TERM.HasValue ? trn.DA_TMBA_EXTENSION.TERM.Value.ToString() : "",
             Rate         = trn.DA_TMBA_EXTENSION.RATE.HasValue ? trn.DA_TMBA_EXTENSION.RATE.Value.ToString() : "",
             TBMARemark   = trn.DA_TMBA_EXTENSION.REMARK,
             LotSize      = trn.MA_INSRUMENT.LOT_SIZE
         };
         return(new { Result = "OK", record = query });
     }
     catch (Exception ex)
     {
         return(new { Result = "ERROR", Message = ex.Message });
     }
 }
Пример #15
0
        public static object GenerateTrnObject(string strTradeDate
                                               , string strBuySell
                                               , string strInstrument
                                               , string strCtpy
                                               , string strPortfolio
                                               , string strSettlementDate
                                               , string strYield
                                               , string strUnit
                                               , string strCleanPrice
                                               , string strGrossPrice
                                               , string strNotional
                                               , string strCCY
                                               , string strPceFlag
                                               , string strSettleFlag
                                               , string strYeildType
                                               , string strReportBy
                                               , string strPurpose
                                               , string strTerm
                                               , string strRate
                                               , string strTBMARemark
                                               , string strRemark
                                               , string strProductId
                                               , bool blnIsSubmit)
        {
            try
            {
                DA_TRN TrnInfo = DealUIP.GenerateFITransactionObject(SessionInfo
                                                                     , strTradeDate
                                                                     , strBuySell
                                                                     , strInstrument
                                                                     , strCtpy
                                                                     , strPortfolio
                                                                     , strSettlementDate
                                                                     , strYield
                                                                     , strUnit
                                                                     , strCleanPrice
                                                                     , strGrossPrice
                                                                     , strNotional
                                                                     , strCCY
                                                                     , strPceFlag
                                                                     , strSettleFlag
                                                                     , strYeildType
                                                                     , strReportBy
                                                                     , strPurpose
                                                                     , strTerm
                                                                     , strRate
                                                                     , strTBMARemark
                                                                     , strRemark
                                                                     , strProductId);


                object PCESCEObject;
                CheckFILimit(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 });
            }
        }
Пример #16
0
 public static object SendFIReport(string TransID)
 {
     return(DealUIP.SendFIReport(SessionInfo, TransID));
 }