コード例 #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="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;
        }
コード例 #4
0
        /// <summary>
        /// Операция по внесению или выплате
        /// </summary>
        /// <param name="type">Внесение или выплата наличных</param>
        /// <param name="operatorParams">Оператор (кассир)</param>
        /// <param name="cashSum">Сумма наличных</param>
        public CreateCashManipulationOperation(CashManipulationType type, OperatorParams operatorParams,
                                               decimal cashSum) : base(type.ToString().ToLowerFirstChar())
        {
            if (cashSum < (decimal)0.01)
            {
                throw new ArgumentException(
                          string.Format(ErrorStrings.ResourceManager.GetString("DigitRangeValuesError"),
                                        this.GetType().GetProperty(nameof(CashSum)).GetDisplayName(), 0.01, decimal.MaxValue),
                          nameof(cashSum));
            }

            Operator = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
            CashSum  = cashSum;
        }
コード例 #5
0
        /// <summary>
        /// Создание операции по внесению или выплате наличных
        /// </summary>
        /// <param name="type">Внесение или выплата наличных</param>
        /// <param name="operatorParams">Оператор (кассир)</param>
        /// <param name="cashSum">Сумма наличных</param>
        public CreateCashManipulationOperation(CashManipulationType type, OperatorParams operatorParams,
                                               decimal cashSum) : base(type.ToString())
        {
            if (cashSum < (decimal)0.01 || cashSum > 21474836)
            {
                throw new ArgumentException(
                          string.Format(ErrorStrings.ResourceManager.GetString("DigitRangeValuesError"),
                                        this.GetType().GetProperty(nameof(Cash)).GetDisplayName(), 0.01, 21474836),
                          nameof(cashSum));
            }

            CashierInfo = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
            Cash        = cashSum;
        }
コード例 #6
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;
        }
コード例 #7
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;
        }
コード例 #8
0
 /// <summary>
 /// Закрытие смены
 /// </summary>
 /// <param name="operatorParams">Оператор (кассир)</param>
 public CloseShiftOperation(OperatorParams operatorParams) : base("CloseShift")
 {
     CashierInfo = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
 }
コード例 #9
0
 /// <summary>
 /// Создание отчета о текущем состоянии расчетов
 /// </summary>
 /// <param name="operatorParams">Оператор (кассир)</param>
 public CreateExchangeStatusReportOperation(OperatorParams operatorParams) : base("ReportStatusOfSettlements")
 {
     CashierInfo = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
 }
コード例 #10
0
 /// <summary>
 /// Открытие смены
 /// </summary>
 /// <param name="operatorParams">Оператор (кассир)</param>
 public OpenShiftOperation(OperatorParams operatorParams) : base("openShift")
 {
     Operator = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
 }
コード例 #11
0
 /// <summary>
 /// Отчет о текущем состоянии расчетов
 /// </summary>
 /// <param name="operatorParams">Оператор (кассир)</param>
 public CreateExchangeStatusReportOperation(OperatorParams operatorParams) : base("reportOfdExchangeStatus")
 {
     Operator = operatorParams ?? throw new ArgumentNullException(nameof(operatorParams));
 }