public ActionResult GetAd(string id)
        {
            id = id.NullSafe();
            JsonViewData viewData = Validate <JsonViewData>(
                new Validation(() => string.IsNullOrEmpty(id), "Identyfikator reklamy nie może być pusty."),
                new Validation(() => id.ToGuid().IsEmpty(), "Niepoprawny reklamy artykułu."),
                new Validation(() => !IsCurrentUserAuthenticated, "Nie jesteś zalogowany."),
                new Validation(() => !CurrentUser.CanModerate(), "Nie masz praw do woływania tej metody.")
                );

            if (viewData == null)
            {
                try
                {
                    IRecommendation recommendation = _recommendationRepository.FindById(id.ToGuid());

                    if (recommendation == null)
                    {
                        viewData = new JsonViewData {
                            errorMessage = "Podana rekalama nie istnieje."
                        };
                    }
                    else
                    {
                        return(Json(
                                   new
                        {
                            id = recommendation.Id.Shrink(),
                            recommendationLink = recommendation.RecommendationLink,
                            recommendationTitle = recommendation.RecommendationTitle,
                            imageLink = recommendation.ImageLink,
                            imageTitle = recommendation.ImageTitle,
                            startTime = recommendation.StartTime.ToString("yyyy-MM-dd"),
                            endTime = recommendation.EndTime.ToString("yyyy-MM-dd"),
                            position = recommendation.Position,
                            email = recommendation.Email,
                            notificationIsSent = recommendation.NotificationIsSent,
                            isBanner = recommendation.IsBanner
                        }
                                   ));
                    }
                }
                catch (Exception e)
                {
                    Log.Exception(e);

                    viewData = new JsonViewData {
                        errorMessage = FormatStrings.UnknownError.FormatWith("pobierania reklamy")
                    };
                }
            }

            return(Json(viewData));
        }