private CheckoutViewModel GetCheckoutViewModel(Purchase[] userPurchases, IMyMentorRepository repository)
        {
            var loggedInUser = Session.GetLoggedInUser();
            var model = new CheckoutViewModel();

            CurrencyDto currencyDto = Task.Run(() => loggedInUser.GetPointerObject<BL.Models.Currency>("currency")).Result.ConvertToCurrencyDto();
            model.UserCurrency = currencyDto;

            var worldRetriver = new WorldContentTypeRetriver(HttpContext, repository);
            var world = worldRetriver.GetWorldContentTypeId();

            string issuedFor = loggedInUser.ObjectId;
            var userCoupons = repository.FindCoupon(issuedFor, world).ToArray();

            UpdateDuplicateRecords(ref userCoupons, ref userPurchases);

            SetPurchases(model, userPurchases, userCoupons, repository, currencyDto);

            SetCoupons(userCoupons, userPurchases, currencyDto, repository, model);

            SetTotals(model, repository, currencyDto);

            model.PurchaseFor = loggedInUser.Username;

            return model;
        }