public ActionResult Index()
        {
            try
            {
                var idUser = User.Identity.GetUserId();
                var userPublicationsConcrete =
                    UserPublicationService.GetUserPublicationsForConcreteUser(_factory, idUser);
                ViewBag.Sum = UserPublicationService.GetUnpaidSumForUser(_factory, idUser);

                var account = UserService.GetAccountOfUser(_factory, idUser);
                ViewBag.AccountSum = account.Balance;

                return(View(userPublicationsConcrete));
            }
            catch (Exception ex)
            {
                logger.Error(ex, ex.Message);
                return(View("Error", new HandleErrorInfo(ex, "UserPublications", "Index")));
            }
        }
        public void GetUnpaidSumForUser()
        {
            var user = new ApplicationUser
            {
                Id        = "1",
                Email     = "*****@*****.**",
                UserName  = "******",
                FirstName = "User1",
                LastName  = "User1"
            };
            var p4 = new Publication
            {
                PublicationId     = 4,
                NameOfPublication = "БудМайстер",
                Description       =
                    @"ЖУРНАЛ БУДМАЙСТЕР - специализированный журнал, который рассчитан на читателей, практикующих в области строительства, ремонта, дизайна и архитектуры. Журнал позиционируется как рекламно-информационное периодическое издание. Материалы, публикуемые в журнале, информируют о состоянии отечественного строительного рынка, перспективах развития строительного комплекса Украины, современных строительных материалах и технологиях.",
                Periodicity   = "ежемесячно",
                Format        = "А4",
                Color         = "полноцвет",
                Volume        = 100,
                PricePerMonth = 65,
            };
            var p2 = new Publication
            {
                PublicationId     = 2,
                NameOfPublication = "Auto Bild Все ведущие. Всеукраинские издания",
                Description       =
                    @"Журнал Auto Bild Все ведущие – это оперативные тесты авто, новости от производителей, история автомобилестроения, эксплуатация, ремонт и практические советы автомобилистам, авто-мото спорт, цены на новые авто. ",
                Periodicity   = "ежемесячно",
                Format        = "А4",
                Color         = "полноцвет",
                Volume        = 76,
                PricePerMonth = 60,
            };
            Mock <IRepositoryFactory> mock = new Mock <IRepositoryFactory>();

            mock.Setup(a => a.UserPublicationRepository.Get()).Returns(new List <UserPublication>
            {
                new UserPublication
                {
                    UserPublicationId = 1,
                    Publication       = p4,
                    UserId            = user.Id,
                    StartDate         = DateTime.Now,
                    EndDate           = DateTime.Now.AddMonths(4),
                    Period            = 4,
                    PaymentState      = true
                },
                new UserPublication
                {
                    UserPublicationId = 1,
                    Publication       = p2,
                    UserId            = user.Id,
                    StartDate         = DateTime.Now,
                    EndDate           = DateTime.Now.AddMonths(4),
                    Period            = 1,
                    PaymentState      = false
                },
            });
            double result = UserPublicationService.GetUnpaidSumForUser(mock.Object, user.Id);

            Assert.AreEqual(60, result);
        }