コード例 #1
0
 public static IQueryable <IIncomingInvoice> GetDuplicates(IIncomingInvoice incomingInvoice,
                                                           Sungero.Docflow.IDocumentKind documentKind,
                                                           string number,
                                                           DateTime?date,
                                                           double?totalAmount,
                                                           Commons.ICurrency currency,
                                                           Parties.ICounterparty counterparty)
 {
     return(IncomingInvoices.GetAll()
            .Where(i => i.DocumentKind.Equals(documentKind))
            .Where(i => i.Number == number)
            .Where(i => i.Date == date)
            .Where(i => i.TotalAmount == totalAmount)
            .Where(i => i.Currency.Equals(currency))
            .Where(i => i.Counterparty.Equals(counterparty))
            .Where(i => !Equals(i, incomingInvoice)));
 }
コード例 #2
0
        /// <summary>
        /// Проверить дубли входящего счета.
        /// </summary>
        /// <param name="incomingInvoice">Счет для проверки.</param>
        /// <param name="documentKind">Вид счета.</param>
        /// <param name="number">Номер счета.</param>
        /// <param name="date">Дата счета.</param>
        /// <param name="totalAmount">Сумма счета.</param>
        /// <param name="currency">Валюта счета.</param>
        /// <param name="counterparty">Контрагент счета.</param>
        /// <returns>True, если дубликаты имеются, иначе - false.</returns>
        public static bool HaveDuplicates(IIncomingInvoice incomingInvoice,
                                          Sungero.Docflow.IDocumentKind documentKind,
                                          string number,
                                          DateTime?date,
                                          double?totalAmount,
                                          Commons.ICurrency currency,
                                          Parties.ICounterparty counterparty)
        {
            if (documentKind == null ||
                string.IsNullOrWhiteSpace(number) ||
                date == null ||
                totalAmount == null ||
                currency == null ||
                counterparty == null)
            {
                return(false);
            }

            return(Functions.IncomingInvoice.Remote.GetDuplicates(incomingInvoice, documentKind, number, (DateTime)date, (double)totalAmount, currency, counterparty).Any());
        }
コード例 #3
0
 public IncomingInvoiceContext(SessionContext baseContext, IIncomingInvoice invoice)
     : base(baseContext)
 {
     Invoice = invoice ?? throw new ArgumentNullException(nameof(invoice));
 }
コード例 #4
0
 public IncomingInvoiceContext(IncomingInvoiceContext origin)
     : base(origin)
 {
     Invoice = origin.Invoice;
 }