Ejemplo n.º 1
0
 public static IQueryable <IIncomingLetter> GetDuplicates(IIncomingLetter letter,
                                                          Docflow.IDocumentKind documentKind,
                                                          Company.IBusinessUnit businessUnit,
                                                          string inNumber,
                                                          DateTime?dated,
                                                          Parties.ICounterparty correspondent)
 {
     return(IncomingLetters.GetAll()
            .Where(l => documentKind != null && Equals(documentKind, l.DocumentKind))
            .Where(l => dated.HasValue && dated == l.Dated)
            .Where(l => businessUnit != null && Equals(businessUnit, l.BusinessUnit))
            .Where(l => !string.IsNullOrWhiteSpace(inNumber) && inNumber == l.InNumber)
            .Where(l => correspondent != null && Equals(correspondent, l.Correspondent))
            .Where(l => !Equals(letter, l)));
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Проверить письмо на дубликаты.
        /// </summary>
        /// <param name="letter">Входящее письмо.</param>
        /// <param name="documentKind">Вид документа.</param>
        /// <param name="businessUnit">Наша организация.</param>
        /// <param name="correspondentNumber">Номер корреспондента.</param>
        /// <param name="dated">Дата письма.</param>
        /// <param name="correspondent">Корреспондент.</param>
        /// <returns>True, если дубликаты имеются, иначе - false.</returns>
        public static bool HaveDuplicates(IIncomingLetter letter,
                                          Sungero.Docflow.IDocumentKind documentKind,
                                          Company.IBusinessUnit businessUnit,
                                          string correspondentNumber,
                                          DateTime?dated,
                                          Parties.ICounterparty correspondent)
        {
            if (documentKind == null ||
                businessUnit == null ||
                string.IsNullOrEmpty(correspondentNumber) ||
                !dated.HasValue ||
                correspondent == null)
            {
                return(false);
            }

            return(Functions.IncomingLetter.Remote.GetDuplicates(letter, documentKind, businessUnit, correspondentNumber, dated, correspondent).Any());
        }