private void SetCustomMembers(TreeNodeCustomStaff s, CustomGroup c)
        {
            INWindow inWindow = this.dataService.INWindow as INWindow;

            if (inWindow.Employee.FirstTreeView.Items.Count > 0)
            {
                foreach (TreeViewItem item in (System.Collections.IEnumerable)inWindow.Employee.FirstTreeView.Items)
                {
                    CustomGroupTreeViewItem cust = item as CustomGroupTreeViewItem;
                    if (cust != null && cust.Tag != null)
                    {
                        if (c.GroupID == cust.Tag.ToString())
                        {
                            foreach (TreeNodeCustomStaff i in (System.Collections.IEnumerable)cust.Items)
                            {
                                if (i.Staff.Uid != s.Staff.Uid)
                                {
                                    i.IsBigHead = false;
                                    i.ShowSmallHead();
                                }
                            }
                        }
                        else
                        {
                            foreach (TreeNodeCustomStaff i in (System.Collections.IEnumerable)cust.Items)
                            {
                                i.IsBigHead = false;
                                i.ShowSmallHead();
                            }
                        }
                    }
                }
            }
        }
 public void ClearCustomGroup()
 {
     for (int i = this.FirstTreeView.Items.Count - 1; i >= 0; i--)
     {
         CustomGroupTreeViewItem customGroupTreeViewItem = this.FirstTreeView.Items[i] as CustomGroupTreeViewItem;
         if (customGroupTreeViewItem != null)
         {
             this.FirstTreeView.Items.Remove(customGroupTreeViewItem);
         }
     }
 }
        private void miAddGroup_Click(object sender, RoutedEventArgs ee)
        {
            CustomGroupTreeViewItem item = new CustomGroupTreeViewItem();

            item.Style = (base.FindResource("TreeViewItemStyle") as Style);
            string      id = CustomGroup.GetCustomGroupID();
            CustomGroup cc = new CustomGroup
            {
                Admin     = ServiceUtil.Instance.SessionService.Uid,
                GroupID   = id,
                GroupName = item.HeaderText
            };

            item.DataContext = cc;
            item.Tag         = id;
            CustomGroupManagerWindowViewModel viewModel = CustomGroupManagerWindowViewModel.GetInstance();

            item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
            {
                if (e.Item != null)
                {
                    this.inWindow.Employee.FirstTreeView.Items.Add(e.Item);
                    CustomGroup c = e.Item.DataContext as CustomGroup;
                    if (c != null)
                    {
                        DataModel.Instance.CustomeGroupName.Add(c.GroupID, c);
                        viewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, e.Item.HeaderText);
                    }
                }
            };
            item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
            {
                DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString());
                this.inWindow.Employee.FirstTreeView.Items.Remove(item);
                viewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString());
            };
            item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
            {
                if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString()))
                {
                    DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText;
                    viewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText);
                }
            };
            if (this.CreateCustomItemEvent != null)
            {
                this.CreateCustomItemEvent(this, new CustomGroupTreeViewItem.CustomEventArgs
                {
                    Item = item
                });
            }
            this.SetFocus(item);
            item.IsSelected = true;
        }
        private void SetFocus(CustomGroupTreeViewItem item)
        {
            Grid grid = item.Header as Grid;

            if (grid != null)
            {
                if (grid.Children.Count > 1 && grid.Children[1] is TextBox)
                {
                    TextBox textBox = grid.Children[1] as TextBox;
                    textBox.Visibility = Visibility.Visible;
                    textBox.SelectAll();
                    textBox.Focus();
                }
            }
        }
        private void miAddGroup_Click(object sender, RoutedEventArgs e)
        {
            CustomGroupTreeViewItem item = new CustomGroupTreeViewItem();

            item.Style = (base.FindResource("TreeViewItemStyle") as Style);
            item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee)
            {
                if (ee.Item != null)
                {
                    this.FirstTreeView.Items.Add(ee.Item);
                    string id = CustomGroup.GetCustomGroupID();
                    DataModel.Instance.CustomeGroupName.Add(id, new CustomGroup
                    {
                        GroupID   = id,
                        GroupName = ee.Item.HeaderText
                    });
                    this.customGroupManagerViewModel.CreateCustomGroup(this.sessionService.Uid, id, ee.Item.HeaderText);
                }
            };
            item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee)
            {
                DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString());
                this.FirstTreeView.Items.Remove(item);
                this.customGroupManagerViewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString());
            };
            item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee)
            {
                if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString()))
                {
                    DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText;
                    this.customGroupManagerViewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText);
                }
            };
            CustomGroup c = new CustomGroup
            {
                Admin     = this.sessionService.Uid,
                GroupID   = CustomGroup.GetCustomGroupID(),
                GroupName = item.HeaderText
            };

            item.DataContext = c;
            item.Tag         = c.GroupID;
            this.FirstTreeView.Items.Add(item);
            DataModel.Instance.CustomeGroupName.Add(c.GroupID, c);
            this.customGroupManagerViewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, item.HeaderText);
            this.SetFocus(item);
            item.IsSelected = true;
        }
 public void UpdateStaff(Staff staff)
 {
     foreach (TreeViewItem item in (System.Collections.IEnumerable) this.FirstTreeView.Items)
     {
         CustomGroupTreeViewItem customGroupTreeViewItem = item as CustomGroupTreeViewItem;
         if (customGroupTreeViewItem != null)
         {
             foreach (object cItem in (System.Collections.IEnumerable)item.Items)
             {
                 TreeNodeCustomStaff treeNodeCustomStaff = cItem as TreeNodeCustomStaff;
                 if (treeNodeCustomStaff != null)
                 {
                     treeNodeCustomStaff.UpdateInfo();
                 }
             }
         }
     }
 }
        private void CustomGroupTreeViewItem_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
        {
            TreeNodeCustomStaff node = e.Source as TreeNodeCustomStaff;

            if (node != null)
            {
                node.Focus();
                e.Handled = true;
            }
            else
            {
                CustomGroupTreeViewItem customGroupTreeViewItem = sender as CustomGroupTreeViewItem;
                if (customGroupTreeViewItem != null)
                {
                    customGroupTreeViewItem.Focus();
                    e.Handled = true;
                }
            }
        }
