private static IEnumerable <Purchase> GetTableData(DateTime initialDate, DateTime?finalDate)
        {
            if (finalDate.HasValue && initialDate == finalDate.Value)
            {
                finalDate = null;
            }

            var items = PurchaseDB.GetPurchase(initialDate, finalDate);

            return(items.OrderBy(x => x.Date));
        }
Пример #2
0
 private void ConfirmButton_Click(object sender, RoutedEventArgs e)
 {
     if (purchase.ItemsAmount > 0)
     {
         PurchaseDB.Add(purchase);
         PurchaseCreated?.Invoke(purchase);
         Close();
     }
     else
     {
         MessageBox.Show("Goods list is empty!");
     }
 }
Пример #3
0
        private void Initialize()
        {
            var lastDate = PurchaseDB.GetLastPurchaseDate();

            ManagerCalendar.DisplayDateEnd   = DateTime.Today;
            ManagerCalendar.DisplayDateStart = InitialDate;

            if (lastDate != null)
            {
                InitializeDiagram();
                ManagerCalendar.SelectedDate = lastDate;
                Task.Run(() => CrossOutUnavailableDates());
            }
        }
		private void InitializeComboBox()
		{
			var items = Enum.GetValues(typeof(GoodTypes));
			foreach (var item in items)
			{
				TypeComboBox.Items.Add(item);
			}

			var existingTypes = PurchaseDB.GetAllGoodTypes();
			foreach(var item in existingTypes)
			{
				if(ComboBoxContains(item)==-1)
					TypeComboBox.Items.Add(item);
			}
		}
Пример #5
0
        private void CrossOutUnavailableDates()
        {
            var availableDates = PurchaseDB.GetAvailableDates();

            Dispatcher.Invoke(() => ManagerCalendar.BlackoutDates.Clear());

            var currentDate = DateTime.Today;

            while (currentDate != InitialDate)
            {
                if (availableDates.Count(x => x.Year == currentDate.Year &&
                                         x.Month == currentDate.Month &&
                                         x.Day == currentDate.Day) == 0)                                            // if there's no such date
                {
                    Dispatcher.Invoke(() => ManagerCalendar.BlackoutDates.Add(new CalendarDateRange(currentDate)));
                }

                currentDate = currentDate.AddDays(-1);
            }
        }