コード例 #1
0
        public TransitionDTO ToTransitionDTO(DR_Requester requester, DataAccess.Transition item, bool withDetails)
        {
            TransitionDTO result = new TransitionDTO();

            result.ID             = item.ID;
            result.CurrentStateID = item.CurrentStateID;
            result.NextStateID    = item.NextStateID;
            result.Name           = item.Name;

            result.ProcessID = item.ProcessID;

            if (withDetails)
            {
                BizState bizState = new BizState();
                result.CurrentState = bizState.ToStateDTO(item.State, false);
                result.NextState    = bizState.ToStateDTO(item.State1, false);

                BizActivity bizActivity = new BizActivity();
                foreach (var act in item.TransitionActivity)
                {
                    result.TransitionActivities.Add(bizActivity.ToActivityDTO(act.Activity, withDetails));
                }

                foreach (var act in item.TransitionAction)
                {
                    result.TransitionActions.Add(ToTransitionAction(requester, act, withDetails));
                }
            }
            return(result);
        }
コード例 #2
0
        private void ConnectionManipulated(IConnection tmpconnection, IShape shape1, IShape shape2)
        {
            var transitionConnection = TransitionConnections.FirstOrDefault(x => x.Item2 == tmpconnection);
            //var shape1 = tmpconnection.Source;
            //var shape2 = tmpconnection.Target;
            IConnection   newConnection = null;
            TransitionDTO transition    = null;

            if (transitionConnection != null)
            {
                transition = transitionConnection.Item1;
                diagram.RemoveConnection(tmpconnection);
                TransitionConnections.Remove(transitionConnection);
            }
            else
            {
                transition           = new TransitionDTO();
                transition.ProcessID = ProcessID;
            }
            newConnection               = CreateConnection(shape1, shape2);
            newConnection.Content       = GetConnectionContent(transition);
            newConnection.TargetCapType = CapType.Arrow1Filled;
            transitionConnection        = new Tuple <TransitionDTO, IConnection>(transition, newConnection);
            TransitionConnections.Add(transitionConnection);

            transitionConnection.Item1.CurrentStateID = (shape1 as StateShape).StateID;
            transitionConnection.Item1.CurrentState   = States.First(x => x.ID == (shape1 as StateShape).StateID);
            transitionConnection.Item1.NextStateID    = (shape2 as StateShape).StateID;
            transitionConnection.Item1.NextState      = States.First(x => x.ID == (shape2 as StateShape).StateID);

            //////if (!transition.TransitionActions.Any())
            //////{
            //////    EditTransitionActions(transitionConnection);
            //////}
        }
コード例 #3
0
        public frmTransitionInfo(ProcessDTO process, TransitionDTO transition)
        {
            InitializeComponent();
            Transition = transition;
            //TransitionActions = transitionActions;
            Process = process;

            ShowMessage();
            SetBaseData();
            dtgTransitionActionList.SelectionChanged += dtgTransitionActionList_SelectionChanged;

            ControlHelper.GenerateContextMenu(dtgFormulaList);
            ControlHelper.GenerateContextMenu(dtgTransitionActionList);
            ControlHelper.GenerateContextMenu(dtgListActivities);
            ControlHelper.GenerateContextMenu(dtgEntityGroup);


            ControlHelper.GenerateContextMenu(dtgActionTargets);
            dtgActionTargets.CellEditEnded += DtgActionTargets_CellEditEnded;
            dtgActionTargets.RowLoaded     += DtgActionTargets_RowLoaded;


            colEntityGroup.EditItemEnabled  = true;
            colEntityGroup.NewItemEnabled   = true;
            colEntityGroup.EditItemClicked += ColEntityGroup_EditItemClicked;
        }
コード例 #4
0
        public frmTransitionAction(TransitionDTO transition)
        {
            InitializeComponent();
            Transition = transition;
            //TransitionActions = transitionActions;
            dtgList.SelectionChanged += DtgList_SelectionChanged;
            SetBaseData();

            tabControl.IsEnabled = false;
            //Actions = bizAction.GetActions(ProcessID,).Where(x => TransitionActions.Select(y => y.ActionID).Contains(x.ID)).ToList();
            dtgList.ItemsSource = Transition.TransitionActions;
            if (Transition.TransitionActions.Count == 1)
            {
                TransitionActionSelected(Transition.TransitionActions.First());
            }
            ControlHelper.GenerateContextMenu(dtgFormList);
            ControlHelper.GenerateContextMenu(dtgFormulaList);
            if (Transition.CurrentState != null)
            {
                if (Transition.CurrentState.StateType == StateType.Start)
                {
                    tabForms.Visibility = Visibility.Collapsed;
                }
            }
        }
