Beispiel #1
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }