private bool ReceiptCanBePrinted(Data.Occupancy occupancy)
 {
     if (CurrentOccupancy != null)
     {
         return(Business.Occupancy.ReceiptCanBePrinted(Business.Occupancy.DataOccupancyToBusiness(CurrentOccupancy)));
     }
     else
     {
         return(false);
     }
 }
 private bool CanPayAll(Data.Occupancy occupancy)
 {
     if (CurrentOccupancy != null)
     {
         return(Business.Occupancy.CanPayAll(Business.Occupancy.DataOccupancyToBusiness(CurrentOccupancy)));
     }
     else
     {
         return(false);
     }
 }
 private void PrintReceipt(Data.Occupancy occupancy)
 {
     try
     {
         HorekaPrinter.POSPrinter.PrintReceipt(CurrentOccupancy);
     }
     catch (System.IO.IOException)
     {
         ErrorHandler.ThrowError(505, Properties.Resources.ErrorNoPrinterFound);
     }
     catch (Exception ex)
     {
         ErrorHandler.ThrowError(506, Properties.Resources.ErrorUnknown + ": " + ex.Message);
     }
 }
        public void EndOccupancy(Data.Occupancy occupancy)
        {
            if (MessageBoxResult.Yes == MessageBox.Show(Properties.Resources.ConfirmationEndOccupancy,
                                                        Properties.Resources.ConfirmationSalesPaid, MessageBoxButton.YesNo, MessageBoxImage.Exclamation, MessageBoxResult.No))
            {
                CurrentOccupancy.EndTime = DateTime.Now;
                _occupanciesRepository.UpdateOccupancy(CurrentOccupancy);
                Table.IsOccupied = false;
                _tablesRepository.UpdateTable(Table);
                CurrentOccupancy = null;
                UnpaidAmount     = 0;
                PaidAmount       = 0;
                TotalAmount      = 0;

                MessageHandler.InvokeSuccessMessage(Properties.Resources.Occupancy, Properties.Resources.OccupancyRemove.Replace("{tablename}", Table.Name));
            }
        }
        private void PayAll(Data.Occupancy occupancy)
        {
            foreach (Data.Sale sale in CurrentOccupancy.Sales)
            {
                if (sale.Paid == 0)
                {
                    sale.Paid = 1;
                    PaySelectedSaleRequested?.Invoke(sale);
                }
            }

            PaidAmount   = CalculatePaidAmount();
            TotalAmount  = CalculateTotalAmount();
            UnpaidAmount = CalculateUnpaidAmount();

            MessageHandler.InvokeSuccessMessage(Properties.Resources.InformationPaySales, Properties.Resources.InformationSalesPaid);
            UpdateView();
        }
        public void StartOccupancy(Data.Occupancy occupancy)
        {
            Data.Occupancy NewOccupancy = new Data.Occupancy();

            if (SelectedReservation != null)
            {
                NewOccupancy.Reservation = SelectedReservation;
            }

            NewOccupancy.StartTime = DateTime.Now;
            NewOccupancy.Table     = Table;
            NewOccupancy.Sales     = new ObservableCollection <Data.Sale>();
            CurrentOccupancy       = _occupanciesRepository.AddOccupancy(NewOccupancy);
            Table.IsOccupied       = true;
            _tablesRepository.UpdateTable(Table);
            UnpaidAmount = 0;
            PaidAmount   = 0;
            TotalAmount  = 0;
        }