public LinkBaseViewModel(LinkBase linkBase, ChainViewModel parent)
        {
            LinkBaseData = linkBase;
            _parent      = parent;

            Parameters = new ObservableCollection <ParameterBaseViewModel>();
            foreach (var parameter in LinkBaseData.Parameters)
            {
                Parameters.Add(ParameterBaseViewModel.CreateInstance(parameter, this));
            }
        }
示例#2
0
        public async Task <IActionResult> Create(ChainViewModel data)
        {
            string idUser = _userHelperService.GetUserId(User);

            ViewBag.Groups = await _context.GroupAdmins
                             .Where(x => x.IdUser == idUser)
                             .Include(x => x.Group)
                             .Select(x => x.Group)
                             .ToDictionaryAsync(x => x.IdVk, x => x.Name);

            return(View(nameof(Create), data));
        }
示例#3
0
        public ChainViewModel GetChain(string chainInput)
        {
            var chainQuery = new ChainQueries(_context);
            var repoChain  = chainQuery.QueryChainIncludeBlocksAndTxs(chainInput);
            var chainList  = chainQuery.QueryChains().ToList();

            if (repoChain == null)
            {
                return(null);
            }

            return(ChainViewModel.FromChain(chainList, repoChain));
        }
示例#4
0
        public ChainView(ChainViewModel viewModel)
        {
            InitializeComponent();
            TextBlock_Id.Text     = viewModel.Id.ToString();
            TextBlock_Seller.Text = viewModel.SenderName;
            TextBlock_Buyer.Text  = viewModel.ReceiverName;

            TextBlock_TransactionValue.Text     = viewModel.TransactionValue;
            TextBlock_TransactionComission.Text = viewModel.TransactionComission;

            TextBlock_PrevHash.Text    = viewModel.PreviousHash;
            TextBlock_CurrentHash.Text = viewModel.CurrentHash;

            TextBlock_CreatedAt.Text = viewModel.CreatedAt;
        }
示例#5
0
        public async Task <IActionResult> Create()
        {
            string         idUser   = _userHelperService.GetUserId(User);
            ChainViewModel newChain = new ChainViewModel();

            if (_userHelperService.HasSelectedGroup(User))
            {
                newChain.IdGroup = _userHelperService.GetSelectedGroup(User).Key;
            }

            ViewBag.Groups = await _context.GroupAdmins
                             .Where(x => x.IdUser == idUser)
                             .Include(x => x.Group)
                             .Select(x => x.Group)
                             .ToDictionaryAsync(x => x.IdVk, x => x.Name);

            return(View(newChain));
        }
        public IActionResult Index()
        {
            // creating chain viewmodel;
            ChainViewModel chainViewModel = new ChainViewModel();

            foreach (Chain c in chainContext.GetAllChains())
            {
                if (c.ChainOwner == HttpContext.Session.GetInt32("UserId"))
                {
                    chainViewModel.Status = c.Status;

                    if (c.EfficientChain != null)
                    {
                        foreach (int userId in c.EfficientChain.Split(",").Select(Int32.Parse).ToList())
                        {
                            foreach (Users u in userContext.GetAllUser())
                            {
                                if (userId == u.UserId)
                                {
                                    chainViewModel.EfficientChain.Add(u);
                                }
                            }
                        }
                    }

                    if (c.ResponsiveChain != null)
                    {
                        foreach (int userId in c.ResponsiveChain.Split(",").Select(Int32.Parse).ToList())
                        {
                            foreach (Users u in userContext.GetAllUser())
                            {
                                if (userId == u.UserId)
                                {
                                    chainViewModel.ResponsiveChain.Add(u);
                                }
                            }
                        }
                    }
                }
            }
            return(View(chainViewModel));
        }
示例#7
0
        public async Task <IActionResult> SaveChain(ChainViewModel data)
        {
            if (!ModelState.IsValid)
            {
                return(await Create(data));
            }

            var newChain = new Chains()
            {
                IdGroup   = data.IdGroup.Value,
                IsEnabled = true,
                Name      = data.Name
            };
            await _context.Chains.AddAsync(newChain);

            await _context.SaveChangesAsync();

            data.Id = newChain.Id;
            return(RedirectToAction(nameof(Edit), data));
        }
示例#8
0
        public async Task <IActionResult> Edit(ChainViewModel data)
        {
            if (data == null)
            {
                return(NotFound());
            }

            data.Content = await DbHelper.GetChainContents(_context, data.Id)
                           .Select(x => new ChainContentIndexViewModel()
            {
                Id = x.Id,
                ExcludeFromChainName      = x.ExcludeFromChain == null ? null : x.ExcludeFromChain.Name,
                GoToChainName             = x.GoToChain == null ? null : x.GoToChain.Name,
                IsOnlyDayTime             = x.IsOnlyDayTime,
                MessageText               = x.Message == null ? null : x.Message.Text,
                SendAfterHours            = x.SendAfter.Days * 24 + x.SendAfter.Hours,
                SendAfterMinutes          = x.SendAfter.Minutes,
                SubscribersInChainContent = _context.SubscribersInChains.Count(y => !y.IsSended && y.IdChainStep == x.Id)
            }).ToArrayAsync();

            ViewBag.Chains = await _context.Chains.Where(x => x.IdGroup == data.IdGroup.Value).ToArrayAsync();

            return(View(data));
        }
示例#9
0
 public ChainView()
 {
     DataContext = new ChainViewModel();
     InitializeComponent();
 }