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(); }
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(); }
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(); }