Пример #1
0
        public void addUnit(string name, int parentId)
        {
            var org = new AlimexDAL.Entity.Organization()
            {
                Name = name, Parent = parentId
            };

            _userContext.Organization.Add(org);
            _userContext.SaveChanges();
            refreashDiagram();
        }
Пример #2
0
        private ObservableCollection <RadDiagramShape> GetTeamMembers(AlimexDAL.Entity.Organization element, OrgContainerShape orgTeam)
        {
            var members = new ObservableCollection <RadDiagramShape>();

            if (element.Users != null)
            {
                foreach (var xmlNodeMember in element.Users)
                {
                    RadDiagramShape member = this.CreateMemberShape(orgTeam, xmlNodeMember);
                    member.Tag = xmlNodeMember.Id;
                    members.Add(member);
                }
            }

            return(members);
        }
Пример #3
0
        private OrgContainerShape CreateNode(AlimexDAL.Entity.Organization element, OrgContainerShape parentNode)
        {
            OrgContainerShape orgTeam = new OrgContainerShape(_userContext)
            {
                Name = element.Name,
                Id   = element.Id
            };

            orgTeam.ToggleCollapseButton.ImagePrimitive.Visibility = Telerik.WinControls.ElementVisibility.Hidden;
            orgTeam.Text = orgTeam.Name;
            orgTeam.Tag  = element.Id.ToString();
            orgTeam.Path = parentNode == null ? orgTeam.Name : string.Format("{0}|{1}", parentNode.Path, orgTeam.Name);
            currentLayoutSettings.Roots.Add(orgTeam);
            if (parentNode != null)
            {
                RadDiagramConnection connection = new RadDiagramConnection();
                connection.ConnectionType = Telerik.Windows.Diagrams.Core.ConnectionType.Polyline;
                connection.Source         = parentNode;
                connection.Target         = orgTeam;
                connection.Route          = true;

                this.radDiagram1.AddConnection(connection);
            }
            var teamMembers = this.GetTeamMembers(element, orgTeam);
            var position    = new Telerik.Windows.Diagrams.Core.Point(10, 50);

            int memberCount = 0;

            foreach (var member in teamMembers)
            {
                this.radDiagram1.AddShape(member);
                orgTeam.Items.Add(member);
                member.Position = position;
                position.X     += member.Width + 20;
                if (++memberCount % 2 == 0)
                {
                    position = new Telerik.Windows.Diagrams.Core.Point(10, position.Y + member.Height + 10);
                }
            }

            orgTeam.IsCollapsedChanged += this.orgTeam_IsCollapsedChanged;
            return(orgTeam);
        }
Пример #4
0
        private ObservableCollection <OrgContainerShape> GetSubNodes(AlimexDAL.Entity.Organization element, OrgContainerShape parent, int level)
        {
            var nodes    = new ObservableCollection <OrgContainerShape>();
            var elements = _org.Where(x => x.Parent == element.Id).ToList();

            if (elements.Count == 0)
            {
                return(nodes);
            }

            Random rnd = new Random();

            foreach (var subElement in elements)
            {
                OrgContainerShape node = this.CreateNode(subElement, parent);
                node.ShowCollapseButton = level < 3;
                if (subElement.Parent == 1)
                {
                    node.BaseColor = Color.FromArgb(rnd.Next(150), rnd.Next(150), rnd.Next(150));
                }
                //if (node.Path.Contains("Production"))
                //{
                //    node.BaseColor = this.groupColor[2];
                //}else
                //if (node.Path.Contains("Accounting"))
                //{
                //    node.BaseColor = this.groupColor[1];
                //}
                this.radDiagram1.AddShape(node);

                this.GetSubNodes(subElement, node, level + 1);
                nodes.Add(node);
            }

            return(nodes);
        }
Пример #5
0
        private void dbCheck()
        {
            var a = _userContext.Users.ToList();

            if (a.Count == 0)
            {
                var role = new Role()
                {
                    Name = "Director"
                };
                var role2 = new Role()
                {
                    Name = "Supervizor"
                };
                var role3 = new Role()
                {
                    Name = "User"
                };
                var role4 = new Role()
                {
                    Name = "Asistan"
                };
                var role5 = new Role()
                {
                    Name = "CEO"
                };
                _userContext.Roles.Add(role);
                _userContext.Roles.Add(role2);
                _userContext.Roles.Add(role3);
                _userContext.Roles.Add(role4);
                _userContext.Roles.Add(role5);
                _userContext.SaveChanges();

                var man = new AlimexDAL.Entity.Organization()
                {
                    Name = "Management", Parent = 0
                };
                var ik = new AlimexDAL.Entity.Organization()
                {
                    Name = "IK", Parent = 1
                };
                var Accounting = new AlimexDAL.Entity.Organization()
                {
                    Name = "Accounting", Parent = 1
                };
                var Production = new AlimexDAL.Entity.Organization()
                {
                    Name = "Production", Parent = 1
                };
                _userContext.Organization.Add(man);
                _userContext.Organization.Add(ik);
                _userContext.Organization.Add(Accounting);
                _userContext.Organization.Add(Production);
                _userContext.SaveChanges();

                User user;
                for (int i = 0; i < 5; i++)
                {
                    user          = new User();
                    user.Name     = "Ad" + i;
                    user.SurName  = "soyad" + i;
                    user.Password = "******";
                    user.Roles    = new List <Role>();
                    user.Roles.Add(role3);
                    _userContext.Users.Add(user);
                }
                user          = new User();
                user.Name     = "Erkan";
                user.SurName  = "Alkoç";
                user.Password = "******";
                user.Roles    = new List <Role>();
                user.Roles.Add(role);
                user.Organizations = new List <AlimexDAL.Entity.Organization>();
                user.Organizations.Add(Accounting);
                _userContext.Users.Add(user);


                user          = new User();
                user.Name     = "Ahmet";
                user.SurName  = "Can";
                user.Password = "******";
                user.Roles    = new List <Role>();
                user.Roles.Add(role2);
                user.Organizations = new List <AlimexDAL.Entity.Organization>();
                user.Organizations.Add(Production);
                _userContext.Users.Add(user);

                user          = new User();
                user.Name     = "Admin";
                user.SurName  = "Soyad";
                user.Password = "******";
                user.Roles    = new List <Role>();
                user.Roles.Add(role5);
                user.Organizations = new List <AlimexDAL.Entity.Organization>();
                user.Organizations.Add(man);
                _userContext.Users.Add(user);
                _userContext.SaveChanges();
            }
        }