Ejemplo n.º 8
0
 private void SortTheStaff(IDKin.IM.Core.Staff staff, CustomGroupTreeViewItem customGroupTreeViewItem)
 {
     for (int i = 0; i < customGroupTreeViewItem.Items.Count; i++)
     {
         TreeNodeCustomStaff cItem = customGroupTreeViewItem.Items[i] as TreeNodeCustomStaff;
         if (cItem.Staff.Uid == staff.Uid)
         {
             cItem.UpdateInfo();
             System.Collections.Generic.List<TreeNodeCustomStaff> lists = new System.Collections.Generic.List<TreeNodeCustomStaff>(customGroupTreeViewItem.Items.Count);
             for (int j = 0; j < customGroupTreeViewItem.Items.Count; j++)
             {
                 TreeNodeCustomStaff childItem = customGroupTreeViewItem.Items[j] as TreeNodeCustomStaff;
                 lists.Add(childItem);
             }
             customGroupTreeViewItem.Items.Clear();
             IOrderedEnumerable<TreeNodeCustomStaff> v =
                 from t in lists
                 orderby t.Staff.Status == UserStatus.Offline, t.Status == UserStatus.Hide, t.Status == UserStatus.Out, t.Status == UserStatus.DoNotDisturb, t.Status == UserStatus.Busy, t.Status == UserStatus.Meeting, t.Status == UserStatus.Away, t.Status == UserStatus.Online
                 select t;
             foreach (TreeNodeCustomStaff treeNodeCustomStaff in v)
             {
                 customGroupTreeViewItem.Items.Add(treeNodeCustomStaff);
             }
             break;
         }
     }
 }
 private void SetFocus(CustomGroupTreeViewItem item)
 {
     Grid grid = item.Header as Grid;
     if (grid != null)
     {
         if (grid.Children.Count > 1 && grid.Children[1] is TextBox)
         {
             TextBox textBox = grid.Children[1] as TextBox;
             textBox.Visibility = Visibility.Visible;
             textBox.SelectAll();
             textBox.Focus();
         }
     }
 }
 private void miAddGroup_Click(object sender, RoutedEventArgs e)
 {
     CustomGroupTreeViewItem item = new CustomGroupTreeViewItem();
     item.Style = (base.FindResource("TreeViewItemStyle") as Style);
     item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee)
     {
         if (ee.Item != null)
         {
             this.FirstTreeView.Items.Add(ee.Item);
             string id = CustomGroup.GetCustomGroupID();
             DataModel.Instance.CustomeGroupName.Add(id, new CustomGroup
             {
                 GroupID = id,
                 GroupName = ee.Item.HeaderText
             });
             this.customGroupManagerViewModel.CreateCustomGroup(this.sessionService.Uid, id, ee.Item.HeaderText);
         }
     };
     item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee)
     {
         DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString());
         this.FirstTreeView.Items.Remove(item);
         this.customGroupManagerViewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString());
     };
     item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs ee)
     {
         if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString()))
         {
             DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText;
             this.customGroupManagerViewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText);
         }
     };
     CustomGroup c = new CustomGroup
     {
         Admin = this.sessionService.Uid,
         GroupID = CustomGroup.GetCustomGroupID(),
         GroupName = item.HeaderText
     };
     item.DataContext = c;
     item.Tag = c.GroupID;
     this.FirstTreeView.Items.Add(item);
     DataModel.Instance.CustomeGroupName.Add(c.GroupID, c);
     this.customGroupManagerViewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, item.HeaderText);
     this.SetFocus(item);
     item.IsSelected = true;
 }
 private void miAddGroup_Click(object sender, RoutedEventArgs ee)
 {
     CustomGroupTreeViewItem item = new CustomGroupTreeViewItem();
     item.Style = (base.FindResource("TreeViewItemStyle") as Style);
     string id = CustomGroup.GetCustomGroupID();
     CustomGroup cc = new CustomGroup
     {
         Admin = ServiceUtil.Instance.SessionService.Uid,
         GroupID = id,
         GroupName = item.HeaderText
     };
     item.DataContext = cc;
     item.Tag = id;
     CustomGroupManagerWindowViewModel viewModel = CustomGroupManagerWindowViewModel.GetInstance();
     item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
     {
         if (e.Item != null)
         {
             this.inWindow.Employee.FirstTreeView.Items.Add(e.Item);
             CustomGroup c = e.Item.DataContext as CustomGroup;
             if (c != null)
             {
                 DataModel.Instance.CustomeGroupName.Add(c.GroupID, c);
                 viewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, e.Item.HeaderText);
             }
         }
     };
     item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
     {
         DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString());
         this.inWindow.Employee.FirstTreeView.Items.Remove(item);
         viewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString());
     };
     item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
     {
         if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString()))
         {
             DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText;
             viewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText);
         }
     };
     if (this.CreateCustomItemEvent != null)
     {
         this.CreateCustomItemEvent(this, new CustomGroupTreeViewItem.CustomEventArgs
         {
             Item = item
         });
     }
     this.SetFocus(item);
     item.IsSelected = true;
 }
