Example #1
0
        public async Task <IActionResult> IssueShares([Bind("ShareId,Amount")] ShareBalance balance)
        {
            if (ModelState.IsValid)
            {
                var account = db.Accounts
                              .Where(q => q.Id == int.Parse(User.Identity.Name))
                              .FirstOrDefault();

                var shareBalance = db.ShareBalances
                                   .Where(q => q.Account.Id == account.Id && q.Type == Account.GetByteByType(AccountType.company))
                                   .FirstOrDefault();

                if (shareBalance == null)
                {
                    balance.AccountId = account.Id;
                    balance.Type      = 2;
                    db.ShareBalances.Add(balance);
                }
                else
                {
                    shareBalance.Amount += balance.Amount;
                    db.Update(shareBalance);
                }
                await db.SaveChangesAsync();

                return(RedirectToAction(nameof(ProfileController.Index), "Profile", new { type = AccountType.company.ToString() }));
            }
            return(View(balance));
        }
Example #2
0
        public async Task <IActionResult> Index([Bind("Type,ShareId,Amount")] ShareBalance newSellerShareBalance)
        {
            if (ModelState.IsValid && newSellerShareBalance.Amount > 0)
            {
                var share = db.Shares
                            .Include(q => q.Company)
                            .Where(q => q.Id == newSellerShareBalance.ShareId)
                            .FirstOrDefault();

                if (await db.ShareOperation(

                        new UserInfo {
                    Id = int.Parse(User.Identity.Name), Type = Account.GetByteByType((AccountType)newSellerShareBalance.Type)
                },
                        new UserInfo {
                    Id = share.Company.AccountId, Type = Account.GetByteByType(AccountType.company)
                },
                        newSellerShareBalance))
                {
                    return(RedirectToAction(nameof(Index), new { shareId = newSellerShareBalance.ShareId, type = newSellerShareBalance.Type }));
                }
            }
            return(RedirectToAction(nameof(Index), new { shareId = newSellerShareBalance.ShareId, type = newSellerShareBalance.Type }));
        }