public void MovePositionDown(int ticketStatusID)
        {
            ValidatePositions(TicketStatuses.GetTicketStatus(LoginUser, ticketStatusID).TicketTypeID);

            TicketStatuses types1 = new TicketStatuses(LoginUser);

            types1.LoadByTicketStatusID(ticketStatusID);
            if (types1.IsEmpty || types1[0].Position >= GetMaxPosition(types1[0].TicketTypeID))
            {
                return;
            }

            TicketStatuses types2 = new TicketStatuses(LoginUser);

            types2.LoadByPosition(types1[0].TicketTypeID, 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();
            ValidatePositions(types1[0].TicketTypeID);
        }
Exemple #2
0
        public static TicketStatus GetTicketStatus(LoginUser loginUser, int ticketStatusID)
        {
            TicketStatuses ticketStatuses = new TicketStatuses(loginUser);

            ticketStatuses.LoadByTicketStatusID(ticketStatusID);
            if (ticketStatuses.IsEmpty)
            {
                return(null);
            }
            else
            {
                return(ticketStatuses[0]);
            }
        }
        public void LoadNotNextStatuses(int currentStatusID)
        {
            TicketStatuses statuses = new TicketStatuses(LoginUser);

            statuses.LoadByTicketStatusID(currentStatusID);
            if (statuses.IsEmpty)
            {
                return;
            }
            TicketStatus status = statuses[0];

            using (SqlCommand command = new SqlCommand())
            {
                command.CommandText = "SELECT * FROM TicketStatuses ts WHERE (ts.TicketStatusID not in (SELECT tns.NextStatusID FROM TicketNextStatuses tns WHERE (tns.CurrentStatusID = @CurrentStatusID))) AND (ts.TicketTypeID = @TicketTypeID) AND (ts.TicketStatusID <> @CurrentStatusID)";
                command.CommandType = CommandType.Text;
                command.Parameters.AddWithValue("CurrentStatusID", currentStatusID);
                command.Parameters.AddWithValue("TicketTypeID", status.TicketTypeID);
                Fill(command, "TicketStatuses,TicketNextStatuses");
            }
        }