示例#1
0
 /// <summary>
 /// Открытие фискального чека
 /// </summary>
 /// <param name="fiscalReceiptType">Тип открываемого чека</param>
 /// <param name="operatorParams">Оператор (кассир)</param>
 /// <param name="taxationType">Система налогообложения</param>
 public OpenCheckOperation(FiscalReceiptType fiscalReceiptType, OperatorParams operatorParams,
                           TaxationType taxationType) : base("OpenCheck")
 {
     CheckType   = fiscalReceiptType;
     TaxSystem   = taxationType;
     CashierInfo = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
 }
示例#2
0
        /// <summary>
        /// Создание фискального чека
        /// </summary>
        /// <param name="type">Тип фискального чека</param>
        /// <param name="operatorParams">Оператор (кассир)</param>
        /// <param name="taxationType">Система налогообложения</param>
        /// <param name="items">Элементы документа (предметы расчета и тд.)</param>
        /// <param name="payments">Оплаты</param>
        public CreateFiscalReceiptOperation(FiscalReceiptType type, OperatorParams operatorParams,
                                            TaxationType taxationType, DocumentParams[] items, PaymentParams[] payments) : base(type.ToString()
                                                                                                                                .ToLowerFirstChar())
        {
            if (items?.Any() != true)
            {
                throw new ArgumentException(
                          string.Format(
                              ErrorStrings.ResourceManager.GetString("MinLengthError"),
                              this.GetType().GetProperty(nameof(Items)).GetDisplayName(), 1),
                          nameof(items));
            }

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

            Operator     = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
            Items        = items;
            Payments     = payments;
            TaxationType = taxationType;
        }
示例#3
0
        /// <summary>
        /// Параметры ККТ
        /// </summary>
        /// <param name="registrationNumber">Регистрационный номер</param>
        /// <param name="address">Место расчетов</param>
        /// <param name="encryption">Шифрование данных</param>
        /// <param name="offlineMode">Работа в автономном режиме</param>
        /// <param name="service">Использование для услуг</param>
        /// <param name="bso">Автоматизированная система печати БСО</param>
        /// <param name="internet">ККТ для расчетов только в сети Интернет</param>
        /// <param name="autoMode">Признак автоматического режима</param>
        /// <param name="fnsUrl">Адрес сайта ФНС</param>
        /// <param name="machineInstallation">Признак установки принтера в автомате</param>
        /// <param name="excise">Продажа подакцизного товара</param>
        /// <param name="gambling">Признак проведения азартных игр</param>
        /// <param name="lottery">Признак проведения лотереи</param>
        /// <param name="defaultTaxationType">Система налогообложения по умолчанию</param>
        /// <param name="ofdChannel">Канал обмена с ОФД</param>
        /// <param name="ffdVersion">Версия ФФД</param>
        public KKTParams(string registrationNumber,
                         string address,
                         bool encryption,
                         bool offlineMode,
                         bool service,
                         bool bso,
                         bool internet,
                         bool autoMode,
                         string fnsUrl,
                         bool machineInstallation,
                         bool excise,
                         bool gambling,
                         bool lottery,
                         TaxationType defaultTaxationType,
                         OfdChannelType ofdChannel,
                         FfdVersionType ffdVersion)
        {
            if (registrationNumber.IsNullOrEmptyOrWhiteSpace())
            {
                throw new ArgumentException(
                          string.Format(
                              ErrorStrings.ResourceManager.GetString("StringFormatError"),
                              this.GetType().GetProperty(nameof(RegistrationNumber)).GetDisplayName()),
                          nameof(registrationNumber));
            }

            if (address.IsNullOrEmptyOrWhiteSpace())
            {
                throw new ArgumentException(
                          string.Format(ErrorStrings.ResourceManager.GetString("StringFormatError"),
                                        this.GetType().GetProperty(nameof(address)).GetDisplayName()),
                          nameof(address));
            }

            if (fnsUrl.IsNullOrEmptyOrWhiteSpace() || !Regex.IsMatch(fnsUrl, RegexHelper.UrlPattern))
            {
                throw new ArgumentException(
                          string.Format(ErrorStrings.ResourceManager.GetString("StringFormatError"),
                                        this.GetType().GetProperty(nameof(FnsUrl)).GetDisplayName()),
                          nameof(fnsUrl));
            }

            RegistrationNumber = registrationNumber;
            PaymentsAddress    = address;
            FnsUrl             = fnsUrl;
            Encryption         = encryption;
            OfflineMode        = offlineMode;
            Service            = service;
            Bso                 = bso;
            Internet            = internet;
            AutoMode            = autoMode;
            MachineInstallation = machineInstallation;
            Excise              = excise;
            Gambling            = gambling;
            Lottery             = lottery;
            DefaultTaxationType = defaultTaxationType;
            OfdChannel          = ofdChannel;
            FfdVersion          = ffdVersion;
        }
示例#4
0
        /// <summary>
        /// Создание чека коррекции
        /// </summary>
        /// <param name="type">Тип чека коррекции</param>
        /// <param name="correctionType">Способ коррекции</param>
        /// <param name="correctionDescription">Описание коррекции</param>
        /// <param name="correctionBaseDate">Дата совершения корректируемого расчета</param>
        /// <param name="operatorParams">Оператор (кассир)</param>
        /// <param name="taxationType">Система налогообложения</param>
        /// <param name="items">Элементы документа (предметы расчета и тд.)</param>
        /// <param name="payments">Оплаты</param>
        public CreateCorrectionReceiptOperation(CorrectionReceiptType type,
                                                CorrectionReceiptCorrectionType correctionType, string correctionDescription, DateTime correctionBaseDate,
                                                OperatorParams operatorParams,
                                                TaxationType taxationType, DocumentParams[] items, PaymentParams[] payments) : base(type.ToString()
                                                                                                                                    .ToLowerFirstChar())
        {
            if (items?.Any() != true)
            {
                throw new ArgumentException(
                          string.Format(
                              ErrorStrings.ResourceManager.GetString("MinLengthError"),
                              this.GetType().GetProperty(nameof(Items)).GetDisplayName(), 1),
                          nameof(items));
            }

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

            if (correctionDescription.IsNullOrEmptyOrWhiteSpace())
            {
                throw new ArgumentException(
                          string.Format(ErrorStrings.ResourceManager.GetString("StringFormatError"),
                                        this.GetType().GetProperty(nameof(CorrectionBaseName)).GetDisplayName()),
                          nameof(correctionDescription));
            }

            CorrectionType     = correctionType;
            CorrectionBaseName = correctionDescription;
            CorrectionBaseDate = correctionBaseDate;
            Operator           = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
            Items        = items;
            Payments     = payments;
            TaxationType = taxationType;
        }