public async Task <BankingDetailsDto> SaveAccountRecord(long userId, BankingDetailsRegistrationDto bankingDetailsRegistrationDto) { var user = await _userRepo.GetUser(userId); if (user.BankingDetails.Count >= 3) { return(null); } var bankingDetails = _mapper.Map <BankingDetails>(bankingDetailsRegistrationDto); if (bankingDetails.IsMain) { SetAllUserBankingDetailsToNotMain(user); } bankingDetails.User = user; _bankingRepo.AddBankingDetails(bankingDetails); var isSaved = await _bankingRepo.SaveChanges(); if (!isSaved) { return(null); } var bankingDetailsDto = _mapper.Map <BankingDetailsDto>(bankingDetails); return(bankingDetailsDto); }
public async Task <IActionResult> SaveBankingDetails(long userId, [FromBody] BankingDetailsRegistrationDto bankingDetailsRegistrationDto) { if (!_customAuth.IsUserAllowedAccess(userId, HttpContext)) { return(StatusCode(401)); } var response = await _bankingDetailsServices.SaveBankingDetails(userId, bankingDetailsRegistrationDto); return(StatusCode(response.Status, response)); }
public async Task <ApiResponseDto <bool> > UpdateBankingDetails(long userId, long bankingDetailsId, BankingDetailsRegistrationDto bankingDetailsRegistrationDto) { var bankingDetails = await GetUserBankingDetailsByUserIdAndBankingDetailsId(userId, bankingDetailsId); if (bankingDetails == null) { return(new ApiResponseDto <bool>(500, "Record does not exist", "Record Unavailable", false)); } if (bankingDetailsRegistrationDto.IsMain) { var user = await _userRepo.GetUser(userId); SetAllUserBankingDetailsToNotMain(user); } bankingDetails.AccountName = bankingDetailsRegistrationDto.AccountName; bankingDetails.AccountNumber = bankingDetailsRegistrationDto.AccountNumber; bankingDetails.AccountType = bankingDetailsRegistrationDto.AccountType.SetAccountType(); bankingDetails.BankName = bankingDetailsRegistrationDto.BankName; bankingDetails.IsMain = bankingDetailsRegistrationDto.IsMain; _bankingRepo.UpdateBankingDetails(bankingDetails); var isUpdated = await _bankingRepo.SaveChanges(); if (!isUpdated) { return(new ApiResponseDto <bool>(500, "An Error occured while trying to update record", "Error updating record", false)); } return(new ApiResponseDto <bool>(200, "Record upated", null, true)); }
public async Task <ApiResponseDto <BankingDetailsDto> > SaveBankingDetails(long userId, BankingDetailsRegistrationDto bankingDetailsRegistrationDto) { var bankingDetailsInDatabase = await _bankingRepo.FindByAccountNumber(bankingDetailsRegistrationDto.AccountNumber); if (bankingDetailsInDatabase != null) { return(new ApiResponseDto <BankingDetailsDto>(403, "This record already exists", "Error adding record", null)); } var bankingDetailsDto = await SaveAccountRecord(userId, bankingDetailsRegistrationDto); System.Console.WriteLine("Second"); if (bankingDetailsDto == null) { return(new ApiResponseDto <BankingDetailsDto>(500, "An Error occured while trying to save record", "Error saving record", null)); } return(new ApiResponseDto <BankingDetailsDto>(200, "Record saved", null, bankingDetailsDto)); }