Beispiel #1
0
        internal IList <TicketViewData> GetTicketList()
        {
            var tickets = _ticketService.GetTicketsByState(Settings.State);

            return(tickets.Select(x => new TicketViewData {
                TicketData = _printerService.GetPrintingContent(x, Settings.Format, Settings.Width), TicketId = x.Id
            }).ToList());
        }
Beispiel #2
0
        internal IList <TicketViewData> GetTicketList()
        {
            var tickets = _ticketService.GetTicketsByState(State);

            if (!string.IsNullOrEmpty(Settings.OrderBy))
            {
                if (Settings.OrderBy.Contains("{"))
                {
                    tickets = tickets.OrderBy(x => _printerService.GetPrintingContent(x, Settings.OrderBy, 0));
                }
                else
                {
                    switch (Settings.OrderBy)
                    {
                    case "Id":
                        tickets = tickets.OrderBy(x => x.Id);
                        break;

                    case "Ticket No":
                        tickets = tickets.OrderBy(x => x.TicketNumber);
                        break;

                    case "Last Order":
                        tickets = tickets.OrderBy(x => x.LastOrderDate);
                        break;

                    default:
                    {
                        var entityTypeName  = Settings.OrderBy;
                        var entityFieldName = "";
                        if (entityTypeName.Contains(":"))
                        {
                            var parts = entityTypeName.Split(':');
                            entityTypeName  = parts[0];
                            entityFieldName = parts[1];
                        }
                        var entityType = _cacheService.GetEntityTypeIdByEntityName(entityTypeName);
                        if (entityType > 0)
                        {
                            if (string.IsNullOrEmpty(entityFieldName))
                            {
                                tickets = tickets.OrderBy(x => x.GetEntityName(entityType));
                            }
                            else
                            {
                                tickets =
                                    tickets.OrderBy(
                                        x =>
                                        x.TicketEntities.First(y => y.EntityTypeId == entityType)
                                        .GetCustomData(entityFieldName));
                            }
                        }
                    }
                    break;
                    }
                }
            }

            var ticketList = tickets as IList <Ticket> ?? tickets.ToList();

            if (!string.IsNullOrEmpty(OrderState))
            {
                foreach (var ticket in ticketList)
                {
                    ticket.Orders = ticket.Orders.Where(x => x.IsInState(OrderState)).ToList();
                }
            }

            return(ticketList.Select(x => new TicketViewData
            {
                ItemSelectionCommand = ItemSelectionCommand,
                Background = Settings.Background,
                Foreground = Settings.Foreground,
                SelectedBackground = Settings.SelectedBackground,
                SelectedForeground = Settings.SelectedForeground,
                MinWidth = Settings.MinWidth,
                Border = Settings.Border,
                TicketData =
                    _printerService.GetPrintingContent(x, Settings.Format,
                                                       Settings.Width),
                Ticket = x
            }).ToList());
        }