コード例 #1
0
        partial void AfterRowInsert(TicketStatus ticketStatus)
        {
            TicketStatuses statuses = new TicketStatuses(LoginUser);

            statuses.LoadByTicketTypeID(ticketStatus.TicketTypeID);
            TicketNextStatuses ticketNextStatuses = new TicketNextStatuses(LoginUser);

            for (int i = 0; i < statuses.Count; i++)
            {
                if (statuses[i].TicketStatusID != ticketStatus.TicketStatusID)
                {
                    TicketNextStatus ticketNextStatus = ticketNextStatuses.AddNewTicketNextStatus();
                    ticketNextStatus.CurrentStatusID = ticketStatus.TicketStatusID;
                    ticketNextStatus.NextStatusID    = statuses[i].TicketStatusID;
                    ticketNextStatus.Position        = i;
                }
            }

            foreach (TicketStatus status in statuses)
            {
                if (status.TicketStatusID != ticketStatus.TicketStatusID)
                {
                    TicketNextStatus ticketNextStatus = ticketNextStatuses.AddNewTicketNextStatus();
                    ticketNextStatus.CurrentStatusID = status.TicketStatusID;
                    ticketNextStatus.NextStatusID    = ticketStatus.TicketStatusID;
                    ticketNextStatus.Position        = TicketNextStatuses.GetMaxPosition(LoginUser, status.TicketStatusID) + 1;
                }
            }
            ticketNextStatuses.Save();



            ticketStatus.FillWorkflow();
        }
コード例 #2
0
        public void ValidatePositions(int currentStatusID)
        {
            TicketNextStatuses ticketNextStatuses = new TicketNextStatuses(LoginUser);

            ticketNextStatuses.LoadAllPositions(currentStatusID);
            int i = 0;

            foreach (TicketNextStatus ticketNextStatus in ticketNextStatuses)
            {
                ticketNextStatus.Position = i;
                i++;
            }
            ticketNextStatuses.Save();
        }
コード例 #3
0
        public void MovePositionUp(int ticketNextStatusID)
        {
            TicketNextStatuses types1 = new TicketNextStatuses(LoginUser);

            types1.LoadByTicketNextStatusID(ticketNextStatusID);
            if (types1.IsEmpty || types1[0].Position < 1)
            {
                return;
            }

            TicketNextStatuses types2 = new TicketNextStatuses(LoginUser);

            types2.LoadByPosition(types1[0].CurrentStatusID, types1[0].Position - 1);
            if (!types2.IsEmpty)
            {
                types2[0].Position = types2[0].Position + 1;
                types2.Save();
            }

            types1[0].Position = types1[0].Position - 1;
            types1.Save();
        }