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))); }
/// <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()); }
public IncomingInvoiceContext(SessionContext baseContext, IIncomingInvoice invoice) : base(baseContext) { Invoice = invoice ?? throw new ArgumentNullException(nameof(invoice)); }
public IncomingInvoiceContext(IncomingInvoiceContext origin) : base(origin) { Invoice = origin.Invoice; }