Esempio n. 1
0
        public async Task <IActionResult> Index()
        {
            if (!_userHelperService.HasSelectedGroup(User))
            {
                return(RedirectToAction(nameof(GroupsController.Index), "Groups"));
            }
            var selectedGroup = _userHelperService.GetSelectedGroup(User);

            var model = await _context.RepostScenarios
                        .Where(x => x.WallPost.IdGroup == selectedGroup.Key)
                        .Select(x => new IndexRepostScenarioViewModel()
            {
                Id                = x.Id,
                Name              = x.Name,
                IdCheckingChain   = x.CheckingChainContent.IdChain,
                CheckingChainName = x.CheckingChainContent.Chain.Name,
                CheckIsSubscriber = x.CheckIsSubscriber,
                HasGoToChain      = x.IdGoToChain.HasValue,
                HasGoToChain2     = x.IdGoToErrorChain1.HasValue,
                GoToChainName     = x.GoToChain != null ? x.GoToChain.Name : string.Empty,
                GoToChain2Name    = x.GoToErrorChain1 != null ? x.GoToErrorChain1.Name : string.Empty,
                MessageIndex      = x.CheckingChainContent.Index,
                MessageTextPart   = x.CheckingChainContent.Message.TextPart,
                PostLink          = new Uri($"https://vk.com/wall-{selectedGroup.Key}_{x.WallPost.IdVk}")
            }).ToArrayAsync();

            return(View("Index", model));
        }
Esempio n. 2
0
        public async Task <IActionResult> Index(int page = 1, string sortExpression = nameof(AllSubscribersViewModel.DtAdd))
        {
            if (!_userHelperService.HasSelectedGroup(User))
            {
                return(RedirectToAction(nameof(GroupsController.Index), "Groups"));
            }

            var groupInfo = _userHelperService.GetSelectedGroup(User);

            var subscribers = _context.Subscribers
                              .Include(x => x.VkUser)
                              .Where(x => x.IdGroup == groupInfo.Key && !x.IsUnsubscribed)
                              .Select(x => new AllSubscribersViewModel()
            {
                Id            = x.Id,
                IdVk          = x.IdVkUser,
                Birthday      = x.VkUser.Birthday,
                City          = x.VkUser.City,
                Country       = x.VkUser.Country,
                DtAdd         = x.DtAdd,
                FIO           = $"{x.VkUser.LastName} {x.VkUser.FirstName}",
                Link          = x.VkUser.Link,
                Photo         = x.VkUser.PhotoSquare50,
                Sex           = x.VkUser.Sex,
                IsSubscriber  = x.IsSubscribedToGroup,
                IsChatAllowed = x.IsChatAllowed
            });

            var model = await PagingList.CreateAsync(subscribers, nameof(Index), "Subscribers", 20, page, sortExpression, nameof(AllSubscribersViewModel.DtAdd));

            ViewBag.IdGroup   = groupInfo.Key;
            ViewBag.GroupName = groupInfo.Value;
            ViewBag.LinkGroup = $"https://vk.com/public{groupInfo.Key}";
            return(View(model));
        }
Esempio n. 3
0
        public async Task <IActionResult> Create()
        {
            if (!_userHelperService.HasSelectedGroup(User))
            {
                return(RedirectToAction(nameof(GroupsController.Index), "Groups"));
            }

            ScenarioViewModel newScenario = new ScenarioViewModel()
            {
                IsStrictMatch = true
            };

            var selectedGroup = _userHelperService.GetSelectedGroup(User);

            ViewBag.Chains = await _context.Chains
                             .Where(x => x.IdGroup == selectedGroup.Key)
                             .ToDictionaryAsync(x => x.Id, x => x.Name);

            return(View("Edit", newScenario));
        }
Esempio n. 4
0
        // GET: Chains
        public async Task <IActionResult> Index()
        {
            if (!_userHelperService.HasSelectedGroup(User))
            {
                return(RedirectToAction(nameof(GroupsController.Index), "Groups"));
            }
            var selectedGroup = _userHelperService.GetSelectedGroup(User);

            var model = await _context.Chains
                        .Where(x => x.IdGroup == selectedGroup.Key)
                        .Select(x => new IndexViewModel()
            {
                Id                      = x.Id,
                Name                    = x.Name,
                IsEnabled               = x.IsEnabled,
                SubscribersInChain      = _context.SubscribersInChains.Count(y => !y.IsSended && y.ChainStep.IdChain == x.Id),
                TotalSubscribersInChain = _context.History_SubscribersInChainSteps
                                          .Where(y => y.ChainStep.IdChain == x.Id)
                                          .GroupBy(y => y.IdSubscriber).Count()
            }).ToListAsync();

            return(View(model));
        }
Esempio n. 5
0
        public async Task <IActionResult> Index()
        {
            if (!_userHelperService.HasSelectedGroup(User))
            {
                return(RedirectToAction(nameof(GroupsController.Index), "Groups"));
            }
            var selectedGroup = _userHelperService.GetSelectedGroup(User);

            var model = await _context.ShortUrlsScenarios
                        .Where(x => x.ShortUrl.IdGroup == selectedGroup.Key)
                        .Select(x => new IndexViewModel()
            {
                Id                = x.Id,
                Name              = x.Name,
                IsEnabled         = x.IsEnabled,
                CheckingChainName = x.CheckingChainContent.Chain.Name,
                CheckIsSubscriber = x.CheckIsSubscriber,
                MessageIndex      = x.CheckingChainContent.Index,
                MessageText       = x.CheckingChainContent.Message.Text,
                ShortUrlName      = x.ShortUrl.Name
            }).ToArrayAsync();

            return(View(nameof(Index), model));
        }
Esempio n. 6
0
        public async Task <IActionResult> Edit(EditViewModel model)
        {
            if (!_userHelperService.HasSelectedGroup(User))
            {
                return(RedirectToAction(nameof(GroupsController.Index), "Groups"));
            }

            var groupInfo = _userHelperService.GetSelectedGroup(User);

            ViewBag.Chains = await _context.Chains
                             .Where(x => x.IdGroup == groupInfo.Key)
                             .Select(x => new { x.Id, x.Name })
                             .ToDictionaryAsync(x => x.Id, x => x.Name);

            return(View(nameof(Edit), model));
        }