Exemplo n.º 1
0
        public static string ValidateFiscalQuarter(string fiscalPeriodParam)
        {
            var tokens = fiscalPeriodParam.Split('Q');

            if (tokens.Length != 2)
            {
                return("フォーマットが正しくありません。'2017Q1'のように設定してください");
            }
            else if (!uint.TryParse(tokens[0], out uint year))
            {
                return("年が数値ではありません。");
            }
            else if (!uint.TryParse(tokens[1], out uint quarter))
            {
                return("四半期が数値ではありません。");
            }
            else
            {
                try
                {
                    FiscalYearValidator.Validate(year);
                }
                catch (ValidationError) { return($"年の設定が不正です: {year}"); }
                try
                {
                    FiscalQuarterValidator.Validate(quarter);
                }
                catch (ValidationError) { return($"四半期の設定が不正です: {quarter}"); }
            }
            return(null);
        }
Exemplo n.º 2
0
        public void ValidateTest()
        {
            // 1 - 5  is quarter, path validate method
            new List <uint> {
                1, 2, 3, 4, 5
            }.ForEach(q => FiscalQuarterValidator.Validate(q));

            // error case, 0 or 6+ int
            Assert.ThrowsException <ValidationError>(() => FiscalQuarterValidator.Validate(0));


            Assert.ThrowsException <ValidationError>(() => FiscalQuarterValidator.Validate(6));
        }
Exemplo n.º 3
0
 public static FiscalQuarterPeriod Create(uint fiscalYear, uint fiscalQuarter)
 {
     FiscalYearValidator.Validate(fiscalYear);
     FiscalQuarterValidator.Validate(fiscalQuarter);
     return(new FiscalQuarterPeriod(fiscalYear, fiscalQuarter));
 }