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()); }
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()); }