Exemple #1
0
        public async Task <PartialViewResult> LoadPortfolioViewMode(PortfolioRequest request, string username, string portfolioName, bool coinsOnly = false)
        {
            if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(portfolioName))
            {
                return(null);
            }

            request.ViewUser = new ViewUser
            {
                Username      = username,
                PortfolioName = portfolioName,
            };
            request.ViewUser.PortfolioName = Utilities.FormatPortfolioName(request.ViewUser.PortfolioName);
            request.ViewOtherUser          = true;

            ResultsPair <ViewUser> viewUserResult = AuthorizationLogic.AuthorizeViewUser(request.ViewUser.Username, request.ViewUser.PortfolioName);

            if (!viewUserResult.Result.IsSuccess)
            {
                return(GeneratePartialViewError(viewUserResult.Result.Message));
            }

            request.ViewUser = viewUserResult.Value;

            if (coinsOnly)
            {
                request.PortfolioID = request.ViewUser.SelectedPortfolioID;
                CoinsVM coinsVM = await GenerateCoinsVM(request);

                return(PartialView("_FullCoins", coinsVM));
            }

            PortfolioVM vm = await GeneratePortfolioVM(request);

            return(PartialView("_Portfolio", vm));
        }