示例#1
0
        /// <summary>
        /// Checks if a training session in originalTrainingSessions exists in the listOfTainingSessions.  If it doesn't then it needs to be removed
        /// </summary>
        private void CheckForDeletedSessions()
        {
            // Check each item in the original training session list
            for (int i = 0; i < originalTrainingSessions.Count; i++)
            {
                var  originalId       = originalTrainingSessions[i].sessionId;
                bool needsToBeDeleted = true;

                for (int j = 0; j < TrainingSession.listOfTrainingSessions.Count; j++)
                {
                    var currentList = TrainingSession.listOfTrainingSessions[j].sessionId;
                    // If there is a match, break out of this for loop
                    if (originalTrainingSessions[i].sessionId == TrainingSession.listOfTrainingSessions[j].sessionId)
                    {
                        needsToBeDeleted = false;
                        break;
                    }
                }

                // If a session isn't in the original list, then it needs to be removed
                if (needsToBeDeleted)
                {
                    AssignedTrainingSessions session = new AssignedTrainingSessions(clientId, Convert.ToInt32(originalId));

                    AssignedTrainingSessions.removedTrainingSessionList.Add(session);

                    var removedCount = AssignedTrainingSessions.newTrainingSessionList.Count;
                    logger.Info(removedCount);
                    var newCount = AssignedTrainingSessions.newTrainingSessionList.Count;
                    logger.Info(newCount);
                }
            } // End of for loop
        }
示例#2
0
        /// <summary>
        /// Checks if a given training session exists in the originalTrainingSessions list.  If not, add it to trainingSessionsToAdd
        /// </summary>
        private void CheckForNewSessions()
        {
            // Loop through the current list of assigned training sessions to see if we need to add or remove any
            for (int i = 0; i < TrainingSession.listOfTrainingSessions.Count; i++)
            {
                // a flag for whether the session needs to be added or not.  By default, no
                bool newSessionAdded = true;

                string listSessionId = TrainingSession.listOfTrainingSessions[i].sessionId;
                // For each session in listOfTrainingSessions, see if exists in the original one
                for (int j = 0; j < originalTrainingSessions.Count; j++)
                {
                    string originalTrainingSessionId = originalTrainingSessions[j].sessionId;
                    // If it exists in current list and the new list, don't do anything
                    if (TrainingSession.listOfTrainingSessions[i].sessionId == originalTrainingSessions[j].sessionId)
                    {
                        newSessionAdded = false;
                        continue;
                    }
                    // If the session isn't found in the original array, then it is new and newSessionAddd stays as true
                }

                // Now add the new session to the list
                if (newSessionAdded)
                {
                    AssignedTrainingSessions session = new AssignedTrainingSessions(clientId, Convert.ToInt32(TrainingSession.listOfTrainingSessions[i].sessionId));

                    AssignedTrainingSessions.newTrainingSessionList.Add(session);
                    var count = AssignedTrainingSessions.newTrainingSessionList.Count;
                    logger.Info(count);
                }
            } // End of main for loop for adding sessions
        }
示例#3
0
        /// <summary>
        /// When the user wants to save their changes to the database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void buttonSaveChanges_Click(object sender, EventArgs e)
        {
            var removedCount = AssignedTrainingSessions.newTrainingSessionList.Count;

            logger.Info(removedCount);
            var newCount = AssignedTrainingSessions.newTrainingSessionList.Count;

            logger.Info(newCount);

            // Compare lists to find any added training sessions
            CheckForNewSessions();

            removedCount = AssignedTrainingSessions.newTrainingSessionList.Count;
            logger.Info(removedCount);
            newCount = AssignedTrainingSessions.newTrainingSessionList.Count;
            logger.Info(newCount);

            // Now see what was removed
            CheckForDeletedSessions();

            logger.Info($"New Training Sessions: {AssignedTrainingSessions.newTrainingSessionList.Count}");

            logger.Info($"Removed Training Sessions: {AssignedTrainingSessions.removedTrainingSessionList.Count}");


            // If session did exist, and was removed, set DELETE request
            if (AssignedTrainingSessions.removedTrainingSessionList.Count > 0)
            {
                AssignedTrainingSessions.RemoveTrainingSessionsFromDatabase();
            }

            // If new, send POST request to update client training sessions with userid and session id
            if (AssignedTrainingSessions.newTrainingSessionList.Count > 0)
            {
                AssignedTrainingSessions.AddNewTrainingSessionsToDatabase();
            }


            // TODO: Check if all changes were made successfully.  If they were, close the form
            MessageBox.Show("Successfully saved your changes");

            this.Close();
        }