// GET: Holding
        public ActionResult Holding()
        {
            if (Session["LinkToken"] == null || Session["AccessToken"] == null)
            {
                return(RedirectToAction("Connection"));
            }

            HoldingResponse holdingResponce = null;
            List <HoldingDetails.Models.Holding> holdingList = null;

            holdingResponce = helper.GetHoldings(Session["AccessToken"].ToString());
            if (holdingResponce != null)
            {
                if (!string.IsNullOrEmpty(holdingResponce.ErrorMessage))
                {
                    TempData["error"] = holdingResponce.ErrorMessage;
                }
                if (holdingResponce.holdings != null)
                {
                    holdingList = holdingResponce.holdings;
                }
            }


            //----------------------------

            // ViewBag.publicToken = Session["PublicToken"];
            ViewBag.ClientId  = ClientId;
            ViewBag.Secret    = Secret;
            ViewBag.ApiUrl    = ApiUrl;
            ViewBag.LinkToken = Session["LinkToken"];
            return(View(holdingList));
        }
        private Task <KeyValuePair <string, List <HoldingDisplay> > > GetHoldingResponse(string accessToken)
        {
            List <HoldingDisplay> holdingDisplayList = null;
            HoldingResponse       holdingResponce    = helper.GetHoldings(accessToken);

            if (holdingResponce?.holdings?.Count > 0)
            {
                holdingDisplayList = new List <HoldingDisplay>();
                foreach (Holding holding in holdingResponce.holdings)
                {
                    holdingDisplayList.Add(new HoldingDisplay(holding, holdingResponce.accounts, holdingResponce.securities));
                }
            }
            return(Task.FromResult(new KeyValuePair <string, List <HoldingDisplay> >(accessToken, holdingDisplayList)));
        }
Ejemplo n.º 3
0
        public HoldingResponse GetHoldings(string AccessToken)
        {
            HoldingResponse HoldingDtl = new HoldingResponse();

            try
            {
                /*
                 * PublicTokenParam obj = new PublicTokenParam();
                 * obj.ClientId = ClientId;
                 * obj.Secret = Secret;
                 * obj.InstitutionId = "ins_3";
                 * obj.InitialProducts = new string[] { "auth" };
                 *
                 * IRestResponse response1 = RestCall(string.Format("{0}/sandbox/public_token/create", ApiUrl), obj);
                 * PublicTokenResponse publicToken = JsonConvert.DeserializeObject<PublicTokenResponse>(response1.Content);
                 */
                //PublicTokenExchangeParam objExPrm = new PublicTokenExchangeParam();
                //objExPrm.ClientId = ClientId;
                //objExPrm.Secret = Secret;
                //objExPrm.PublicToken = public_Token;


                //IRestResponse response2 = RestCall(string.Format("{0}/item/public_token/exchange", ApiUrl), objExPrm);
                //PublicTokenExchangeResponse publicTokenEx = JsonConvert.DeserializeObject<PublicTokenExchangeResponse>(response2.Content);
                //if (String.IsNullOrEmpty(publicTokenEx.ErrorCode))
                //{
                HoldingReqParam objHoldPrm = new HoldingReqParam();
                objHoldPrm.ClientId    = ClientId;
                objHoldPrm.Secret      = Secret;
                objHoldPrm.AccessToken = AccessToken;

                IRestResponse response3 = RestCall(string.Format("{0}/investments/holdings/get", ApiUrl), objHoldPrm);
                HoldingDtl = JsonConvert.DeserializeObject <HoldingResponse>(response3.Content);
                //}
                //else
                //{
                //    HoldingDtl.ErrorMessage = publicTokenEx.ErrorMessage;
                //}
            }
            catch (Exception ex)
            {
            }

            return(HoldingDtl);

            //----------------------------
        }