private void toolStripMenuItem_EditAttitudeDefinitions_Click(object sender, EventArgs e) { int SelectedAttitudeDefinitionCount = listView_EditAttitudeDefinition.SelectedItems.Count; MaterialMessageComboBox.MessageBoxResult result = MaterialMessageComboBox.MessageBoxResult.None; if (SelectedAttitudeDefinitionCount == 0) { return; } int CurrentAttitudeDefinition = 0; using (SurveyController surveyController = new SurveyController()) using (QuestionController questionController = new QuestionController()) { long AttitudeID = Convert.ToInt64(txt_EditAttitudeDetailsName.Tag); long SurveyID = -1; long QuestionID = -1; foreach (ListViewItem SelectedAttitudeDefinition in listView_EditAttitudeDefinition.SelectedItems) { QuestionID = Convert.ToInt64(SelectedAttitudeDefinition.Tag); SurveyID = surveyController.GetByQuestion(QuestionID).SurveyID; result = MaterialMessageComboBox.MessageBoxResult.None; result = MaterialMessageComboBox.Show("Editeaza definitia atitudinii:", "Easy Survey - Edit Attitude Definition (" + ++CurrentAttitudeDefinition + "/" + SelectedAttitudeDefinitionCount + ")", MaterialMessageComboBox.MessageBoxButtons.OKCancel, AttitudeID, SurveyID, QuestionID); if (result == MaterialMessageComboBox.MessageBoxResult.OK) { AttitudeDefinitionController attitudeDefinitionController = new AttitudeDefinitionController(); long NewSurveyID = MaterialMessageComboBox.Answer1; long NewQuestionID = MaterialMessageComboBox.Answer2; attitudeDefinitionController.Update(AttitudeID, QuestionID, NewQuestionID); string NewQuestionName = questionController.Get(NewQuestionID).Question1; int AttitudeDefinitionIndex = listView_EditAttitudeDefinition.Items.IndexOf(SelectedAttitudeDefinition); listView_EditAttitudeDefinition.Items[AttitudeDefinitionIndex].Text = NewQuestionName; listView_EditAttitudeDefinition.Items[AttitudeDefinitionIndex].Tag = NewQuestionID; } else if (result == MaterialMessageComboBox.MessageBoxResult.None) { break; } } } }
private void cmb_SelectUserReport_SelectedIndexChanged(object sender, EventArgs e) { string Username = cmb_SelectUserReport.Text; int SelectedIndex = cmb_SelectUserReport.SelectedIndex; listView_UserReports.Items.Clear(); listView_AttitudeReports.Items.Clear(); if (Username == "*" || SelectedIndex == -1) { return; } UserModelDataTransferObject SelectedUser; using (UserController userController = new UserController()) SelectedUser = userController.GetUserByName(Username); long UserID = SelectedUser.UserID; List <Result> UserResults; using (ResultController resultController = new ResultController()) UserResults = resultController.GetForUser(UserID); UserResults = UserResults.OrderBy(r => r.SurveyID).ThenByDescending(r => r.Date).ToList(); SurveyController surveyController = new SurveyController(); foreach (Result result in UserResults) { string SurveyName = surveyController.Get(result.SurveyID).SurveyName; listView_UserReports.Items.Add(new ListViewItem(listView_UserReports.Groups["default"]) { Text = result.ToString(), Tag = result.ResultID }); } //Get list of lastest User Reports List <long> UsedSurveyID = new List <long>(); List <Result> LastUserReports = new List <Result>(); foreach (Result result in UserResults) { if (!UsedSurveyID.Contains(result.SurveyID)) { UsedSurveyID.Add(result.SurveyID); LastUserReports.Add(result); } } UsedSurveyID = null; //Calculate Attitude Score using (AttitudeController attitudeController = new AttitudeController()) using (AttitudeDefinitionController attitudeDefinitionController = new AttitudeDefinitionController()) using (ResultDefinitionController resultDefinitionController = new ResultDefinitionController()) { List <Attitude> attitudes = attitudeController.GetAttitudes(); listView_AttitudeReports.Items.Clear(); foreach (Attitude attitude in attitudes) { long AttitudeSum = 0; bool Found = false; List <AttitudeDefinition> attitudeDefinitions = attitudeDefinitionController.GetRelation(attitude.AttitudeID); foreach (AttitudeDefinition attitudeDefinition in attitudeDefinitions) { long QuestionID = attitudeDefinition.QuestionID; foreach (Result result in LastUserReports) { List <ResultDefinition> resultDefinitions = resultDefinitionController.Get(result.ResultID); Found = false; foreach (ResultDefinition resultDefinition in resultDefinitions) { if (resultDefinition.QuestionID == QuestionID) { AttitudeSum += resultDefinition.ResultAnswer; Found = true; break; } } if (Found) { break; } } string SurveyName = surveyController.GetByQuestion(QuestionID).SurveyName; if (!Found) { listView_AttitudeReports.Items.Add( new ListViewItem(listView_AttitudeReports.Groups["default"]) { ForeColor = Color.Red, Text = attitude.AttitudeName + " - requires '" + SurveyName + "'", Tag = attitude.AttitudeID }); break; } } if (Found) { listView_AttitudeReports.Items.Add( new ListViewItem(listView_AttitudeReports.Groups["default"]) { Text = attitude.AttitudeName + " - " + AttitudeSum, Tag = attitude.AttitudeID }); } } } }