コード例 #5
0
        //private void btnEdit_Click(object sender, RoutedEventArgs e)
        //{
        //    if (TransitionEditActions != null)
        //    {
        //        TransitionEditActions(this, new TransitionEditArg() { Transition = Transition });
        //    }
        //}


        internal void SetInfo(TransitionDTO transition)
        {
            //بهتره همه دکمه ها یکی بشه
            lblTitle.Text = transition.Name + Environment.NewLine + "اقدام" + " : " + transition.TransitionActions.Count + "-" + "فعالیت" + " : " + transition.TransitionActivities.Count;

            var actionTooltip = "";

            foreach (var item in transition.TransitionActions)
            {
                //if (item.Action == null)
                //{
                //    if (item.ActionID != 0)
                //    {
                //        BizAction bizAction = new MyModelManager.BizAction();
                //        item.Action = bizAction.GetAction(item.ActionID);

                //    }
                //}
                actionTooltip += (actionTooltip == "" ? "" : Environment.NewLine) + item.Name;
            }

            var activityTooltip = "";

            foreach (var item in transition.TransitionActivities)
            {
                activityTooltip += (activityTooltip == "" ? "" : Environment.NewLine) + item.Name;
            }
            lblTitle.ToolTip = "اقدامات" + Environment.NewLine + actionTooltip + Environment.NewLine + "فعالیتها" + Environment.NewLine + activityTooltip;
        }
コード例 #6
0
        public async Task <TransitionDTO> CreateAsync(TransitionDTO dto)
        {
            var model = _mapper.Map <Transition>(dto);
            await _unitOfWork.TransitionRepository.AddAsync(model);

            await _unitOfWork.SaveAsync();

            return(_mapper.Map <TransitionDTO>(model));
        }
コード例 #7
0
        private UC_ConnectionContent GetConnectionContent(TransitionDTO transition)
        {
            var content = new UC_ConnectionContent(transition);

            //content.TransitionEditActions += content_TransitionEditActions;
            //content.TransitionEditActivities += Content_TransitionEditActivities;
            content.TransitionInfo += Content_TransitionInfo;
            //content.TransitionEditForms += Content_TransitionEditForms;
            return(content);
        }
コード例 #8
0
        public UC_ConnectionContent(TransitionDTO transition)
        {
            //بهتره همه دکمه ها یکی بشه
            InitializeComponent();
            Transition = transition;

            SetInfo(Transition);
            BizProcess bizProcess = new BizProcess();
            var        process    = bizProcess.GetProcess(MyProjectManager.GetMyProjectManager.GetRequester(), transition.ProcessID, false);
            //if (process.EntityID == 0)
            //{
            //    btnEditTransitionActionForms.Visibility = Visibility.Collapsed;
            //}
        }
コード例 #9
0
        public async Task <TransitionDTO> UpdateAsync(TransitionDTO dto)
        {
            var model = _mapper.Map <Transition>(dto);

            if (model.IsFixed)
            {
                throw new ConstraintException("Can not be edited");
            }
            if (dto.IsFixed)
            {
                throw new ArgumentException("Incorrect model");
            }

            _unitOfWork.TransitionRepository.Update(model);
            await _unitOfWork.SaveAsync();

            return(_mapper.Map <TransitionDTO>(model));
        }
コード例 #10
0
 private IConnection GetConnection(TransitionDTO item)
 {
     //StateShape shape1 = GetStateShape(item.CurrentStateID);
     //StateShape shape2 = GetStateShape(item.CurrentStateID);
     foreach (var connection in diagram.Connections)
     {
         if (connection.Source is StateShape)
         {
             if (connection.Target is StateShape)
             {
                 var source = (connection.Source as StateShape);
                 var target = (connection.Target as StateShape);
                 if (source.StateID == item.CurrentStateID && target.StateID == item.NextStateID)
                 {
                     return(connection);
                 }
             }
         }
     }
     return(null);
 }