public class SamanGatewayAccountService : IGatewayAccountSource { #region Fields private readonly BankGatewayService _bankGatewayService; #endregion Fields #region Methods #region Constructors public SamanGatewayAccountService(BankGatewayService bankGatewayService) { _bankGatewayService = bankGatewayService; _bankGatewayService.CheckArgumentIsNull(); } #endregion Constructors #region Add Acount public async Task AddAccountsAsync(IGatewayAccountCollection accounts) { var parbadGatewayViewModel = await _bankGatewayService.GetParbadGatewayAsync(GatewayType.Saman); accounts.Add(new SamanGatewayAccount { Name = GatewayType.Saman.Name, MerchantId = parbadGatewayViewModel.MerchentId, Password = parbadGatewayViewModel.Password }); } #endregion Add Acount #endregion Methods }