public DocumentList GetDocumentList(DocumentListOptions options) { return CheckAutorizedInvoke(() => client.GetDocumentList(Token, options)); }
private void FillDocumentListOptions(DocumentListOptions documentListOptions) { if (UserInput.ChooseYesNo("Фильтровать по контрагентам?", false)) { var contragentBoxes = new List<string>(); do { var contragentBox = ChooseContragentBox(); if (!string.IsNullOrWhiteSpace(contragentBox)) { contragentBoxes.Add(contragentBox); if (!UserInput.ChooseYesNo("Добавить еще одного контрагента?")) break; } } while (true); documentListOptions.ContragentBoxIds = contragentBoxes.ToArray(); } if (UserInput.ChooseYesNo("Фильтровать по типам документов?", false)) { var documentTypes = new List<DocumentType>(); if (UserInput.ChooseYesNo("Неформализованный")) documentTypes.Add(DocumentType.Untyped); if (UserInput.ChooseYesNo("Электронный счет-фактура")) documentTypes.Add(DocumentType.Invoice); if (UserInput.ChooseYesNo("Товарная накладная (титул продавца)")) documentTypes.Add(DocumentType.WaybillSeller); if (UserInput.ChooseYesNo("Акт о выполнении работ (титул исполнителя)")) documentTypes.Add(DocumentType.ActOfWorkSeller); if (UserInput.ChooseYesNo("Исправленный счет-фактура")) documentTypes.Add(DocumentType.InvoiceRevision); if (UserInput.ChooseYesNo("Корректировочный счет-фактура")) documentTypes.Add(DocumentType.InvoiceCorrection); if (UserInput.ChooseYesNo("Исправленный корректировочный счет-фактура")) documentTypes.Add(DocumentType.InvoiceCorrectionRevision); if (UserInput.ChooseYesNo("Соглашение об аннулировании")) documentTypes.Add(DocumentType.RevocationOffer); documentListOptions.DocumentTypes = documentTypes.ToArray(); } if (UserInput.ChooseYesNo("Фильтровать по статусам подписания?", false)) { var signStatuses = new List<DocumentSignStatus>(); if (UserInput.ChooseYesNo("Подпись не требуется")) signStatuses.Add(DocumentSignStatus.NoSignNeeded); if (UserInput.ChooseYesNo("Подписан")) signStatuses.Add(DocumentSignStatus.Signed); if (UserInput.ChooseYesNo("Отказано")) signStatuses.Add(DocumentSignStatus.SignRejected); if (UserInput.ChooseYesNo("Требуется подпись")) signStatuses.Add(DocumentSignStatus.WaitingForSign); documentListOptions.DocumentSignStatuses = signStatuses.ToArray(); } if (UserInput.ChooseYesNo("Фильтровать по статусам СФ?", false)) { var invoiceStatuses = new List<InvoiceFlowStatus>(); if (UserInput.ChooseYesNo("Отправлен")) invoiceStatuses.Add(InvoiceFlowStatus.InvoiceSent); if (UserInput.ChooseYesNo("Выставлен")) invoiceStatuses.Add(InvoiceFlowStatus.InvoiceCharged); if (UserInput.ChooseYesNo("Выставлен. Запрошено уточнение")) invoiceStatuses.Add(InvoiceFlowStatus.InvoiceRejected); if (UserInput.ChooseYesNo("Нарушен регламент")) invoiceStatuses.Add(InvoiceFlowStatus.InvoiceNotValid); documentListOptions.InvoiceFlowStatuses = invoiceStatuses.ToArray(); } if (UserInput.ChooseYesNo("Фильтровать по статусу требования подтверждения получения?", false)) { documentListOptions.NeedReceipt = (bool?)UserInput.ChooseOption("Требуется подтверждение получения?", new[] { new UserInput.Option("1", "Да", true, true), new UserInput.Option("2", "Нет ", true, false), new UserInput.Option("3", "Оба варианта", true, null) }).Data; } if (UserInput.ChooseYesNo("Фильтровать по статусам аннулирования?", false)) { var revocationStatuses = new List<DocumentRevocationStatus>(); foreach (var revocationStatus in Enum .GetValues(typeof(DocumentRevocationStatus)) .Cast<DocumentRevocationStatus>()) if (UserInput.ChooseYesNo(EnumHelper.GetDescription(revocationStatus))) revocationStatuses.Add(revocationStatus); documentListOptions.DocumentRevocationStatuses = revocationStatuses.ToArray(); } if (UserInput.ChooseYesNo("Указать период отправки", false)) { documentListOptions.From = ChooseDate(true); documentListOptions.To = ChooseDate(false); } }
private void GetDocumentList() { #pragma warning disable 618 //Отключить предупреждения насчет устаревших полей (obsolete) var incoming = UserInput.ChooseYesNo("Входящие"); var documentListOptions = new DocumentListOptions { BoxTo = incoming ? _context.CurrentBox : null, BoxFrom = !incoming ? _context.CurrentBox : null, First = 0, Max = 10 }; if (UserInput.ChooseYesNo("Указать параметры фильтрации", false)) FillDocumentListOptions(documentListOptions); var documentList = _context.ServiceClient.GetDocumentList(documentListOptions); Console.Out.WriteLine("Всего документов {0}", documentList.Total); while (true) { Console.Out.WriteLine("Документы с " + (documentListOptions.First + 1) + " по " + Math.Min(documentListOptions.First + documentListOptions.Max, documentList.Total)); foreach (var documentListEntry in documentList.Items) { Console.Out.WriteLine("{0, -60} {1, -20} {2, -20} {3, -20} {4, -20} {5}", documentListEntry.Name, incoming ? documentListEntry.FromOrganizationName : documentListEntry.ToOrganizationName, (DocumentType)documentListEntry.DocumentTypeEnum.Code, GetStatusText(documentListEntry.MessageFrom, documentListEntry.Status, documentListEntry.DocumentFlowStatusDescription), documentListEntry.Id, documentListEntry.SentDate); } if (documentListOptions.First + documentListOptions.Max > documentList.Total) break; if (!UserInput.ChooseYesNo("Далее")) break; documentListOptions.First += documentListOptions.Max; documentList = _context.ServiceClient.GetDocumentList(documentListOptions); } }
private void GetDocumentList() { #pragma warning disable 618 //Отлючить предупреждения насчет устаревших полей (obsolete) var incoming = UserInput.ChooseYesNo("Входящие"); var documentListOptions = new DocumentListOptions() { BoxTo = incoming ? context.CurrentBox : null, BoxFrom = !incoming ? context.CurrentBox : null, First = 0, Max = 10 }; if (UserInput.ChooseYesNo("Указать период отправки", false)) { documentListOptions.From = ChooseDate(from: true); documentListOptions.To = ChooseDate(from: false); } var documentList = context.ServiceClient.GetDocumentList(documentListOptions); Console.Out.WriteLine("Всего документов {0}", documentList.Total); while (true) { Console.Out.WriteLine("Документы с " + (documentListOptions.First + 1) + " по " + Math.Min(documentListOptions.First + documentListOptions.Max, documentList.Total)); foreach (var documentListEntry in documentList.Items) { Console.Out.WriteLine("{0, -60} {1, -20} {2, -20} {3, -20} {4} {5}", documentListEntry.Name, incoming ? documentListEntry.FromOrganizationName : documentListEntry.ToOrganizationName, documentListEntry.DocumentType, StatusText(documentListEntry.MessageTo, documentListEntry.Status), documentListEntry.Id, documentListEntry.SentDate); } if (documentListOptions.First + documentListOptions.Max > documentList.Total) break; if (!UserInput.ChooseYesNo("Далее")) break; documentListOptions.First += documentListOptions.Max; documentList = context.ServiceClient.GetDocumentList(documentListOptions); } }