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); } }
private string GetMonthCalendarStyle(MonthCalendarControl control) { return($"{GetControlPosition(control)} {GetControlFont(control.Font)}"); }
private void MonthCalendarChange(MonthCalendarControl dp, string value) { dp.SelectionStart = DateTime.ParseExact(value, "d", CultureInfo.InvariantCulture); }