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 static void DeleteByTicketTypeID(LoginUser loginUser, int ticketTypeID) { TicketStatuses statuses = new TicketStatuses(loginUser); statuses.LoadByTicketTypeID(ticketTypeID); foreach (TicketStatus status in statuses) { statuses.DeleteFromDB(status.TicketStatusID); } }