Exemple #1
0
        public MainWindow()
        {
            InitializeComponent();
            NowyCalendarDayButton dm = new NowyCalendarDayButton();

            DataContext = dm;
        }
        /// <summary>
        /// Tworzy dni poprzedniego miesiaca w widoku obecnego
        /// </summary>
        private void CreatePreviousMonthDays(int monthDays)
        {
            var indexRow = 0;

            for (int i = previousDaysLimit; i > 0; i--)
            {
                string year  = DateTime.Now.Year.ToString();
                string month = (Convert.ToInt32(DateTime.Now.Month.ToString()) - 1).ToString();

                NowyCalendarDayButton dzien = new NowyCalendarDayButton(monthDays - (i - 1), actualMonth, actualYear);

                dzien.Opacity   = 0.2;
                dzien.IsEnabled = false;

                Border dayBorder = new Border();
                dayBorder.BorderThickness = new Thickness(1, 1, 1, 1);
                dayBorder.BorderBrush     = new SolidColorBrush(Colors.SkyBlue);

                dayBorder.Child = dzien;

                MonthView.Children.Add(dayBorder);
                Grid.SetColumn(dayBorder, (previousDaysLimit - i));
                Grid.SetRow(dayBorder, indexRow);
            }
        }
        /// <summary>
        /// Tworzy dni obecnego miesiaca w widoku
        /// </summary>
        /// <param name="daysNumber"></param>
        private void CreateCalendarDayButtonTest(int daysNumber, int month)
        {
            MonthView.Children.Clear();
            var indexRow = 0;

            for (int i = 0; i < daysNumber; i++)
            {
                var dayOfWeek = DateTime.Parse((actualYear + "/" + month + "/" + (i + 1).ToString()).ToString()).DayOfWeek.ToString(); //sprawdza jaki to dzien tygodnia

                var lista    = DaysOfWeek.ColumnDefinitions.ToList();                                                                  // pobieram kolumny do listy
                var indexCol = lista.IndexOf(DaysOfWeek.ColumnDefinitions.Where(c => c.Name == dayOfWeek).SingleOrDefault());          //pobieram index kolumny podanego dnia

                if (i == 0)                                                                                                            //pobieram numer kolumny w ktorej zostal wpisany 1 dzien podczas 1 iteracji
                {
                    previousDaysLimit = indexCol;
                }
                NowyCalendarDayButton day = new NowyCalendarDayButton(i + 1, actualMonth, actualYear);
                Border dayBorder          = new Border();
                dayBorder.BorderThickness = new Thickness(1, 1, 1, 1);
                dayBorder.BorderBrush     = new SolidColorBrush(Colors.SkyBlue);

                dayBorder.Child = day;

                MonthView.Children.Add(dayBorder);
                Grid.SetColumn(dayBorder, indexCol);
                Grid.SetRow(dayBorder, indexRow);

                if (dayOfWeek.Equals("Sunday"))
                {
                    indexRow++;
                }
                rowStart = indexRow;
            }
        }
