public ActionResult Index() { AccountIndex ai = new AccountIndex(); var user = db.Users.Find(User.Identity.GetUserId()); ai.AllProjects = db.Projects.ToList(); ai.User = user; ai.Role = roleHelper.ListUserRoles(User.Identity.GetUserId()).FirstOrDefault(); if (ai.Role == "Admin") { ai.Projects = projectHelper.ListUserProjects(User.Identity.GetUserId()); ai.Tickets = db.Tickets.ToList(); } else if (ai.Role == "ProjectManager") { ai.Projects = projectHelper.ListUserProjects(User.Identity.GetUserId()); ai.Tickets = projectHelper.ListUserProjects(User.Identity.GetUserId()).SelectMany(p => p.Tickets).ToList(); } else if (ai.Role == "Developer") { ai.Projects = projectHelper.ListUserProjects(User.Identity.GetUserId()); ai.Tickets = db.Tickets.Where(t => t.DeveloperId == user.Id).ToList(); } else if (ai.Role == "Submitter") { ai.Projects = projectHelper.ListUserProjects(User.Identity.GetUserId()); ai.Tickets = db.Tickets.Where(t => t.SubmitterId == user.Id).ToList(); } return(View(ai)); }
public void Add(AccountIndex index) { using (var connection = GetConnection()) { connection.Open(); connection.Insert(new { AccountId = index.AccountId, AccountName = index.AccountName }, Constants.AccountIndexTable); } }
// PUT api/account/5/patch public void Put(int id, string patch, AccountIndex account) { //switch (patch) //{ // case "security": // _manager.UpdateSecurityStatistics(account); // break; // default: // _manager.Save(account); // break; //} }
public async Task Add(AccountIndex index) { using (var connection = GetConnection()) { await connection.OpenAsync(); await connection.InsertAsync(new { AccountId = index.AccountId, AccountName = index.AccountName }, Constants.AccountIndexTable); } }
public async Task DownloadLastStatus() { if (_statusBusy) { return; } _statusBusy = true; var modified = false; for (var i = 0; ; i++) { var batch = _subscriptions.GetBatch(i); if (batch == null) { break; } //if (Time.PassedSeconds(batch.LastChecked) < 60) // continue; var accounts = batch.GetSubscriptions(); var transactionResult = await AccountIndex.DownloadLastTransactionInfoBatch(_client, ChainType.Data, ChainId, StatusServiceInfo.StatusDataChainIndex, accounts, StatusServiceInfo.MessageIndex); if (transactionResult != null) { if (transactionResult.ResultType == ResultTypes.Ok) { modified |= _subscriptions.ProcessLastTransactionInfo(batch, transactionResult.Item); modified |= await QueryMissingProfiles(); } } else { //UIApp.Toast(""); } } if (modified) { await SaveAsync(); } _statusBusy = false; }
public async Task <InboxRecordDownloadEvent> DownloadInboxRecords(long accountId) { var items = new List <InboxNameRecordInfo>(); var result = MessageNodeEventResultTypes.Unknown; if (!ServiceNode.HasUnlockedServiceAccount) { result = MessageNodeEventResultTypes.NoUnlockedAccount; goto end; } var next = (await _client.DownloadNextServiceAccountKeyIndex(accountId, ChainId)).Data; if (next == null || !next.IsValid) { result = MessageNodeEventResultTypes.DownloadFailed; goto end; } var keyCount = next.Item - 1; var indices = new List <Chain.Index>(); for (short i = 0; i <= keyCount; i++) { indices.Add(MessageServiceInfo.GetInboxIndex(i)); } var data = await AccountIndex.DownloadLastTransactionInfoIndicesBatch(_client, ChainType.Data, ChainId, MessageServiceInfo.MessageDataChainIndex, accountId, indices); if (data == null) { result = MessageNodeEventResultTypes.DownloadFailed; goto end; } if (data.ResultType != ResultTypes.Ok) { result = MessageNodeEventResultTypes.InvalidAccount; goto end; } var batch = data.Item; var count = batch.Count; for (short i = 0; i < count; i++) { InboxNameRecord record = null; (var success, _, var last) = batch.GetInfo(i); if (success) { try { var transactionData = await ServiceNode.GetTransactionDownloadManager(MessageServiceInfo.MessageDataChainIndex).DownloadTransaction(last.TransactionId); if (transactionData.Ok && transactionData.Count == 1 && transactionData.Transactions[0].Transaction.TryGetFeature <Data>(Data.FeatureId, out var featureData)) { var recordData = featureData.Items[0].BinaryValue; record = new InboxNameRecord(new Unpacker(recordData)); } } catch { } } items.Add(new InboxNameRecordInfo(i, record)); } if (items.Count > 0) { result = MessageNodeEventResultTypes.Ok; if (accountId == AccountId) { InboxNameRecords = items; } } else { result = MessageNodeEventResultTypes.InvalidAccount; } end: var @event = new InboxRecordDownloadEvent(accountId, items, this, result); await UIApp.PubSub.PublishAsync(@event); return(@event); }
// POST api/account public void Post(AccountIndex account) { //_manager.CreateNew(account); }
public override long GetPreviousTransactionId(Transaction transaction) { AccountIndex.GetPreviousTransactionId(transaction, out var previousTransactionId); return(previousTransactionId); }
public override async Task <Result> GetLastTransactionId() { return(await AccountIndex.DownloadLastTransactionInfo(_client, ChainType, ChainId, ChainIndex, AccountId, _index)); }