Пример #1
0
        private string GetMonthCalendarHtml(MonthCalendarControl control)
        {
            control.FillData();
            ControlFilterRefresh(control);
            string        id           = GetControlID(control);
            StringBuilder html         = new StringBuilder();
            string        selectedDate = control.SelectionStart.Month.ToString() + "/" + control.SelectionStart.Day.ToString() + "/" + control.SelectionStart.Year.ToString();
            string        ev           = GetEvent(ONCHANGE, control, DIALOG, $"document.getElementById('{id}').value");

            html.Append(String.Format("<div class=\"{0}\" style=\"{1}\" onchange=\"{2}\" id=\"{3}\"></div>",
                                      "",
                                      GetMonthCalendarStyle(control),
                                      ev,
                                      id
                                      ));
            html.Append("<script>$(function() {$( \"#").Append(id).AppendLine("\" ).datepicker();");
            html.Append("$( \"#").Append(id).Append("\" ).datepicker( \"option\", \"dateFormat\", \"").
            Append(DEFAULT_DATE_TIME_PICKER_FORMAT).AppendLine("\" );");
            html.Append("$( \"#").Append(id).Append(String.Format("\" ).datepicker( \"setDate\", \"{0}\", \"", selectedDate)).
            Append(DEFAULT_DATE_TIME_PICKER_FORMAT).AppendLine("\" );");

            html.Append("});</script>");

            //control.FilterData();
            return(html.ToString());
        }
 // Expose the AddBoldedDate method.
 public void AddBoldedDate(DateTime dateToBold)
 {
     MonthCalendarControl.AddBoldedDate(dateToBold);
 }
        private void NewTab_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                var     count      = TabsMain.Items.Count;
                TabItem newTabItem = new TabItem
                {
                    Header = "Tab" + count,
                };

                Grid grid = new Grid();
                grid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(90)
                });
                grid.RowDefinitions.Add(new RowDefinition {
                    Height = new GridLength(0.5, GridUnitType.Star)
                });


                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(10, 0, 0, 0), Text = "FILTER:", FontSize = 17, FontWeight = FontWeights.Bold, VerticalAlignment = VerticalAlignment.Center
                });


                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(100, -65, 0, 0), Text = "Cleaner:", VerticalAlignment = VerticalAlignment.Center
                });

                ComboBox combo = new ComboBox {
                    ItemsSource = new CleanersWithAllList(), SelectedValuePath = "Key", DisplayMemberPath = "Value", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Center, Width = 160, Margin = new Thickness(150, -65, 0, 0)
                };
                Binding b = new Binding("CleanerId");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                combo.SetBinding(ComboBox.SelectedValueProperty, b);
                combo.SelectionChanged += new SelectionChangedEventHandler(ComboBox_SelectionChanged);
                grid.Children.Add(combo);

                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(100, -5, 0, 0), Text = "Team:", VerticalAlignment = VerticalAlignment.Center
                });
                combo = new ComboBox {
                    ItemsSource = new TeamsWithAllList(), SelectedValuePath = "Key", DisplayMemberPath = "Value", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Center, Width = 160, Margin = new Thickness(150, -5, 0, 0)
                };
                b = new Binding("TeamId");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                combo.SetBinding(ComboBox.SelectedValueProperty, b);
                combo.SelectionChanged += new SelectionChangedEventHandler(ComboBox_SelectionChanged);
                grid.Children.Add(combo);

                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(100, 50, 0, 0), Text = "Client:", VerticalAlignment = VerticalAlignment.Center
                });
                combo = new ComboBox {
                    ItemsSource = new ClientsWithNullList(), SelectedValuePath = "Key", DisplayMemberPath = "Value", HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Center, Width = 160, Margin = new Thickness(150, 50, 0, 0)
                };
                b = new Binding("ClientId");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                combo.SetBinding(ComboBox.SelectedValueProperty, b);
                combo.SelectionChanged += new SelectionChangedEventHandler(ComboBox_SelectionChanged);
                grid.Children.Add(combo);

                grid.Children.Add(new Rectangle {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(90, -2, 0, 0), VerticalAlignment = VerticalAlignment.Top, Stroke = Brushes.Black, StrokeThickness = 3, Height = 92, Width = 240
                });



                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(350, 70, 0, 0), Text = "Hol:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(350, -70, 0, 0), Text = "Mon:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(350, -35, 0, 0), Text = "Tue:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(350, 0, 0, 0), Text = "Wed:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(350, 35, 0, 0), Text = "Thu:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(680, -70, 0, 0), Text = "Fri:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(680, -35, 0, 0), Text = "Sat:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(680, 0, 0, 0), Text = "Sun:", VerticalAlignment = VerticalAlignment.Center
                });
                grid.Children.Add(new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(680, 70, 0, 0), Text = "Not:", VerticalAlignment = VerticalAlignment.Center
                });


                b = new Binding("Holiday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                TextBlock tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(390, 70, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);


                b = new Binding("Monday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(390, -70, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);

                b = new Binding("Tuesday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(390, -35, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);



                b = new Binding("Wednesday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(390, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);


                b = new Binding("Thursday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(390, 35, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);


                b = new Binding("Friday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(710, -70, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);


                b = new Binding("Saturday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(710, -35, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);


                b = new Binding("Sunday");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(710, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);

                b = new Binding("NotAvailable");
                b.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
                tb = new TextBlock {
                    HorizontalAlignment = HorizontalAlignment.Left, Margin = new Thickness(710, 70, 0, 0), VerticalAlignment = VerticalAlignment.Center
                };
                tb.SetBinding(TextBlock.TextProperty, b);
                grid.Children.Add(tb);


                ScrollViewer sv = new ScrollViewer {
                    VerticalScrollBarVisibility = ScrollBarVisibility.Auto
                };

                Grid svGrid = new Grid();
                svGrid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(0.5, GridUnitType.Star)
                });
                svGrid.ColumnDefinitions.Add(new ColumnDefinition {
                    Width = new GridLength(50)
                });

                var month = new MonthCalendarControl {
                    VerticalAlignment = VerticalAlignment.Stretch, VerticalContentAlignment = VerticalAlignment.Stretch
                };

                month.DisplayMonthChanged   += new MonthCalendarControl.DisplayMonthChangedEventHandler(DisplayMonthChanged);
                month.DayBoxDoubleClicked   += new MonthCalendarControl.DayBoxDoubleClickedEventHandler(DayBoxDoubleClicked_event);
                month.AppointmentDblClicked += new MonthCalendarControl.AppointmentDblClickedEventHandler(AppointmentDblClicked);
                month.SizeChanged           += new SizeChangedEventHandler(AptCalendar_SizeChanged);

                svGrid.Children.Add(month);

                Grid gridRight = new Grid();

                gridRight.SetValue(Grid.ColumnProperty, 1);
                svGrid.Children.Add(gridRight);

                sv.Content = svGrid;
                sv.SetValue(Grid.RowProperty, 1);

                grid.Children.Add(sv);

                newTabItem.Content = grid;

                models.Add(new CalendarViewModel {
                    CleanerId = 0, TeamId = 0, ClientId = 0
                });
                newTabItem.DataContext = models[count];
                calendars.Add(month);



                TabsMain.Items.Add(newTabItem);

                SetAppointments(count);
            }
            catch (Exception ex)
            {
                MessageBox.Show("New Tab error:" + ex.Message);
            }
        }
Пример #4
0
 private string GetMonthCalendarStyle(MonthCalendarControl control)
 {
     return($"{GetControlPosition(control)} {GetControlFont(control.Font)}");
 }
Пример #5
0
 private void MonthCalendarChange(MonthCalendarControl dp, string value)
 {
     dp.SelectionStart = DateTime.ParseExact(value, "d", CultureInfo.InvariantCulture);
 }