/// <summary> /// Добавление в спсиок печати документов маршрутного листа <paramref name="routeList"/> с выделением типов, /// указанных в массиве <paramref name="routeListPrintableDocumentTypes"/>, а также добавление в этот спсиок /// документов всех заказов из маршрутного листа <paramref name="routeList"/> с выделением типов, указанных в /// массиве <paramref name="orderDocumentTypes"/>. Если <paramref name="orderDocumentTypes"/> не указывать, то /// печать документов заказов произведена не будет. /// </summary> /// <param name="uow">Unit Of Work</param> /// <param name="routeList">Маршрутный лист</param> /// <param name="routeListPrintableDocumentTypes">Типы документов МЛ, которые необходимо отметить</param> /// <param name="orderDocumentTypes">Типы документов заказа, которые необходимо отметить</param> public EntitiyDocumentsPrinter(IUnitOfWork uow, RouteList routeList, RouteListPrintableDocuments[] routeListPrintableDocumentTypes, IList <OrderDocumentType> orderDocumentTypes = null) { this.uow = uow; currentRouteList = routeList; DocPrinterInit(); //Эти документы не будут добавлены в список печати вообще RouteListPrintableDocuments[] documentsToSkip = { RouteListPrintableDocuments.All, RouteListPrintableDocuments.LoadSofiyskaya, RouteListPrintableDocuments.TimeList, RouteListPrintableDocuments.OrderOfAddresses }; foreach (RouteListPrintableDocuments rlDocType in Enum.GetValues(typeof(RouteListPrintableDocuments))) { if (!documentsToSkip.Contains(rlDocType)) { var rlDoc = new RouteListPrintableDocs(uow, routeList, rlDocType); bool isSelected = routeListPrintableDocumentTypes.Contains(RouteListPrintableDocuments.All) || routeListPrintableDocumentTypes.Contains(rlDocType); SelectablePrintDocument doc = new SelectablePrintDocument(rlDoc) { Selected = isSelected }; DocumentsToPrint.Add(doc); } } if (orderDocumentTypes != null) { PrintOrderDocumentsFromTheRouteList(routeList, orderDocumentTypes); } }
/// <summary> /// Добавление в спсиок печати документов маршрутного листа <paramref name="routeList"/> с выделением типов, /// указанных в массиве <paramref name="routeListPrintableDocumentTypes"/>, а также добавление в этот спсиок /// документов всех заказов из маршрутного листа <paramref name="routeList"/> с выделением типов, указанных в /// массиве <paramref name="orderDocumentTypes"/>. Если <paramref name="orderDocumentTypes"/> не указывать, то /// печать документов заказов произведена не будет. /// </summary> /// <param name="uow">Unit Of Work</param> /// <param name="routeList">Маршрутный лист</param> /// <param name="entityDocumentsPrinterFactory">Фабрика принтеров</param> /// <param name="routeListPrintableDocumentTypes">Типы документов МЛ, которые необходимо отметить</param> /// <param name="orderDocumentTypes">Типы документов заказа, которые необходимо отметить</param> public EntityDocumentsPrinter( IUnitOfWork uow, RouteList routeList, IEntityDocumentsPrinterFactory entityDocumentsPrinterFactory, RouteListPrintableDocuments[] routeListPrintableDocumentTypes, IList <OrderDocumentType> orderDocumentTypes = null) { if (entityDocumentsPrinterFactory == null) { throw new ArgumentNullException(nameof(entityDocumentsPrinterFactory)); } DocPrinterInit(); //Эти документы не будут добавлены в список печати вообще RouteListPrintableDocuments[] documentsToSkip = { RouteListPrintableDocuments.All, RouteListPrintableDocuments.LoadSofiyskaya, RouteListPrintableDocuments.TimeList, RouteListPrintableDocuments.OrderOfAddresses }; foreach (RouteListPrintableDocuments rlDocType in Enum.GetValues(typeof(RouteListPrintableDocuments))) { if (!documentsToSkip.Contains(rlDocType)) { var rlDoc = new RouteListPrintableDocs(uow, routeList, rlDocType); var isSelected = routeListPrintableDocumentTypes.Contains(RouteListPrintableDocuments.All) || routeListPrintableDocumentTypes.Contains(rlDocType); var doc = new SelectablePrintDocument(rlDoc) { Selected = isSelected }; DocumentsToPrint.Add(doc); } } if (orderDocumentTypes != null) { PrintOrderDocumentsFromTheRouteList(routeList, entityDocumentsPrinterFactory, orderDocumentTypes); } }
public DocumentsPrinterDlg(IUnitOfWork uow, RouteList routeList, RouteListPrintableDocuments selectedType) { this.Build(); TabName = "Печать документов МЛ"; currentRouteList = routeList; foreach (RouteListPrintableDocuments rlDocType in Enum.GetValues(typeof(RouteListPrintableDocuments))) { if (rlDocType == RouteListPrintableDocuments.All) { continue; } var rlDoc = new RouteListPrintableDocs(uow, currentRouteList, rlDocType); bool isSelected = selectedType == RouteListPrintableDocuments.All || selectedType == rlDocType; SelectablePrintDocument doc = new SelectablePrintDocument(rlDoc, rlDoc.CopiesToPrint) { Selected = isSelected }; printDocuments.Add(doc); } Configure(); }