// Create Lectures public int createLecture(lectureModel lectureData, bool feed, DateTime endDate) { int result = 0; using (myProjectEntities context = new myProjectEntities()) { lectureData.lecture_status = 1; Mapper.CreateMap <lectureModel, tblLecture>(); tblLecture newLec = Mapper.Map <lectureModel, tblLecture>(lectureData); context.tblLectures.Add(newLec); int qq = context.SaveChanges(); result = qq; if (feed) { feedbackModel feedModel = new feedbackModel(); feedModel.FK_Lecture_id = newLec.PK_Lecture_id; feedModel.end_date = endDate; qq = createFeedback(feedModel); } return(result); } }
//Enter Feedback public bool createFeedbackAnswer(FeedbackAnswer feedModel) { bool result = false; float fValue = 0; using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <FeedbackAnswer, tblFeedbackResult>(); tblFeedbackResult newFeed = Mapper.Map <FeedbackAnswer, tblFeedbackResult>(feedModel); context.tblFeedbackResults.Add(newFeed); context.SaveChanges(); var valueFeed = context.tblFeedbackResults.Where(q => q.FK_Feedback_id == feedModel.FK_Feedback_id).Select(q => q.feedback_answer).AsEnumerable(); float d = float.Parse(valueFeed.Aggregate((a, b) => a + b).ToString()); int count = valueFeed.Count(); fValue = d / count; tblFeedback f = context.tblFeedbacks.Where(q => q.PK_Feedback_id == feedModel.FK_Feedback_id).FirstOrDefault(); f.feedback_value = fValue; context.Entry(f).State = EntityState.Modified; context.SaveChanges(); } return(result); }
public string CreateProfessor(Professor_Profile prfsrProfile) { string result; Service1 s = new Service1(); // use some student Registration code bool exEmail = s.ExistingEmail(prfsrProfile.email); //check whether the email is existing or not if (exEmail) { using (myProjectEntities context = new myProjectEntities()) { string vCode = Guid.NewGuid().ToString(); // create verification code prfsrProfile.verification_code = vCode; prfsrProfile.profile_pic = "~/Images/profile.png"; prfsrProfile.status = 0; Mapper.CreateMap <Professor_Profile, tblProfessor>(); tblProfessor newProf = Mapper.Map <Professor_Profile, tblProfessor>(prfsrProfile); context.tblProfessors.Add(newProf); int qq = context.SaveChanges(); result = qq.ToString(); bool sendMail = s.SendEmail(prfsrProfile.firstname + " " + prfsrProfile.middlename + " " + prfsrProfile.lastname, prfsrProfile.email, "Account Verification", prfsrProfile.verification_code); } } else { result = "Existing Email"; } return(result); }
//Create Questions for quiz. This is awesome public int CreateQuestion(questionModel quesData) { int result = 0; using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <questionModel, tblQuizQuestion>(); tblQuizQuestion newQues = Mapper.Map <questionModel, tblQuizQuestion>(quesData); List <tblQuizOption> newOpt = new List <tblQuizOption>(); Mapper.CreateMap <optionModel, tblQuizOption>(); foreach (optionModel opt in quesData.optionModel) { tblQuizOption o = Mapper.Map <optionModel, tblQuizOption>(opt); newOpt.Add(o); } newQues.tblQuizOptions = newOpt.ToList(); context.tblQuizQuestions.Add(newQues); //Execute the add function int q = context.SaveChanges(); if (q > 0) { result = newQues.PK_Question_id; //set return to true } } return(result); }
//Get all feedback public DataSet getAllFeedbacks(int moduleId) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("Lecture"); dt.Columns.Add("Average"); using (myProjectEntities context = new myProjectEntities()) { var listFeedback = context.tblFeedbacks.Where(q => q.tblLecture.FK_Module_id == moduleId).Select(q => q.PK_Feedback_id).ToList(); foreach (var feedId in listFeedback) { var feedAnswer = context.tblFeedbackResults.Where(q => q.FK_Feedback_id == feedId).Select(q => q.feedback_answer).ToList(); var feedAnswer1 = context.tblFeedbackResults.Where(q => q.FK_Feedback_id == feedId).Select(q => q.tblFeedback.tblLecture.lecture_title).FirstOrDefault(); float m = 0; m = float.Parse(feedAnswer.Sum().ToString()); float d = (float)feedAnswer.Count; float average = m / d; dt.Rows.Add(feedAnswer1, average.ToString()); } ds.Tables.Add(dt); } return(ds); }
public int[] Dashboard(int ProfId) { using (myProjectEntities context = new myProjectEntities()) { int[] reply = new int[4]; int studentCount = 0; int activeQuizCount = 0; int activeLectureCount = 0; int quiz = 0; List <tblProfessorModule> moduleList = context.tblProfessorModules.Where(q => q.FK_Professor_id == ProfId).ToList(); foreach (tblProfessorModule mList in moduleList) { int student = context.tblStudentModules.Where(q => q.FK_Module_id == mList.FK_Module_id).Count(); studentCount += student; int mId = context.tblQuizDetails.Where(q => q.FK_ModuleId == mList.FK_Module_id && System.DateTime.Now <= q.quiz_end_date).Count(); activeQuizCount += mId; int lId = context.tblFeedbacks.Where(q => q.tblLecture.FK_Module_id == mList.FK_Module_id).Count(); activeLectureCount += lId; int qId = context.tblQuizDetails.Where(q => q.FK_ModuleId == mList.FK_Module_id && System.DateTime.Now == q.quiz_end_date).Count(); quiz += qId; } reply[0] = studentCount; reply[1] = activeQuizCount; reply[2] = activeLectureCount; reply[3] = quiz; return(reply); } }
public DataSet getAllModuleByTerm(string term) { DataSet ds = new DataSet(); using (myProjectEntities context = new myProjectEntities()) { List <tblDepartmentModule> depModules = context.tblDepartmentModules.Where(w => w.term == term).ToList(); foreach (tblDepartmentModule dep in depModules) { List <tblQuizDetail> qDetail = context.tblQuizDetails.Where(q => q.FK_ModuleId == dep.PK_Module_id).ToList(); DataTable dt = new DataTable(); dt.Columns.Add("quiz"); dt.Columns.Add("marks"); foreach (tblQuizDetail item in qDetail) { tblQuizResult r = context.tblQuizResults.Where(q => q.FK_QuizId == item.PK_Quiz_id).FirstOrDefault(); if (r != null) { var totalMarks = context.tblQuizResults.Where(q => q.FK_QuizId == item.PK_Quiz_id).Select(q => q.marks).AsEnumerable(); float d = float.Parse(totalMarks.Aggregate((a, b) => a + b).ToString()); float s = (float)item.quiz_weightage; float per = d / s * 100; dt.Rows.Add(item.quiz_title, per); } } if (dt.Rows.Count > 0) { ds.Tables.Add(dt); } } } return(ds); }
//Get student performance on each quiz of the module public DataSet getAllQuizbyStudent(int studentId, int moduleId) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("quiz"); dt.Columns.Add("marks"); using (myProjectEntities context = new myProjectEntities()) { var allQuiz = context.tblQuizDetails.Where(q => q.FK_ModuleId == moduleId).Select(q => q.PK_Quiz_id).ToList(); for (int i = 0; i < allQuiz.Count; i++) { int s = Convert.ToInt32(allQuiz[i].ToString()); tblQuizDetail q = context.tblQuizDetails.Where(t => t.PK_Quiz_id == s).FirstOrDefault(); //Quiz Detail string title = q.quiz_title; float weightage = (float)q.quiz_weightage; var sd = context.tblQuizResults.Where(w => w.FK_QuizId == s && w.FK_studentId == studentId).Select(w => w.marks).ToList(); //All marks scored by student for that quiz float mark = float.Parse(sd.Sum().ToString()); // Total marks float p = (mark / weightage) * 100; //Percantage scored by the student dt.Rows.Add(title, p.ToString()); } ds.Tables.Add(dt); } return(ds); }
//Get all feedback lectures of by moduleid public IEnumerable <lectureModel> GetAllFeedbackByModule(int moduleId, int studentId) { using (myProjectEntities context = new myProjectEntities()) { List <tblLecture> allLectures = context.tblLectures.Where(q => q.FK_Module_id == moduleId && q.lecture_status == 1 && q.lecture_date <= System.DateTime.Now).ToList(); List <tblFeedback> feedModel = new List <tblFeedback>(); List <tblLecture> lectModel = new List <tblLecture>(); foreach (tblLecture item in allLectures) { tblFeedback d = context.tblFeedbacks.Where(w => w.FK_Lecture_id == item.PK_Lecture_id && System.DateTime.Now <= w.end_date).FirstOrDefault(); ////////Look here if (d != null) { var checkStudent = context.tblFeedbackResults.Where(r => r.FK_Student_id == studentId && r.FK_Feedback_id == d.PK_Feedback_id).FirstOrDefault(); if (checkStudent == null) { //feedModel.Add(d); lectModel.Add(item); } } } Mapper.CreateMap <tblLecture, lectureModel>(); IEnumerable <lectureModel> result = Mapper.Map <IEnumerable <tblLecture>, IEnumerable <lectureModel> >(lectModel); return(result); } }
//Delete Question with all Options public bool DeleteQuestion(int quesData) { bool result = false; using (myProjectEntities context = new myProjectEntities()) { tblQuizQuestion quesDetail = context.tblQuizQuestions.Where(w => w.PK_Question_id == quesData).FirstOrDefault(); float m1 = (float)quesDetail.marks; tblQuizDetail quizDetail = context.tblQuizDetails.Where(a => a.PK_Quiz_id == quesDetail.FK_Quiz_id).FirstOrDefault(); float m2 = (float)quizDetail.quiz_weightage - m1; quizDetail.quiz_weightage = m2; context.Entry(quizDetail).State = EntityState.Modified; context.SaveChanges(); int q = context.spDeleteQuestionWithOption(quesData); if (q != 0) { result = true; //set return to true } } return(result); }
//To save complete quiz in one go public bool quizAnswer(List <QuizResultModel> quizRData) { bool result = false; Stopwatch st = new Stopwatch(); using (myProjectEntities context = new myProjectEntities()) { for (int i = 0; i < quizRData.Count; i++) { Mapper.CreateMap <QuizResultModel, tblQuizResult>(); tblQuizResult newQuizR = Mapper.Map <QuizResultModel, tblQuizResult>(quizRData[i]); context.tblQuizResults.Add(newQuizR); } int q = context.SaveChanges(); //Mapper.CreateMap<QuizResultModel, tblQuizResult>(); //List<tblQuizResult> newQuizR = Mapper.Map<List<QuizResultModel>, List<tblQuizResult>>(quizRData); //st.Restart(); //context.tblQuizResults.AddRange(newQuizR); //st.Stop(); //st.Restart(); //context.SaveChanges(); //st.Stop(); } return(result); }
//Update existing Questions public bool UpdateQuestion(questionModel quesData) { bool result = false; using (myProjectEntities context = new myProjectEntities()) //update weightage { tblQuizQuestion quesDetail = context.tblQuizQuestions.Where(w => w.PK_Question_id == quesData.PK_Question_id).FirstOrDefault(); float m1 = (float)quesDetail.marks; tblQuizDetail quizDetail = context.tblQuizDetails.Where(a => a.PK_Quiz_id == quesData.FK_Quiz_id).FirstOrDefault(); float m2 = (float)quizDetail.quiz_weightage - m1; quizDetail.quiz_weightage = m2 + (float)quesData.marks; context.Entry(quizDetail).State = EntityState.Modified; context.SaveChanges(); } using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <questionModel, tblQuizQuestion>(); tblQuizQuestion newQues = Mapper.Map <questionModel, tblQuizQuestion>(quesData); context.Entry(newQues).State = EntityState.Modified; context.SaveChanges(); } if (quesData.question_type == "Optional" || quesData.question_type == "Multiple Choice") { using (myProjectEntities context = new myProjectEntities()) { List <tblQuizOption> newOpt = context.tblQuizOptions.Where(s => s.FK_Question_id == quesData.PK_Question_id).ToList(); foreach (optionModel item in quesData.optionModel) { foreach (tblQuizOption item1 in newOpt) { if (item.PK_Option_id == item1.PK_Option_id) { item1.isAnswer = item.isAnswer; } } } context.SaveChanges(); } } result = true; return(result); //This is to update just the Question i.e. without option model //Mapper.CreateMap<questionModel, tblQuizQuestion>(); //tblQuizQuestion s = Mapper.Map<questionModel, tblQuizQuestion>(quesData); //context.Entry(s).State = EntityState.Modified; //int q = context.SaveChanges(); //if (q == 1) // result = true; //return result; }
public feedbackModel GetFeedbackByLectureId(int lectureId) { using (myProjectEntities context = new myProjectEntities()) { tblFeedback feed = context.tblFeedbacks.Where(q => q.FK_Lecture_id == lectureId).FirstOrDefault(); Mapper.CreateMap <tblFeedback, feedbackModel>(); feedbackModel result = Mapper.Map <tblFeedback, feedbackModel>(feed); return(result); } }
//Collect all the quiz of the professor public IEnumerable <quizModel> GetAllQuizByProf(int ProfId, int status) { using (myProjectEntities context = new myProjectEntities()) { IEnumerable <tblQuizDetail> pro = context.tblQuizDetails.Where(q => q.FK_Professor_id == ProfId && q.quiz_status == status).AsEnumerable(); Mapper.CreateMap <tblQuizDetail, quizModel>(); IEnumerable <quizModel> result = Mapper.Map <IEnumerable <tblQuizDetail>, IEnumerable <quizModel> >(pro); return(result); } }
//Get Individual Quiz detail public quizModel GetQuizById(int quizId) { using (myProjectEntities context = new myProjectEntities()) { tblQuizDetail pro = context.tblQuizDetails.Where(q => q.PK_Quiz_id == quizId).FirstOrDefault(); Mapper.CreateMap <tblQuizDetail, quizModel>(); quizModel result = Mapper.Map <tblQuizDetail, quizModel>(pro); return(result); } }
//Get all the options by question public IEnumerable <optionModel> GetAllOptionByQues(int quesId) { using (myProjectEntities context = new myProjectEntities()) { IEnumerable <tblQuizOption> pro = context.tblQuizOptions.Where(q => q.FK_Question_id == quesId).AsEnumerable(); Mapper.CreateMap <tblQuizOption, optionModel>(); IEnumerable <optionModel> result = Mapper.Map <IEnumerable <tblQuizOption>, IEnumerable <optionModel> >(pro); return(result); } }
public IEnumerable <quizModel> GetAllQuizByModule(int moduleId) { using (myProjectEntities context = new myProjectEntities()) { IEnumerable <tblQuizDetail> pro = context.tblQuizDetails.Where(q => q.FK_ModuleId == moduleId && q.quiz_date <= System.DateTime.Now && q.quiz_end_date > System.DateTime.Now && q.quiz_status == 1).AsEnumerable(); Mapper.CreateMap <tblQuizDetail, quizModel>(); IEnumerable <quizModel> result = Mapper.Map <IEnumerable <tblQuizDetail>, IEnumerable <quizModel> >(pro); return(result); } }
//Get individual options of the question public optionModel GetOptionById(int optId) { using (myProjectEntities context = new myProjectEntities()) { tblQuizOption pro = context.tblQuizOptions.Where(q => q.PK_Option_id == optId).FirstOrDefault(); Mapper.CreateMap <tblQuizOption, optionModel>(); optionModel result = Mapper.Map <tblQuizOption, optionModel>(pro); return(result); } }
//Get class status i.e. Fail, Pass, Merit , Distinction public string[] getStatusByQuestionId(int questionId) { using (myProjectEntities context = new myProjectEntities()) { //List of student who attend the question var studentList = context.tblQuizResults.Where(q => q.FK_QuestionId == questionId).Select(q => q.FK_studentId).Distinct().ToList(); //Question mark float questionMark = (float)context.tblQuizQuestions.Where(q => q.PK_Question_id == questionId).Select(q => q.marks).FirstOrDefault(); //Title of the question string questionTitle = context.tblQuizQuestions.Where(q => q.PK_Question_id == questionId).Select(q => q.question).FirstOrDefault(); //Decalare to return the value string[] result = new string[6]; int f = 0; int p = 0; int m = 0; int distinction = 0; for (int i = 0; i < studentList.Count; i++) { int we = studentList[i].Value; var d = context.tblQuizResults.Where(q => q.FK_studentId == we && q.FK_QuestionId == questionId).Select(q => q.marks).ToList(); float mark = float.Parse(d.Sum().ToString()); float status = mark / questionMark * 100; if (status < 50) { f++; } else if (status > 50 && status < 60) { p++; } else if (status > 60 && status < 70) { m++; } else if (status > 70) { distinction++; } } result[0] = studentList.Count.ToString(); result[1] = f.ToString(); // Fail result[2] = p.ToString(); //Pass result[3] = m.ToString(); // Merit result[4] = distinction.ToString(); //distinction result[5] = questionTitle; return(result); } }
public bool GetStdudentAttempt(int studentId, int quizId) { bool result = false; using (myProjectEntities context = new myProjectEntities()) { var s = context.tblQuizResults.Where(q => q.FK_studentId == studentId && q.FK_QuizId == quizId).FirstOrDefault(); if (s == null) { result = true; } } return(result); }
//try enter public bool quizAnswerSave(QuizResultModel quizRData) { bool result = false; Stopwatch st = new Stopwatch(); using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <QuizResultModel, tblQuizResult>(); tblQuizResult newQuizR = Mapper.Map <QuizResultModel, tblQuizResult>(quizRData); context.tblQuizResults.Add(newQuizR); int q = context.SaveChanges(); } return(result); }
//Update Lecture data public bool updateLecture(lectureModel lectureData) { bool result = false; using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <lectureModel, tblLecture>(); tblLecture s = Mapper.Map <lectureModel, tblLecture>(lectureData); context.Entry(s).State = EntityState.Modified; int q = context.SaveChanges(); if (q == 1) { result = true; } return(result); } }
//Create Options public bool CreateOption(optionModel optionData) { bool result = false; using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <optionModel, tblQuizOption>(); tblQuizOption newOpt = Mapper.Map <optionModel, tblQuizOption>(optionData); context.tblQuizOptions.Add(newOpt); //Execute the add function int q = context.SaveChanges(); if (q == 1) { result = true; //set return to true } } return(result); }
//Update Options public bool UpdateOption(optionModel optionData) { bool result = false; using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <optionModel, tblQuizOption>(); tblQuizOption s = Mapper.Map <optionModel, tblQuizOption>(optionData); context.Entry(s).State = EntityState.Modified; int q = context.SaveChanges(); if (q == 1) { result = true; } return(result); } }
// Get class performance on question by quizId public DataSet getAllQuestionsByQuiz(int quizId) { //Declare for return type DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("qId"); dt.Columns.Add("question"); dt.Columns.Add("marks"); using (myProjectEntities context = new myProjectEntities()) { List <tblQuizQuestion> allQuestionList = context.tblQuizQuestions.Where(q => q.FK_Quiz_id == quizId).ToList(); //All the qustions of the quiz //Loop through each question foreach (tblQuizQuestion item in allQuestionList) { //marks for that particular question var sd = from p in context.tblQuizResults where p.FK_QuestionId == item.PK_Question_id group p.marks by p.FK_QuestionId into g select new { qID = g.Key, total = g.Sum(i => i.Value) }; float s = 0; //To get the sum of all the student's answer foreach (var gr in sd) { s = (float)gr.total; } //number of students who attend the quiz var c = context.tblQuizResults.Where(q => q.FK_QuizId == item.FK_Quiz_id).Select(g => g.FK_studentId).Distinct().ToList(); //Marks of Question float qmark = (float)item.marks; //average marks of the class: dividing sum of marks by total number of students for that quiz float pc = s / c.Count; //Change average makrs to percentage float per = pc / qmark * 100; dt.Rows.Add(item.PK_Question_id, item.question, per); } ds.Tables.Add(dt); } return(ds); }
//Update existing Quiz + Change the status to delete the quiz public bool UpdateQuiz(quizModel quizData) { bool result = false; using (myProjectEntities context = new myProjectEntities()) { Mapper.CreateMap <quizModel, tblQuizDetail>(); tblQuizDetail s = Mapper.Map <quizModel, tblQuizDetail>(quizData); context.Entry(s).State = EntityState.Modified; int q = context.SaveChanges(); if (q == 1) { result = true; } return(result); } }
//Delete Option public bool DeleteOptionByOptionId(int[] optionId) { bool result = false; int q = 0; using (myProjectEntities context = new myProjectEntities()) { for (int i = 0; i < optionId.Length; i++) { q = context.spDeleteOption(optionId[i]); } if (q != 0) { result = true; //set return to true } } return(result); }
//Performance of the student on all the quiz public DataSet getAllQuizByStudentId(int studentId) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("qId"); dt.Columns.Add("qTitle"); dt.Columns.Add("qMarks"); using (myProjectEntities context = new myProjectEntities()) { //List of Quiz var quizList = context.tblQuizResults.Where(q => q.FK_studentId == studentId).Select(q => q.FK_QuizId).Distinct().ToList(); foreach (var quiz in quizList) { int quizId = (int)quiz; //This is quizId //To get the quiz detail tblQuizDetail quizDetail = context.tblQuizDetails.Where(q => q.PK_Quiz_id == quizId).FirstOrDefault(); //Sum all the marks for that particular quiz var marks = from p in context.tblQuizResults where p.FK_QuizId == quizId && p.FK_studentId == studentId group p.marks by p.FK_QuizId into g select new { qID = g.Key, total = g.Sum(i => i.Value) }; //To get the total marks float mark = 0; foreach (var i in marks) { mark = (float)i.total; } float weightage = (float)quizDetail.quiz_weightage; //weightage of the quiz float r3 = mark / weightage * 100; // percentage string r2 = quizDetail.quiz_title; // title dt.Rows.Add(quizId, r2, r3); } ds.Tables.Add(dt); return(ds); } }
//Performance on all the question of the Quiz by Student. //This is in marks. public DataSet getAllQuesByQuizId(int studentId, int quizId) { DataSet ds = new DataSet(); DataTable dt = new DataTable(); dt.Columns.Add("qId"); dt.Columns.Add("qDetail"); dt.Columns.Add("marks"); // dt.Columns.Add("total"); using (myProjectEntities context = new myProjectEntities()) { //List of Questions for that particular quiz var quesList = context.tblQuizQuestions.Where(q => q.FK_Quiz_id == quizId).Select(q => q.PK_Question_id).ToList(); //Loop through all the questions foreach (var ques in quesList) { int quesId = (int)ques;//QUestion_id //Question string question = context.tblQuizQuestions.Where(q => q.PK_Question_id == quesId).Select(q => q.question).FirstOrDefault(); //Total marks for that question float w = (float)context.tblQuizQuestions.Where(q => q.PK_Question_id == quesId).Select(q => q.marks).FirstOrDefault(); //Get scored marks for that question by Student_id var mark = from p in context.tblQuizResults where p.FK_QuestionId == quesId && p.FK_studentId == studentId group p.marks by p.FK_QuestionId into g select new { qID = g.Key, total = g.Sum(i => i.Value) }; float score = 0;//To convert foreach (var m in mark) { score = (float)m.total; } float s = score / w * 100; dt.Rows.Add(quesId, question, s); } ds.Tables.Add(dt); } return(ds); }
public bool createFeedAnswer(int studentId, int lectureId, float answer) { bool result = false; float fValue = 0; using (myProjectEntities context = new myProjectEntities()) { int q3 = 0; var feedId = context.tblFeedbacks.Where(q => q.FK_Lecture_id == lectureId).FirstOrDefault(); FeedbackAnswer feedModel = new FeedbackAnswer(); feedModel.feedback_answer = answer; feedModel.feedback_date = System.DateTime.Now; feedModel.FK_Feedback_id = Convert.ToInt32(feedId.PK_Feedback_id); feedModel.FK_Student_id = studentId; Mapper.CreateMap <FeedbackAnswer, tblFeedbackResult>(); tblFeedbackResult newFeed = Mapper.Map <FeedbackAnswer, tblFeedbackResult>(feedModel); context.tblFeedbackResults.Add(newFeed); q3 = context.SaveChanges(); //Now update feedback value in tblFeedback //This is because after every submission there is change in the overall feedback value if (q3 != 0) { var valueFeed = context.tblFeedbackResults.Where(q => q.FK_Feedback_id == feedModel.FK_Feedback_id).Select(q => q.feedback_answer).AsEnumerable(); float d = float.Parse(valueFeed.Aggregate((a, b) => a + b).ToString()); int count = valueFeed.Count(); fValue = d / count; tblFeedback f = context.tblFeedbacks.Where(q => q.PK_Feedback_id == feedModel.FK_Feedback_id).FirstOrDefault(); f.feedback_value = fValue; context.Entry(f).State = EntityState.Modified; q3 = context.SaveChanges(); if (q3 != 0) { result = true; } } } return(result); }