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)); }
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)); }
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)); }
// 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)); }
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)); }
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)); }