Exemple #4
0
        /// <summary>
        /// Tworzy dni obecnego miesiaca w widoku
        /// </summary>
        /// <param name="daysNumber"></param>
        private void CreateCalendarDayButton(int daysNumber, int month)
        {
            MonthView.Children.Clear();
            var indexRow = 0;

            var queryRozrod = (from Rozrod in Polaczenie.Rozrod
                               where Rozrod.Data.Month == month && Rozrod.Data.Year == ActualYear
                               select Rozrod).ToList();

            for (int i = 0; i < daysNumber; i++)
            {
                var dayOfWeek = DateTime.Parse((ActualYear + "/" + month + "/" + (i + 1).ToString()).ToString()).DayOfWeek.ToString();          //sprawdza jaki to dzien tygodnia

                var lista    = DaysOfWeek.ColumnDefinitions.ToList();                                                                           // pobieram kolumny do listy
                var indexCol = lista.IndexOf(DaysOfWeek.ColumnDefinitions.Where(c => c.Name == dayOfWeek).SingleOrDefault());                   //pobieram index kolumny podanego dnia

                if (i == 0)                                                                                                                     //pobieram numer kolumny w ktorej zostal wpisany 1 dzien podczas 1 iteracji
                {
                    previousDaysLimit = indexCol;
                }
                NowyCalendarDayButton day = new NowyCalendarDayButton(i + 1, actualMonth, ActualYear);
                Border dayBorder          = new Border();
                dayBorder.BorderThickness = new Thickness(1, 1, 1, 1);
                dayBorder.BorderBrush     = new SolidColorBrush(Colors.SkyBlue);

                var dayList = queryRozrod.Where(x => x.Data.Day == i + 1).ToList();
                for (int j = 0; j < dayList.Count(); j++)
                {
                    NotatkaKalendarza notka = new NotatkaKalendarza(day);
                    var typNotki            = dayList[j].czyRuja;

                    switch (typNotki)
                    {
                    case 0:
                        notka.CreateLabel("Ruja", dayList[j].Zwierze.nr_kolczyka);
                        break;

                    case 1:
                        notka.CreateLabel("Wycielenie", dayList[j].Zwierze.nr_kolczyka);
                        break;
                    }
                }

                dayBorder.Child = day;

                MonthView.Children.Add(dayBorder);
                Grid.SetColumn(dayBorder, indexCol);
                Grid.SetRow(dayBorder, indexRow);

                if (dayOfWeek.Equals("Sunday"))
                {
                    indexRow++;
                }
                rowStart = indexRow;
            }
        }
        /// <summary>
        /// Tworzy menu contextowe po nacisnieciu PPM
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void UserControl_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            ClickedDay = sender as NowyCalendarDayButton;
            ContextMenu contextMenu = new ContextMenu();
            MenuItem    nowyLabel   = new MenuItem();

            nowyLabel.Header = "Dodaj notke";
            nowyLabel.Click += new RoutedEventHandler(MenuItem_Click);
            contextMenu.Items.Add(nowyLabel);
            (sender as UserControl).ContextMenu = contextMenu;
        }
        public NowyCalendar()
        {
            InitializeComponent();
            MonthName         = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(actualMonth);
            MonthYear.Content = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(actualMonth);
            CreateDaysOfWeek();
            CreateCalendarDayButtonTest(GetCurrentMonthDaysNumber(actualYear, actualMonth), GetCurrentMonth());
            CreatePreviousMonthDays(GetLastMonthDaysNumber());
            CreateNextMonthDays();

            NowyCalendarDayButton dm = new NowyCalendarDayButton();

            DataContext = dm;

            DataContext = this;
        }
        /// <summary>
        /// Tworzy dni kolejnego miesiaca w widoku obecnego
        /// </summary>
        private void CreateNextMonthDays()
        {
            var buffor     = 0;
            var yearBuffor = actualYear;
            var indexRow   = rowStart;
            var MonthDays  = Convert.ToInt32(DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month).ToString());         //pobiera liczbe dni wybranego miesiaca w roku

            for (int i = 0; i < gridChildren - (previousDaysLimit + GetCurrentMonthDaysNumber(actualYear, actualMonth)); i++) // 42 stala liczba "dzieci" w gridzie, dlatego wpisana statycznie
            {
                if (actualMonth == 12)
                {
                    buffor     = 1;
                    yearBuffor = actualYear + 1;
                }
                else
                {
                    buffor = actualMonth + 1;
                }


                var dayOfWeek = DateTime.Parse((yearBuffor + "/" + buffor + "/" + (i + 1).ToString()).ToString()).DayOfWeek.ToString(); //sprawdza jaki to dzien tygodnia

                var lista    = DaysOfWeek.ColumnDefinitions.ToList();
                var indexCol = lista.IndexOf(DaysOfWeek.ColumnDefinitions.Where(c => c.Name == dayOfWeek).SingleOrDefault()); //pobieram index kolumny podanego dnia


                NowyCalendarDayButton day = new NowyCalendarDayButton(i + 1, actualMonth, actualYear);

                day.Opacity   = 0.2;
                day.IsEnabled = false;

                Border dayBorder = new Border();
                dayBorder.BorderThickness = new Thickness(1, 1, 1, 1);
                dayBorder.BorderBrush     = new SolidColorBrush(Colors.SkyBlue);

                dayBorder.Child = day;

                MonthView.Children.Add(dayBorder);
                Grid.SetColumn(dayBorder, indexCol);
                Grid.SetRow(dayBorder, indexRow);

                if (dayOfWeek.Equals("Sunday"))
                {
                    indexRow++;
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// Tworzy dni poprzedniego miesiaca w widoku obecnego
        /// </summary>
        private void CreatePreviousMonthDays(int monthDays)
        {
            var indexRow = 0;

            for (int i = previousDaysLimit; i > 0; i--)
            {
                NowyCalendarDayButton day = new NowyCalendarDayButton(monthDays - (i - 1), 0, 0);

                day.Opacity   = 0.2;
                day.IsEnabled = false;

                Border dayBorder = new Border();
                dayBorder.BorderThickness = new Thickness(1, 1, 1, 1);
                dayBorder.BorderBrush     = new SolidColorBrush(Colors.SkyBlue);
                dayBorder.Child           = day;

                MonthView.Children.Add(dayBorder);
                Grid.SetColumn(dayBorder, (previousDaysLimit - i));
                Grid.SetRow(dayBorder, indexRow);
            }
        }