Example #1
0
 private void InitializeComponent()
 {
     this.radChkdropDown = new Telerik.WinControls.UI.RadSplitButton();
     ((System.ComponentModel.ISupportInitialize)(this.radChkdropDown)).BeginInit();
     this.SuspendLayout();
     //
     // radChkdropDown
     //
     this.radChkdropDown.DefaultItem = null;
     this.radChkdropDown.Dock        = System.Windows.Forms.DockStyle.Fill;
     this.radChkdropDown.Location    = new System.Drawing.Point(0, 0);
     this.radChkdropDown.Name        = "radChkdropDown";
     this.radChkdropDown.Size        = new System.Drawing.Size(207, 30);
     this.radChkdropDown.TabIndex    = 3;
     //
     // CntrlchkDropDown
     //
     this.Controls.Add(this.radChkdropDown);
     this.Name = "CntrlchkDropDown";
     this.Size = new System.Drawing.Size(207, 30);
     ((System.ComponentModel.ISupportInitialize)(this.radChkdropDown)).EndInit();
     this.ResumeLayout(false);
     this.PerformLayout();
 }
        /// <summary>
        /// Inserts Content in the specific treeview node (category) specific to document type data
        /// </summary>
        /// <param name="data">DocumentCategoricalData</param>
        /// <returns>RadTreeViewItem to be inserted in the category node</returns>
        private RadTreeViewItem InsertTreeViewItem_Document(DocumentCategoricalData data)
        {
            RadTreeViewItem documentTreeViewItem = new RadTreeViewItem()
            {
                HorizontalContentAlignment = System.Windows.HorizontalAlignment.Stretch
            };

            RadExpander headerExpander = new RadExpander()
            {
                ExpandDirection            = Telerik.Windows.Controls.ExpandDirection.Down,
                HorizontalAlignment        = System.Windows.HorizontalAlignment.Stretch,
                HorizontalHeaderAlignment  = System.Windows.HorizontalAlignment.Stretch,
                HorizontalContentAlignment = System.Windows.HorizontalAlignment.Stretch,
                FlowDirection = System.Windows.FlowDirection.RightToLeft
            };

            #region Expander Header
            Grid headerExpanderHeaderGrid = new Grid()
            {
                FlowDirection = System.Windows.FlowDirection.LeftToRight
            };

            headerExpanderHeaderGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            headerExpanderHeaderGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(200)
            });
            headerExpanderHeaderGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(50)
            });
            headerExpanderHeaderGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(150)
            });

            #region Document Name Grid
            Grid headerExpanderHeaderGridDocumentNameGrid = new Grid()
            {
                Margin = new Thickness(-8, 0, 0, 0)
            };
            headerExpanderHeaderGridDocumentNameGrid.SetValue(Grid.ColumnProperty, 0);
            headerExpanderHeaderGridDocumentNameGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            headerExpanderHeaderGridDocumentNameGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });

            HyperlinkButton fileNameHyperlink = new HyperlinkButton()
            {
                Content           = data.DocumentCatalogData.FileName,
                NavigateUri       = new Uri(data.DocumentCatalogData.FilePath, UriKind.RelativeOrAbsolute),
                VerticalAlignment = System.Windows.VerticalAlignment.Center,
                Foreground        = new SolidColorBrush(Colors.Black),
                Style             = (Style)(this.Resources["HyperlinkButtonStyle"])
            };

            fileNameHyperlink.SetValue(Grid.ColumnProperty, 0);

            TextBlock fileNameUpdateNotification = new TextBlock()
            {
                Text              = "*NEW*",
                Margin            = new Thickness(2, 0, 0, 0),
                Foreground        = new SolidColorBrush(Colors.Red),
                VerticalAlignment = System.Windows.VerticalAlignment.Center,
                TextWrapping      = TextWrapping.Wrap,
                Visibility        = Visibility.Collapsed,
                Style             = (Style)(this.Resources["TextBlockStyle"])
            };

            updateInfo.Add(new UpdationData()
            {
                UpdationTag     = UpdationTags.DOCUMENT_NAME,
                UpdationInfo    = data,
                UpdationElement = fileNameUpdateNotification
            });

            fileNameUpdateNotification.SetValue(Grid.ColumnProperty, 1);

            headerExpanderHeaderGridDocumentNameGrid.Children.Add(fileNameHyperlink);
            headerExpanderHeaderGridDocumentNameGrid.Children.Add(fileNameUpdateNotification);
            #endregion

            #region Document Company Name
            TextBlock headerExpanderHeaderGridDocumentCompanyName = new TextBlock()
            {
                Text              = data.DocumentCompanyName,// + " (" + data.DocumentSecurityTicker + ")",
                Margin            = new Thickness(5, 0, 0, 0),
                VerticalAlignment = System.Windows.VerticalAlignment.Center,
                TextWrapping      = TextWrapping.Wrap,
                Style             = (Style)(this.Resources["TextBlockStyle"])
            };
            headerExpanderHeaderGridDocumentCompanyName.SetValue(Grid.ColumnProperty, 1);
            #endregion

            #region Document Uploaded By
            TextBlock headerExpanderHeaderGridDocumentUploadedBy = new TextBlock()
            {
                Text              = data.DocumentCatalogData.FileUploadedBy,
                Margin            = new Thickness(5, 0, 0, 0),
                VerticalAlignment = System.Windows.VerticalAlignment.Center,
                TextWrapping      = TextWrapping.Wrap,
                Style             = (Style)(this.Resources["TextBlockStyle"])
            };
            headerExpanderHeaderGridDocumentUploadedBy.SetValue(Grid.ColumnProperty, 2);
            #endregion

            #region Document Uploaded On
            TextBlock headerExpanderHeaderGridDocumentUploadedOn = new TextBlock()
            {
                Text              = data.DocumentCatalogData.FileUploadedOn.ToLocalTime().ToString("MMMM dd, yyyy"),
                Margin            = new Thickness(5, 0, 0, 0),
                VerticalAlignment = System.Windows.VerticalAlignment.Center,
                TextWrapping      = TextWrapping.Wrap,
                Style             = (Style)(this.Resources["TextBlockStyle"])
            };
            headerExpanderHeaderGridDocumentUploadedOn.SetValue(Grid.ColumnProperty, 3);
            #endregion

            headerExpanderHeaderGrid.Children.Add(headerExpanderHeaderGridDocumentNameGrid);
            headerExpanderHeaderGrid.Children.Add(headerExpanderHeaderGridDocumentCompanyName);
            headerExpanderHeaderGrid.Children.Add(headerExpanderHeaderGridDocumentUploadedBy);
            headerExpanderHeaderGrid.Children.Add(headerExpanderHeaderGridDocumentUploadedOn);

            headerExpander.Header = headerExpanderHeaderGrid;
            #endregion

            #region Expander Content
            Border headerExpanderContentBorder = new Border()
            {
                BorderThickness = new Thickness(0, 1, 0, 1), BorderBrush = new SolidColorBrush(Colors.Black)
            };
            Grid headerExpanderContentGrid = new Grid()
            {
                FlowDirection = System.Windows.FlowDirection.LeftToRight
            };
            headerExpanderContentGrid.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });
            headerExpanderContentGrid.RowDefinitions.Add(new RowDefinition()
            {
                Height = GridLength.Auto
            });

            #region Comment Listing
            Grid headerExpanderContentGridCommentGrid = new Grid()
            {
                Margin = new Thickness(0, 5, 0, 0)
            };
            headerExpanderContentGridCommentGrid.SetValue(Grid.ColumnProperty, 0);
            headerExpanderContentGridCommentGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            headerExpanderContentGridCommentGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            headerExpanderContentGridCommentGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });

            foreach (CommentDetails comment in data.CommentDetails.OrderByDescending(record => record.CommentOn))
            {
                InsertComment_Documents(comment, headerExpanderContentGridCommentGrid);
            }

            headerExpanderContentGrid.Children.Add(headerExpanderContentGridCommentGrid);
            #endregion

            #region Content Updation
            Grid headerExpanderContentGridUpdationGrid = new Grid();
            headerExpanderContentGridUpdationGrid.SetValue(Grid.RowProperty, 1);
            headerExpanderContentGridUpdationGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = new GridLength(1, GridUnitType.Star)
            });
            //headerExpanderContentGridUpdationGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = GridLength.Auto });
            headerExpanderContentGridUpdationGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });
            headerExpanderContentGridUpdationGrid.ColumnDefinitions.Add(new ColumnDefinition()
            {
                Width = GridLength.Auto
            });

            #region Comment Box
            TextBox documentCommentUpdation = new TextBox()
            {
                Margin    = new Thickness(5),
                MaxLength = 255,
                Style     = (Style)(this.Resources["TextBoxStyle"])
            };
            documentCommentUpdation.SetValue(Grid.ColumnProperty, 0);
            #endregion

            #region Alert Label
            TextBlock alertLabel = new TextBlock()
            {
                Text              = "Alert:",
                Margin            = new Thickness(5, 0, 0, 0),
                VerticalAlignment = System.Windows.VerticalAlignment.Center,
                FontWeight        = FontWeights.Bold,
                Style             = (Style)(this.Resources["TextBlockStyle"])
            };
            alertLabel.SetValue(Grid.ColumnProperty, 1);
            #endregion

            #region Alert User Listing
            RadSplitButton userListingDropDownButton = new RadSplitButton()
            {
                Content        = "Alert",
                DropDownHeight = 200,
                Height         = (Double)(this.Resources["DefaultControlMinHeight"]),
                Style          = (Style)(this.Resources["RadSplitButtonStyle"])
            };

            RadListBox listBox = new RadListBox()
            {
                SelectionMode     = Telerik.Windows.Controls.SelectionMode.Multiple,
                ItemsSource       = DataContextViewModelDocuments.UserInfo,
                DisplayMemberPath = "UserName",
                Style             = (Style)(this.Resources["RadListBoxStyle"])
            };

            userListingDropDownButton.DropDownContent = listBox;
            userListingDropDownButton.SetValue(Grid.ColumnProperty, 1);

            //RadComboBox userListingComboBox = new RadComboBox()
            //{
            //    Margin = new Thickness(5, 0, 0, 0),
            //    Height = (Double)(this.Resources["DefaultControlMinHeight"]),
            //    Style = (Style)(this.Resources["RadComboBoxStyle"])
            //};
            //userListingComboBox.SetValue(Grid.ColumnProperty, 2);
            #endregion

            CommentUpdationData commentUpdationTagInfo = new CommentUpdationData()
            {
                CommentAlertInput    = userListingDropDownButton,
                CommentUpdationInput = documentCommentUpdation,
                CommentInsertionGrid = headerExpanderContentGridCommentGrid,
                CommentUpdationInfo  = data
            };

            RadButton commentUpdationButton = new RadButton()
            {
                Margin  = new Thickness(5, 0, 5, 0),
                Content = "+",
                HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center,
                Tag    = commentUpdationTagInfo,
                Height = (Double)(this.Resources["DefaultControlMinHeight"]),
                Style  = (Style)(this.Resources["RadButtonStyle"])
            };

            commentUpdationButton.SetValue(Grid.ColumnProperty, 2);
            commentUpdationButton.Click += new RoutedEventHandler(DocumentCommentUpdation);

            headerExpanderContentGridUpdationGrid.Children.Add(documentCommentUpdation);
            //headerExpanderContentGridUpdationGrid.Children.Add(alertLabel);
            //headerExpanderContentGridUpdationGrid.Children.Add(userListingComboBox);
            headerExpanderContentGridUpdationGrid.Children.Add(userListingDropDownButton);
            headerExpanderContentGridUpdationGrid.Children.Add(commentUpdationButton);
            #endregion

            headerExpanderContentGrid.Children.Add(headerExpanderContentGridUpdationGrid);
            headerExpanderContentBorder.Child = headerExpanderContentGrid;

            headerExpander.Content = headerExpanderContentBorder;
            #endregion

            documentTreeViewItem.Header = headerExpander;

            return(documentTreeViewItem);
        }