Ejemplo n.º 12
0
 private void AddChildren(IDKin.IM.Core.CustomGroup group, CustomGroupTreeViewItem item)
 {
     try
     {
         if (group != null && group.Members != null && group.Members.Count != 0)
         {
             IOrderedEnumerable<IDKin.IM.Core.Staff> v =
                 from t in @group.Members
                 orderby t.Status == UserStatus.Offline, t.Status == UserStatus.Hide, t.Status == UserStatus.Out, t.Status == UserStatus.DoNotDisturb, t.Status == UserStatus.Busy, t.Status == UserStatus.Meeting, t.Status == UserStatus.Away, t.Status == UserStatus.Online
                 select t;
             foreach (IDKin.IM.Core.Staff staff in v)
             {
                 TreeNodeCustomStaff node = new TreeNodeCustomStaff(staff);
                 node.SessionService = this.sessionService;
                 node.DataService = this.dataService;
                 node.ContextMenu = this.GetContextMenuForStaff(node);
                 item.Items.Add(node);
             }
         }
     }
     catch (System.Exception ex)
     {
         System.Console.WriteLine(ex.ToString());
     }
 }
Ejemplo n.º 13
0
 private void ShowGroups(System.Collections.Generic.ICollection<IDKin.IM.Core.CustomGroup> groups)
 {
     if (groups != null && groups.Count > 0)
     {
         CustomGroupManagerWindowViewModel viewModel = CustomGroupManagerWindowViewModel.GetInstance();
         DataModel.Instance.CustomeGroupName.Clear();
         foreach (IDKin.IM.Core.CustomGroup group in groups)
         {
             CustomGroupTreeViewItem item = new CustomGroupTreeViewItem();
             item.Style = (this.inWindow.FindResource("TreeViewItemStyle") as Style);
             item.DataContext = group;
             item.HeaderText = group.GroupName;
             item.Tag = group.GroupID;
             item.CreateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
             {
                 if (e.Item != null)
                 {
                     this.inWindow.Employee.FirstTreeView.Items.Add(e.Item);
                     IDKin.IM.Core.CustomGroup c = e.Item.DataContext as IDKin.IM.Core.CustomGroup;
                     if (c != null)
                     {
                         DataModel.Instance.CustomeGroupName.Add(c.GroupID, c);
                         viewModel.CreateCustomGroup(this.sessionService.Uid, c.GroupID, e.Item.HeaderText);
                     }
                 }
             };
             item.DeleteCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
             {
                 DataModel.Instance.CustomeGroupName.Remove(item.Tag.ToString());
                 this.inWindow.Employee.FirstTreeView.Items.Remove(item);
                 viewModel.DropCustomGroup((int)this.sessionService.Uid, item.Tag.ToString());
             };
             item.UpdateCustomItemEvent += delegate(object s, CustomGroupTreeViewItem.CustomEventArgs e)
             {
                 if (DataModel.Instance.CustomeGroupName.ContainsKey(item.Tag.ToString()))
                 {
                     DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText;
                     viewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText);
                 }
                 DataModel.Instance.CustomeGroupName[item.Tag.ToString()].GroupName = item.HeaderText;
                 viewModel.UpdateCustomGroup((int)this.sessionService.Uid, item.Tag.ToString(), item.HeaderText);
             };
             this.AddChildren(group, item);
             this.dataService.CustomGroups.Add(group);
             this.inWindow.Employee.FirstTreeView.Items.Add(item);
             DataModel.Instance.CustomeGroupName.Add(group.GroupID, group);
         }
     }
 }