コード例 #1
0
        public async Task <bool> AddUpdateBankAccountdetailsAsync(cor_bankaccountdetail model)
        {
            if (model.BankAccountDetailId > 0)
            {
                var itemToEdit = await _dataContext.cor_bankaccountdetail.FindAsync(model.BankAccountDetailId);

                _dataContext.Entry(itemToEdit).CurrentValues.SetValues(model);
            }
            else
            {
                await _dataContext.cor_bankaccountdetail.AddAsync(model);
            }
            return(await _dataContext.SaveChangesAsync() > 0);
        }
コード例 #2
0
        public async Task <SupplierAccountRegRespObj> Handle(AddUpdateBankAccountdetailCommand request, CancellationToken cancellationToken)
        {
            var response = new SupplierAccountRegRespObj {
                Status = new APIResponseStatus {
                    IsSuccessful = false, Message = new APIResponseMessage()
                }
            };

            try
            {
                var user = await _serverRequest.UserDataAsync();

                var banks = await _financeServer.GetAllBanksAsync();

                if (banks.bank.Count() == 0)
                {
                    response.Status.Message.FriendlyMessage = "Bank Not Found";
                    return(response);
                }
                var supplierAcccount = banks.bank.FirstOrDefault(q => q.BankGlId == request.Bank);

                if (supplierAcccount == null)
                {
                    response.Status.Message.FriendlyMessage = "Unidentified Selected Bank";
                    return(response);
                }

                var verificationObj = new VerifyAccount();
                verificationObj.account_bank   = supplierAcccount.BankCode;
                verificationObj.account_number = request.AccountNumber;
                var verificationRresponse = await _financeServer.VerifyAccountNumber(verificationObj);

                if (string.IsNullOrEmpty(verificationRresponse.status))
                {
                    response.Status.Message.FriendlyMessage = verificationRresponse.message;
                    //return response;
                }
                if (verificationRresponse.status != "success")
                {
                    response.Status.Message.FriendlyMessage = verificationRresponse.message;
                    //return response;
                }

                cor_bankaccountdetail item = new cor_bankaccountdetail();
                item.Deleted             = false;
                item.CreatedOn           = request.SupplierId > 0 ? (DateTime?)null : DateTime.Now;
                item.CreatedBy           = user != null? user.UserName : "";
                item.UpdatedBy           = user != null ? user.UserName : "";
                item.AccountName         = request.AccountName;
                item.AccountNumber       = request.AccountNumber;
                item.BankAccountDetailId = request.BankAccountDetailId;
                item.BVN        = request.BVN;
                item.SupplierId = request.SupplierId;
                item.Bank       = request.Bank;

                await _supRepo.AddUpdateBankAccountdetailsAsync(item);

                response.Status.Message.FriendlyMessage = "Successful";
                response.Status.IsSuccessful            = true;
                return(response);
            }
            catch (Exception ex)
            {
                #region Log error to file
                var errorCode = ErrorID.Generate(4);
                _logger.Error($"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}");
                return(new SupplierAccountRegRespObj
                {
                    Status = new APIResponseStatus
                    {
                        IsSuccessful = false,
                        Message = new APIResponseMessage
                        {
                            FriendlyMessage = "Error occured!! Unable to process item",
                            MessageId = errorCode,
                            TechnicalMessage = $"ErrorID : {errorCode} Ex : {ex?.Message ?? ex?.InnerException?.Message} ErrorStack : {ex?.StackTrace}"
                        }
                    }
                });

                #endregion
            }
        }