예제 #1
0
        private void RemoveTicket()
        {
            if (!LockCheckPass(true, false, Types.Strings.TheSelectedTicketCanNotBeRemovedBecauseItAlreadyOpenedSomewhereElse))
            {
                return;
            }

            FormattedListBoxItem selected =
                (FormattedListBoxItem)listboxSourceTicket.SelectedItem;

            if (selected == null)
            {
                return;
            }
            if (TicketItem.GetAll(selected.ReferenceObject as YearId).Any())
            {
                // Remove the ticket
                TicketManager.Delete(selected.ReferenceObject as YearId);
                listboxSourceTicket.Items.Remove(listboxSourceTicket.SelectedItem);
            }
            else
            {
                PosDialogWindow.ShowDialog(
                    Types.Strings.YouCanNotRemoveATicketThatHasItemsOnItFirstTransferThoseItemsToADifferentTicket, Types.Strings.TicketNotEmpty);
            }
        }
예제 #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            Ticket ticket = ticketManager.Find(x => x.Id == id);

            ticketManager.Delete(ticket);

            CacheHelper.RemoveCategoriesFromCache();

            return(RedirectToAction("Index"));
        }
예제 #3
0
        private static void VoidTicket(Ticket selectedTicket)
        {
            // Print out hard copys for record keeping
            PrinterManager.Print(selectedTicket, TicketItemPrintOptions.AllAsVoid);

            double amount = selectedTicket.GetSubTotal();

            TicketVoid.Add(SessionManager.ActiveEmployee.Id, selectedTicket.PrimaryKey, null, amount);

            ClearTicketCoupons(selectedTicket.PrimaryKey);
            ClearTicketDiscounts(selectedTicket.PrimaryKey);

            TicketDelivery.DeleteByTicket(selectedTicket.PrimaryKey);
            foreach (TicketItem ticketItem in
                     TicketItem.GetAll(selectedTicket.PrimaryKey))
            {
                bool updateInventory = !(ticketItem.IsCanceled && !ticketItem.IsWasted);
                ticketItem.Delete(updateInventory);
            }
            TicketManager.Delete(selectedTicket.PrimaryKey);
        }
예제 #4
0
        private void RestoreToSingleTicket()
        {
            // Need to check for locks on any of the settings in the source list
            if (listboxSourceTicket.Items.Cast <FormattedListBoxItem>()
                .Where(item => item.Id != OriginalTicket.PrimaryKey.Id)
                .Any(item => PosHelper.IsLocked(TableName.Ticket, item.Id)))
            {
                PosDialogWindow.ShowDialog(
                    Types.Strings.OneOrMoreOfTheTicketsInThisPartyIsCurrentlyBeingModifiedSomewhereElseCanNotChangeToSingleTicket, Types.Strings.TicketLocked);
                return;
            }

            // Move TicketItems
            IEnumerable <Ticket> tickets = TicketManager.GetPartyTickets(ParentTicket.PartyId);

            foreach (Ticket ticket in tickets)
            {
                if (ticket.PrimaryKey.Equals(ParentTicket.PrimaryKey) ||
                    ticket.IsClosed || ticket.IsCanceled)
                {
                    continue;
                }
                // Move all ticket items that are not on the ParentTicket, back to
                // the ParentTicket
#if DEMO
                int ticketItemCount = ParentTicket.GetNumberOfTicketItems() +
                                      ticket.GetNumberOfTicketItems();
                if (ticketItemCount > 3)
                {
                    PosDialogWindow.ShowDialog(Window.GetWindow(this),
                                               Types.Strings.YouCanNotAddMoreThan3TicketItemsToASingleTicketInTheDemoVersionAdditionalTicketItemsWillBeRemoved,
                                               Types.Strings.DemoRestriction);
                }
#endif
                IEnumerable <TicketItem> ticketItems = TicketItem.GetAll(ticket.PrimaryKey);
                foreach (TicketItem ticketItem in ticketItems)
                {
#if DEMO
                    if (ParentTicket.GetNumberOfTicketItems() >= 3)
                    {
                        ticketItem.Delete();
                        continue;
                    }
#endif
                    ticketItem.SetTicketId(ParentTicket.PrimaryKey.Id);
                    ticketItem.UpdateTicketId();
                }

                // Delete the child ticket
                TicketManager.Delete(ticket.PrimaryKey);
            }

            // Delete Party Invites
            IEnumerable <PartyInvite> invites = PartyInvite.GetAll(ParentTicket.PartyId);
            foreach (PartyInvite invite in invites)
            {
                PartyInvite.Delete(invite.Id);
            }

            // Delete the party
            Party.Delete(ParentTicket.PartyId);
            ParentTicket.SetPartyId(0);
            ParentTicket.Update();
            CurrentTicket = OriginalTicket = ParentTicket;

            // Done, Close the parent window
            Window.GetWindow(this).Close();
        }
예제 #5
0
 public void DeleteItem(int intId)
 {
     am.Delete(intId);
 }