Esempio n. 1
0
 private void TemplatesListBox_EditValueChanged(object sender, DevExpress.Xpf.Editors.EditValueChangedEventArgs e)
 {
     if (Stages != null && e.NewValue != null)
     {
         var sortIndex = Stages.Max(x => x.SortIndex) ?? 1;
         var template  = (KeyValuePair <int, string>)e.NewValue;
         var newStage  = new ProjectStageTile((EStageTemplate)template.Key, ++sortIndex);
         newStage.Project = _originalProject;
         Stages.Add(newStage);
         FocusedStage = newStage;
         StageTemplatesPopup.ClosePopup();
     }
 }
Esempio n. 2
0
        public void Load(ORM.ProjectInfoView project)
        {
            if (_dc != null)
            {
                _dc.Dispose();
            }
            ;
            _dc = new FPMDataContext();
            Stages.Clear();
            var mainStage = new ProjectStageTile()
            {
                ID        = -1,
                Name      = "Основные данные",
                SortIndex = 0,
                IsPublic  = true,
                RowState  = 0,
            };

            Stages.Add(mainStage);
            FocusedStage = mainStage;

            _project         = project;
            _originalProject = project.ToProject();

            if (_project.ID > 0)
            {
                var stages = _dc.ProjectStage
                             .Where(x => x.RowState == Convert.ToInt16(ERowState.Active) &&
                                    x.ProjectID == _project.ID &&
                                    (x.IsPublic || (UserSettings.ProfileRole == ERole.Administrator) || x.ResponsibleRole == Convert.ToInt16(UserSettings.ProfileRole)))
                             .OrderBy(x => x.SortIndex);

                foreach (var stage in stages)
                {
                    Stages.Add(new ProjectStageTile(stage));
                }
                ;
            }
            else
            {
                Stages.Add(new ProjectStageTile(EStageTemplate.Sketch, 1));
                Stages.Add(new ProjectStageTile(EStageTemplate.Contract, 2));
                Stages.Add(new ProjectStageTile(EStageTemplate.Payment, 3));
                Stages.Add(new ProjectStageTile(EStageTemplate.Shipment, 4));
            };

            Stages.Where(x => x.Project == null).ToList().ForEach(x => x.Project = _originalProject);

            OnStageChanged();
            isLoaded = true;
        }
Esempio n. 3
0
        private void AddStage_ItemClick(object sender, ItemClickEventArgs e)
        {
            var eventResult = new CancelEventArgs();

            OnStageChanging(eventResult);
            if (!eventResult.Cancel)
            {
                int nextSortIndex = _stages.Select(x => x.SortIndex).Max() ?? 0;
                var newStage      = new ProjectStageTile(_originalProject, ++nextSortIndex);
                _stages.Add(newStage);
                FocusedStage = newStage;
            }
            ;
        }