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 }); } }