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