Exemple #1
0
        /// <summary>
        /// Регистрация/перерегистрация ККТ
        /// </summary>
        /// <param name="type">Тип регистрации ККТ</param>
        /// <param name="operatorParams">Оператор (кассир)</param>
        /// <param name="organizationParams">Информация об организации</param>
        /// <param name="kktParams">Параметры ККТ</param>
        /// <param name="ofdParams">Параметры ОФД</param>
        /// <param name="localDateTime">Локальные дата и время в месте (по адресу) осуществления расчетов</param>
        /// <param name="taxationTypes">Системы налогообложения, с которыми работает ККТ</param>
        /// <param name="kktRegistrationReason">Причина перерегистрации ККТ</param>
        public RegisterKKTOperation(KKTRegistrationType type,
                                    OperatorParams operatorParams,
                                    OrganizationParams organizationParams,
                                    KKTParams kktParams,
                                    OfdParams ofdParams,
                                    DateTime localDateTime, ISet <TaxationType> taxationTypes,
                                    KKTRegistrationReason?kktRegistrationReason = null) : base(type.ToString())
        {
            DateTime = localDateTime;

            CashierInfo = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
            Owner       = organizationParams ?? throw new ArgumentNullException(nameof(organizationParams));
            Kkt         = kktParams ?? throw new ArgumentNullException(nameof(kktParams));
            Ofd         = ofdParams ?? throw new ArgumentNullException(nameof(ofdParams));

            if (taxationTypes?.Any() != true)
            {
                throw new ArgumentException(string.Format(ErrorStrings.ResourceManager.GetString("MinLengthError"),
                                                          this.GetType().GetProperty(nameof(TaxSystem)).GetDisplayName(), 1),
                                            nameof(taxationTypes));
            }

            TaxSystem = taxationTypes;

            if (type == KKTRegistrationType.ReregisterKKT && kktRegistrationReason == null)
            {
                throw new ArgumentNullException(nameof(kktRegistrationReason));
            }

            Reason = kktRegistrationReason;
        }
Exemple #2
0
        /// <summary>
        /// Регистрация/перерегистрация ККТ
        /// </summary>
        /// <param name="type">Тип регистрации ККТ</param>
        /// <param name="operatorParams">Оператор (кассир)</param>
        /// <param name="organizationParams">Информация об организации-пользователе</param>
        /// <param name="kktParams">Параметры ККТ</param>
        /// <param name="ofdParams">Параметры ОФД</param>
        /// <param name="kktRegistrationReason">Причина перерегистрации ККТ</param>
        public RegisterKKTOperation(KKTRegistrationType type, OperatorParams operatorParams,
                                    OrganizationParams organizationParams, KKTParams kktParams, OfdParams ofdParams,
                                    KKTRegistrationReason?kktRegistrationReason = null) : base(type.ToString()
                                                                                               .ToLowerFirstChar())
        {
            Operator     = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
            Organization = organizationParams ?? throw new ArgumentNullException(nameof(organizationParams));
            Device       = kktParams ?? throw new ArgumentNullException(nameof(kktParams));
            Ofd          = ofdParams ?? throw new ArgumentNullException(nameof(ofdParams));

            if (type == KKTRegistrationType.ChangeRegistrationParameters && kktRegistrationReason == null)
            {
                throw new ArgumentNullException(nameof(kktRegistrationReason));
            }

            Reason = kktRegistrationReason;
        }