public CMSResult Update(OfflineTestStudentMarks OfflineTestPaper) { CMSResult result = new CMSResult(); var marks = _repository.Load <OfflineTestStudentMarks>(x => x.OfflineTestStudentMarksId == OfflineTestPaper.OfflineTestStudentMarksId); marks.ObtainedMarks = OfflineTestPaper.ObtainedMarks; marks.Percentage = OfflineTestPaper.Percentage; marks.IsPresent = OfflineTestPaper.IsPresent; _repository.Update(marks); _repository.CommitChanges(); result.Results.Add(new Result { IsSuccessful = true, Message = string.Format("Offline Test Marks successfully updated!") }); return(result); }
public ActionResult Create(OfflineTestStudentMarksViewModel viewModel) { if (ModelState.IsValid) { if (viewModel.TotalMarks < viewModel.MarksObtained) { _logger.Warn("Marks obtained is grater than Total Marks!"); Warning("Marks obtained is grater than Total Marks!", true); } else { var offlineTestStudentMarks = new OfflineTestStudentMarks { UserId = viewModel.UserId, OfflineTestPaperId = viewModel.OfflineTestPaperId, ObtainedMarks = viewModel.MarksObtained, }; var result = _offlineTestStudentMarksService.Save(offlineTestStudentMarks); if (result.Success) { string subject = "Student Test Marks"; result = SendNotificationToStudent(viewModel, subject); var messages = ""; foreach (var message in result.Results) { messages += message.Message + "<br />"; } Success(messages); ModelState.Clear(); viewModel = new OfflineTestStudentMarksViewModel(); } else { _logger.Warn(result.Results.FirstOrDefault().Message); Warning(result.Results.FirstOrDefault().Message, true); } } } viewModel = new OfflineTestStudentMarksViewModel(); var papers = _offlineTestPaper.GetOfflineTestPaper().ToList(); viewModel.Papers = new SelectList(papers, "OfflineTestPaperId", "Title"); return(View(viewModel)); }
public CMSResult Save(OfflineTestStudentMarks newOfflineTestStudentMarks) { CMSResult result = new CMSResult(); var isExists = _repository.Project <OfflineTestStudentMarks, bool>(OfflineTestStudentMarkss => (from offline in OfflineTestStudentMarkss where offline.OfflineTestPaperId == newOfflineTestStudentMarks.OfflineTestPaperId && offline.UserId == newOfflineTestStudentMarks.UserId select offline).Any()); if (isExists) { result.Results.Add(new Result { IsSuccessful = false, Message = string.Format("Student Marks already exists!") }); } else { _repository.Add(newOfflineTestStudentMarks); _repository.CommitChanges(); result.Results.Add(new Result { IsSuccessful = true, Message = string.Format("Offline Test Student Marks successfully added!") }); } return(result); }
public ActionResult UpdateUploadMarks(UploadOfflineMarksViewModel viewModel) { var uploadMarksdata = JsonConvert.DeserializeObject <List <UploadOfflineMarksProjection> >(viewModel.StudentOfflineMarks).ToList(); var cmsResult = new CMSResult(); var offlineTest = _offlineTestPaper.GetOfflineTestById(viewModel.OfflineTestPaperId); if (ModelState.IsValid) { var offlineTestStudentMarksList = new List <OfflineTestStudentMarks>(); foreach (var uploadMark in uploadMarksdata) { var offlineTestStudentMarks = new OfflineTestStudentMarks { UserId = uploadMark.UserId, OfflineTestPaperId = viewModel.OfflineTestPaperId, ObtainedMarks = uploadMark.ObtainedMarks, Percentage = uploadMark.Percentage, OfflineTestStudentMarksId = uploadMark.OfflineTestStudentMarksId, IsPresent = uploadMark.IsPresent }; offlineTestStudentMarksList.Add(offlineTestStudentMarks); #region rough //cmsResult = _offlineTestStudentMarksService.Update(offlineTestStudentMarks); //if (cmsResult.Success) //{ // string subject = "Student Update Offline Test Marks"; // viewModel.StudentEmail = uploadMark.EmailId; // viewModel.StudentContact = uploadMark.StudentContact; // viewModel.ObtainedMarks = uploadMark.ObtainedMarks; // viewModel.Percentage = uploadMark.Percentage; // viewModel.ClassName = offlineTest.ClassName; // viewModel.SubjectName = offlineTest.SubjectName; // var BatchList = _batchService.GetBatchesByBatchIds(offlineTest.SelectedBatches).Select(x => x.BatchName).ToList(); // viewModel.SelectedBatchesName = string.Join(",", BatchList); // cmsResult = SendNotification(viewModel, subject); //} //else //{ // cmsResult.Results.Add(new Result { Message = cmsResult.Results.FirstOrDefault().ToString(), IsSuccessful = false }); //} #endregion } var offlineTestStudentMarksArray = offlineTestStudentMarksList.ToArray(); if (offlineTestStudentMarksList.Count > 0) { HostingEnvironment.QueueBackgroundWorkItem(cancellationToken => StartProcessingUpdateOfflineTestMarks(offlineTestStudentMarksArray, cancellationToken)); cmsResult.Results.Add(new Result { Message = "Offline test paper marks updated successfully.", IsSuccessful = true }); string subject = "Update Student Test Marks"; var result = SendNotification(viewModel, subject); } #region Rough //if (cmsResult.Success) //{ // var messages = ""; // foreach (var message in cmsResult.Results) // { // messages += message.Message + "<br />"; // } // Success(messages); // ModelState.Clear(); // //viewModel = new UploadOfflineMarksViewModel(); //} //else //{ // cmsResult.Results.Add(new Result { Message = cmsResult.Results.FirstOrDefault().ToString(), IsSuccessful = false }); //} #endregion } else { var errors = ModelState.Values.SelectMany(x => x.Errors).ToArray(); foreach (var item in errors) { cmsResult.Results.Add(new Result { Message = item.ErrorMessage, IsSuccessful = false }); } } return(Json(cmsResult, JsonRequestBehavior.AllowGet)); }