Ejemplo n.º 1
0
        public MessageModel <RemitSettingDTO> GetCurrencyInfo([FromRoute, SwaggerParameter("國家 e.g. TW ", Required = true)] string country)
        {
            Logger.LogInformation(country);
            BussinessUnitRemitSetting setting    = remitSettingService.GetRemitSettingByCountry(country.ToUpper());
            RemitSettingDTO           settingDTO = _mapper.Map <RemitSettingDTO>(setting);

            return(new MessageModel <RemitSettingDTO>
            {
                Data = settingDTO
            });
        }
        private string CheckIfAmountOutOfRange(long userId, int amount, string country)
        {
            BussinessUnitRemitSetting remitSetting = remitSettingService.GetRemitSettingByCountry(country);

            if (remitSetting == null)
            {
                return("no remit setting for {country}");
            }
            if (amount < remitSetting.RemitMin || amount > remitSetting.RemitMax)
            {
                return(OUT_OF_RANGE);
            }
            RemitAvailableAmountSumVo amountSumVo = remitRecordQueryRepositories.QueryRemitAvailableAmount(userId, country);

            if (amountSumVo.MonthlyAvailableRemitAmount != null && amount > amountSumVo.MonthlyAvailableRemitAmount)
            {
                return(OUT_OF_MONTHLY_MAX);
            }
            if (amountSumVo.YearlyAvailableRemitAmount != null && amount > amountSumVo.YearlyAvailableRemitAmount)
            {
                return(OUT_OF_YEARLY_MAX);
            }
            return(null);
        }