Beispiel #1
0
        /// <summary>
        /// Get Equity from cache
        /// </summary>
        /// <param name="loginid"></param>
        /// <returns></returns>
        public JsonResult GetEquity(int loginid)
        {
            try
            {
                var    marginCache = new DataCache("MarginCache");
                object objMargin   = marginCache.Get(loginid.StringTryParse());
                if (objMargin != null)
                {
                    var margin = (Margin)objMargin;

                    var marginDetails = new MarginDetails();

                    marginDetails.Equ = margin.Equity.CurrencyFormat();
                    marginDetails.Bal = margin.Balance.CurrencyFormat();

                    var equity = margin.Equity ?? 0;
                    var bal    = margin.Balance ?? 0;
                    var pnl    = equity - bal;

                    marginDetails.Pnl = pnl.CurrencyFormat();

                    return(Json(marginDetails, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                CurrentDeskLog.Error(ex.Message, ex);
            }

            return(Json(string.Empty, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        /// <summary>
        /// Get Equity,Balance and Pnl from Cache
        /// </summary>
        /// <param name="lstLogin"></param>
        /// <returns></returns>
        public JsonResult GetEquityList(string strLogin)
        {
            var lstMarginDetails = new List <MarginDetails>();
            var lstLogin         = new List <int>();

            try
            {
                //Convert platform login to List<int>
                string[] lstStrLogins = strLogin.Split(new[] { ',' });
                foreach (var pl in lstStrLogins)
                {
                    lstLogin.Add(pl.Int32TryParse());
                }

                //Get Data from cache
                var           marginCache = new DataCache("MarginCache");
                List <string> lstStrLogin = lstLogin.Select(s => s.StringTryParse()).ToList();
                IEnumerable <KeyValuePair <string, object> > lstMarginsObj = marginCache.BulkGet(lstStrLogin);

                //Create a Json Data
                var lstMargins = lstMarginsObj.Select(s => (Margin)s.Value).ToList();
                foreach (var margin in lstMargins)
                {
                    var ed = new MarginDetails();
                    if (margin != null)
                    {
                        ed.Pl  = margin.Login ?? 0;
                        ed.Equ = margin.Equity.CurrencyFormat();
                        ed.Bal = margin.Balance.CurrencyFormat();

                        var equity = margin.Equity ?? 0;
                        var bal    = margin.Balance ?? 0;

                        var pnl = equity - bal;
                        ed.Pnl = pnl.CurrencyFormat();
                        lstMarginDetails.Add(ed);
                    }
                }

                return(Json(lstMarginDetails, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                CurrentDeskLog.Error(ex.Message, ex);
            }

            return(Json(string.Empty, JsonRequestBehavior.AllowGet));
        }