private ReturnObject Result(string userId, long from, long to, string time = null)
        {
            try
            {
                var data = _portfolioHistoryBusiness.FindByUserId(userId, from, to);
                if (data == null)
                {
                    return new ReturnObject
                           {
                               Status  = Status.STATUS_ERROR,
                               Message = "Data not found!"
                           }
                }
                ;

                if (time != null && time.Equals(DashboardConfig.CURRENT))
                {
                    var returnData = JsonHelper.SerializeObject(data[data.Count - 1]);

                    return(new ReturnObject
                    {
                        Status = Status.STATUS_SUCCESS,
                        Data = returnData
                    });
                }

                // if data is too many
                if (data.Count >= 600)
                {
                    var sortData = new List <PortfolioHistory>();

                    var chooseEvery = data.Count / 300;
                    //choose 1 point in every chooseEvery point
                    foreach (var portfolio in data)
                    {
                        if (data.IndexOf(portfolio) % chooseEvery == 0)
                        {
                            sortData.Add(portfolio);
                        }
                    }

                    return(new ReturnObject
                    {
                        Status = Status.STATUS_SUCCESS,
                        Data = JsonHelper.SerializeObject(sortData)
                    });
                }

                return(new ReturnObject
                {
                    Status = Status.STATUS_SUCCESS,
                    Data = JsonHelper.SerializeObject(data)
                });
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(new ReturnObject
                {
                    Status = Status.STATUS_ERROR,
                    Message = "Error!"
                });
            }
        }