Exemple #1
0
        public bool IsValid(Action <Error> showError)
        {
            if (string.IsNullOrEmpty(Name))
            {
                showError(new Error("name", "Введите наименование кредита"));
                return(false);
            }

            if (string.IsNullOrEmpty(Bank))
            {
                showError(new Error("name", "Введите наименование банка"));
                return(false);
            }

            if (string.IsNullOrEmpty(Type) || (Type != "Дифференцированный" && Type != "Аннуитет"))
            {
                showError(new Error("name", "Введите тип выплат. Доступные типы: Дифференцированный, Аннуитет"));
                return(false);
            }

            if (string.IsNullOrEmpty(Procent))
            {
                showError(new Error("name", "Введите процентную ставку"));
                return(false);
            }

            if (!float.TryParse(Procent?.Replace(",", "."), NumberStyles.AllowDecimalPoint, null, out var procent))
            {
                showError(new Error("name", "Процент ввведен в неверном формате или равен 0"));
                return(false);
            }

            if (string.IsNullOrEmpty(Duration))
            {
                showError(new Error("name", "Введите длительность"));
                return(false);
            }

            if (!int.TryParse(Duration, out var duration))
            {
                showError(new Error("name", "Длительность ввведена в неверном формате или равна 0"));
                return(false);
            }

            if (string.IsNullOrEmpty(Amount))
            {
                showError(new Error("name", "Введите сумму"));
                return(false);
            }

            if (!long.TryParse(Amount, out var anount))
            {
                showError(new Error("name", "Сумма ввведена в неверном формате или равна 0"));
                return(false);
            }

            if (string.IsNullOrEmpty(StartDate))
            {
                showError(new Error("name", "Введите начало выплат"));
                return(false);
            }

            if (!DateTime.TryParse(StartDate, new CultureInfo("ru"), DateTimeStyles.None, out var starrtdate))
            {
                showError(new Error("name", "Сумма ввведена в неверном формате или равна 0"));
                return(false);
            }

            return(true);
        }