Ejemplo n.º 1
0
 /// <summary>
 /// Constructor for creating accounts.
 /// </summary>
 /// <param name="user">The user for the account.</param>
 /// <param name="name">The name of the account.</param>
 /// <param name="isAsset">Bool representing the classification (asset or liability) of the account.</param>
 /// <param name="isActive">Bool representing the active status of the account.</param>
 public Account(AccountTrackerV2User user, string name, bool isAsset, bool isActive)
 {
     UserID   = user.Id;
     Name     = name;
     IsAsset  = isAsset;
     IsActive = isActive;
 }
Ejemplo n.º 2
0
 public Vendor(AccountTrackerV2User user, string name, bool isDefault, bool isDisplayed)
 {
     UserID      = user.Id;
     Name        = name;
     IsDefault   = isDefault;
     IsDisplayed = isDisplayed;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Constructor for creating transactions.
 /// </summary>
 /// <param name="user">User for the transaction.</param>
 /// <param name="transactionDate">Date of the transaction.</param>
 /// <param name="transactionTypeID">Type of transaction "Payment To" or "Payment From".</param>
 /// <param name="accountID">Account associated to the transaction.</param>
 /// <param name="categoryID">Transaction category</param>
 /// <param name="vendorID">Transaction vendor</param>
 /// <param name="amount">Transaction amount</param>
 /// <param name="description">Transaction description</param>
 public Transaction(AccountTrackerV2User user, DateTime transactionDate, int transactionTypeID, int accountID, int categoryID, int vendorID, decimal amount, string description)
 {
     UserID            = user.Id;
     TransactionDate   = transactionDate;
     TransactionTypeID = transactionTypeID;
     AccountID         = accountID;
     CategoryID        = categoryID;
     VendorID          = vendorID;
     Amount            = amount;
     Description       = description;
 }
Ejemplo n.º 4
0
        public async Task <IActionResult> OnPostAsync(string returnUrl = null)
        {
            returnUrl      = returnUrl ?? Url.Content("~/");
            ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList();
            if (ModelState.IsValid)
            {
                var user = new AccountTrackerV2User
                {
                    FirstName = Input.FirstName,
                    LastName  = Input.LastName,
                    DOB       = Input.DOB,
                    UserName  = Input.Email,
                    Email     = Input.Email
                };
                var result = await _userManager.CreateAsync(user, Input.Password);

                if (result.Succeeded)
                {
                    _logger.LogInformation("User created a new account with password.");

                    var code = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code));
                    var callbackUrl = Url.Page(
                        "/Account/ConfirmEmail",
                        pageHandler: null,
                        values: new { area = "Identity", userId = user.Id, code = code, returnUrl = returnUrl },
                        protocol: Request.Scheme);

                    //TODO: Implement email sender.
                    await _emailSender.SendEmailAsync(Input.Email, "Confirm your email",
                                                      $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");

                    if (_userManager.Options.SignIn.RequireConfirmedAccount)
                    {
                        return(RedirectToPage("RegisterConfirmation", new { email = Input.Email, returnUrl = returnUrl }));
                    }
                    else
                    {
                        await _signInManager.SignInAsync(user, isPersistent : false);

                        return(LocalRedirect(returnUrl));
                    }
                }
                foreach (var error in result.Errors)
                {
                    ModelState.AddModelError(string.Empty, error.Description);
                }
            }

            // If we got this far, something failed, redisplay form
            return(Page());
        }
Ejemplo n.º 5
0
        private async Task LoadAsync(AccountTrackerV2User user)
        {
            var userName = await _userManager.GetUserNameAsync(user);

            var phoneNumber = await _userManager.GetPhoneNumberAsync(user);

            Username = userName;

            Input = new InputModel
            {
                PhoneNumber = phoneNumber,
                FirstName   = user.FirstName,
                LastName    = user.LastName,
                DOB         = user.DOB
            };
        }