private void openCreditButton_Click(object sender, EventArgs e) { errorLabel.Text = String.Empty; if (_currentAccount == null) { errorLabel.Text = "Account not selected."; return; } CreditTypeEntity selectedCreditType; decimal startSum; try { selectedCreditType = (CreditTypeEntity)creditTypeComboBox.SelectedItem; startSum = Convert.ToDecimal(startSumTextBox.Text); } catch { errorLabel.Text = "Input correct data."; return; } decimal debtBalance; if (selectedCreditType.PercentType == PercentType.Simple) { debtBalance = startSum * (decimal)(1 + ((double)selectedCreditType.PayoutPeriod / Constants.K) * selectedCreditType.InterestRate); } else { debtBalance = startSum * (decimal)Math.Pow((1 + selectedCreditType.InterestRate), ((double)selectedCreditType.PayoutPeriod / Constants.K)); } var userCreditEntity = new UserCreditEntity { BankAccountId = _currentAccount.Id, CreditTypeId = selectedCreditType.Id, StartDate = DateTimeOffset.Now, StartSum = startSum, FinishDate = DateTimeOffset.Now + TimeSpan.FromDays(selectedCreditType.PayoutPeriod), DebtBalance = debtBalance }; _currentAccount.MoneyCount += startSum; dbContext.BankAccounts.Update(_currentAccount); dbContext.UserCredits.Add(userCreditEntity); dbContext.SaveChanges(); Close(); }
public TokenResult Generate() { var userCreditSequence = Request.Headers["user_credit"].ToString(); var userCreditSequenceArray = userCreditSequence.Split(new char[] { ',' }).Select(u => u.Trim()).ToList(); var userCredit = new UserCreditEntity { ClientID = userCreditSequenceArray[0], UserNo = userCreditSequenceArray[1], Password = userCreditSequenceArray[2] }; if (!userCredit.ClientID.Equals(CustomSettings.AppSettings.ClientID)) { return(new TokenResult { IsSuccess = false, ErrorMessage = "user credit is invalid." }); } var userGetRequest = new UserGetRequest { UserNo = userCredit.UserNo, Password = new Cryptor().Decrypt(userCredit.Password.ToArray()) }; var user = userService.GetUser(userGetRequest); if (user == null) { return(new TokenResult { IsSuccess = false, ErrorMessage = "user credit is incorrect." }); } return(jwtTokenHelper.BuildAuthorizeToken(CustomSettings.AppSettings.ClientID, tokenOptions)); }