Пример #1
0
        public СBasketUserControl(CPriorityDirection priorityDirection, bool notModify)
        {
            InitializeComponent();

            for (int i = 0; i < priorityDirection.GetCount(); i++)
            {
                Add(priorityDirection.GetDirectionWithProfile(i + 1), notModify);
            }
        }
Пример #2
0
        public void Clear()
        {
            if (_directoryUserControls.Count == 0)
            {
                throw new Exception("Корзина уже пуста!");
            }

            foreach (CDirectoryUserControl directoryUserControl in _directoryUserControls)
            {
                ((Grid)this.Content).Children.Remove(directoryUserControl);
            }
            _directoryUserControls.Clear();
            PriorityDirection = null;
        }
Пример #3
0
        private void Load()
        {
            DataTable dataTableDirection = SelectQuery("SELECT DIRECTION.ID, DIRECTION.NAME, DIRECTION.CODE FROM DIRECTION");
            DataTable dataTableProfile   = SelectQuery("SELECT DIRECTION.ID, PROFILE.NAME, FACULTY.NAME, PROFILE.ID  FROM CATALOG " +
                                                       "JOIN DIRECTION ON CATALOG.ID_DIRECTION = DIRECTION.ID " +
                                                       "JOIN PROFILE ON CATALOG.ID_PROFILE = PROFILE.ID " +
                                                       "JOIN FACULTY ON PROFILE.ID_FACULTY = FACULTY.ID");

            CPriorityDirection priorityDirection;
            List <CDirection>  directions = new List <CDirection>();
            List <CProfile>    profiles   = new List <CProfile>();

            foreach (DataRow dataRowDirection in dataTableDirection.Rows)
            {
                directions.Add(new CDirection((string)dataRowDirection[1], (string)dataRowDirection[2]));
            }
            foreach (DataRow dataRowProfile in dataTableProfile.Rows)
            {
                profiles.Add(new CProfile((string)dataRowProfile[1], (string)dataRowProfile[2], Convert.ToInt32(dataRowProfile[3])));
            }

            List <CDirectionWithProfile> directionWithProfiles = new List <CDirectionWithProfile>();

            for (int i = 0; i < profiles.Count; i++)
            {
                if (directionWithProfiles.Count != 0)
                {
                    if (directionWithProfiles[directionWithProfiles.Count - 1].ID == Convert.ToInt32(dataTableProfile.Rows[i].ItemArray[0]))
                    {
                        directionWithProfiles[directionWithProfiles.Count - 1].PriorityProfile.AddProfile(profiles[i]);
                        continue;
                    }
                }
                CDirection            direction            = directions[Convert.ToInt32(dataTableProfile.Rows[i].ItemArray[0])];
                CProfile              profile              = profiles[i];
                int                   id                   = Convert.ToInt32(dataTableProfile.Rows[i].ItemArray[0]);
                CDirectionWithProfile directionWithProfile = new CDirectionWithProfile(direction, profile, id);
                directionWithProfiles.Add(directionWithProfile);
            }

            priorityDirection = new CPriorityDirection(directionWithProfiles[0]);
            for (int i = 1; i < directionWithProfiles.Count; i++)
            {
                priorityDirection.AddDirection(directionWithProfiles[i]);
            }

            СBasketUserControl basketUserControl = new СBasketUserControl(priorityDirection, true);

            basketUserControl.HorizontalAlignment = HorizontalAlignment.Left;
            basketUserControl.VerticalAlignment   = VerticalAlignment.Top;
            basketUserControl.Margin = new Thickness(0, 79, 0, 0);

            basketUserControl.SetSizeHorizontsly(390);
            basketUserControl.SetSizeVerticals(Height - 150);

            basketUserControl.ButtonAdd += TransferDirectionWithProfile;
            _basketUserControls.Add(basketUserControl);
            ((Grid)this.Content).Children.Add(basketUserControl);

            basketUserControl = new СBasketUserControl();
            basketUserControl.HorizontalAlignment = HorizontalAlignment.Left;
            basketUserControl.VerticalAlignment   = VerticalAlignment.Top;
            basketUserControl.Margin = new Thickness(390, 79, 0, 0);

            basketUserControl.SetSizeHorizontsly(390);
            basketUserControl.SetSizeVerticals(Height - 150);

            basketUserControl.ButtonAdd += TransferDirectionWithProfile;
            _basketUserControls.Add(basketUserControl);
            ((Grid)this.Content).Children.Add(basketUserControl);
        }
Пример #4
0
 /// <summary>
 /// Конструктор класса при создании и загрузки в БД
 /// </summary>
 /// <param name="name">Именование пользователя</param>
 /// <param name="priorityDirection">Список направлений с приоритетами</param>
 public CUser(string name, CPriorityDirection priorityDirection)
 {
     Name = name;
     PriorityDirection = priorityDirection;
 }
Пример #5
0
        public void Add(CDirectionWithProfile directionWithProfile, bool notModify)
        {
            _heightDirectoryUserControls = 0;
            NotModify = notModify;

            if (PriorityDirection == null)
            {
                PriorityDirection = new CPriorityDirection(directionWithProfile);
            }
            else
            {
                PriorityDirection.AddDirection(directionWithProfile);

                foreach (CDirectoryUserControl directoryUserControl in _directoryUserControls)
                {
                    ((Grid)this.Content).Children.Remove(directoryUserControl);
                }
                _directoryUserControls.Clear();
            }

            double height = 0;

            for (int i = 0; i < PriorityDirection.GetCount(); i++)
            {
                CDirectionWithProfile localDirectionWithProfile = PriorityDirection.GetDirectionWithProfile(i + 1);
                CDirectoryUserControl directoryUserControl;
                if (NotModify)
                {
                    directoryUserControl = new CDirectoryUserControl(localDirectionWithProfile, -1, EMove.Null, NotModify);
                }
                else
                {
                    if (PriorityDirection.GetCount() == 1)
                    {
                        directoryUserControl = new CDirectoryUserControl(localDirectionWithProfile, i + 1, EMove.Null, NotModify);
                    }
                    else
                    {
                        if (i == 0)
                        {
                            directoryUserControl = new CDirectoryUserControl(localDirectionWithProfile, i + 1, EMove.Down, NotModify);
                        }
                        else if (i == PriorityDirection.GetCount() - 1)
                        {
                            directoryUserControl = new CDirectoryUserControl(localDirectionWithProfile, i + 1, EMove.Up, NotModify);
                        }
                        else
                        {
                            directoryUserControl = new CDirectoryUserControl(localDirectionWithProfile, i + 1, EMove.DownUp, NotModify);
                        }
                    }
                }

                directoryUserControl.HorizontalAlignment = HorizontalAlignment.Left;
                directoryUserControl.VerticalAlignment   = VerticalAlignment.Top;
                directoryUserControl.Margin = new Thickness(0, height, 0, 0);
                height = height + directoryUserControl.Height;
                directoryUserControl.ButtonMoveUp   += DirectoryUserControlMoveUp;
                directoryUserControl.ButtonMoveDown += DirectoryUserControlMoveDown;

                if (Width > 0)
                {
                    directoryUserControl.SetResizeWidth(Width - scrollBar.Width);;
                }
                _directoryUserControls.Add(directoryUserControl);
                _heightDirectoryUserControls    = _heightDirectoryUserControls + directoryUserControl.Height;
                directoryUserControl.ButtonAdd += AddIntoBasket;
                ((Grid)this.Content).Children.Add(directoryUserControl);
            }

            if (_heightDirectoryUserControls > Height)
            {
                scrollBar.Maximum = _heightDirectoryUserControls - Height;
            }
        }