public ActionResult Index()
        {
            //try
            {
                var viewModel = new ProductListingViewModel();

                viewModel.Products = Mapper.Map <List <ProductViewModel> >(_productService.GetProducts());
                viewModel.Products.ForEach(p => p.Image = _pathUtilites.ToAbsolute(string.Format("~/img/Products/{0}.png", p.ArticleNr)));

                return(View(viewModel));
            }
            //catch(Exception exp)
            //{
            //    Logger.Error(exp);
            //}

            //return View();
        }
        /// <summary>
        /// Creates a view model for use in a view.
        /// </summary>
        /// <param name="settings">The settings for the current site.</param>
        /// <param name="urlHelper">UrlHelper for the current request.</param>
        public virtual GigyaSettingsViewModel ViewModel(IGigyaModuleSettings settings, UrlHelper urlHelper, CurrentIdentity currentIdentity)
        {
            var model = new GigyaSettingsViewModel
            {
                ApiKey              = settings.ApiKey,
                DebugMode           = settings.DebugMode,
                GigyaScriptPath     = UrlUtils.AddQueryStringParam(_pathUtilities.ToAbsolute(ClientScriptPath(settings, urlHelper)), "v=" + CmsVersion + ModuleVersion),
                LoggedInRedirectUrl = settings.RedirectUrl,
                LogoutUrl           = settings.LogoutUrl,
                IsLoggedIn          = currentIdentity.IsAuthenticated,
                Id                = settings.Id,
                DataCenter        = settings.DataCenter,
                IsGetInfoRequired = settings.SessionProvider == Enums.GigyaSessionProvider.CMS
            };

            model.Settings = !string.IsNullOrEmpty(settings.GlobalParameters) ? JsonConvert.DeserializeObject <ExpandoObject>(settings.GlobalParameters) : new ExpandoObject();

            var settingsProperties = (IDictionary <string, object>)model.Settings;

            if (!settingsProperties.ContainsKey("lang"))
            {
                model.Settings.lang = Language(settings);
            }

            if (settings.SessionProvider == Enums.GigyaSessionProvider.Gigya && settings.GigyaSessionMode == Enums.GigyaSessionMode.Sliding)
            {
                // client needs -1 to specify a sliding session
                model.Settings.sessionExpiration = -1;
            }
            else if (settings.SessionProvider == Enums.GigyaSessionProvider.Gigya && settings.GigyaSessionMode == Enums.GigyaSessionMode.Forever)
            {
                // client needs -1 to specify a session that stays valid until the browser closes
                model.Settings.sessionExpiration = -2;
            }
            else if (settings.SessionProvider == Enums.GigyaSessionProvider.Gigya && settings.GigyaSessionMode == Enums.GigyaSessionMode.Session)
            {
                // client needs 0 to specify a session cookie
                model.Settings.sessionExpiration = 0;
            }
            else if (!settingsProperties.ContainsKey("sessionExpiration"))
            {
                model.Settings.sessionExpiration = settings.SessionTimeout;
            }

            model.SettingsJson = JsonConvert.SerializeObject(model.Settings);
            return(model);
        }