public ActionResult Create() { var papers = _offlineTestPaper.GetOfflineTestPaper().ToList(); var roles = _aspNetRolesService.GetCurrentUserRole(User.Identity.GetUserId()); if (roles == "BranchAdmin") { var projection = _branchAdminService.GetBranchAdminById(User.Identity.GetUserId()); papers = _offlineTestPaper.GetOfflineTestPaper().ToList().Where(y => (y.SelectedBranches.Split(',').Where(x => !string.IsNullOrEmpty(x)).Select(int.Parse)).Contains(projection.BranchId)).ToList(); } var viewModel = new OfflineTestStudentMarksViewModel(); viewModel.Papers = new SelectList(papers, "OfflineTestPaperId", "Title"); return(View(viewModel)); }
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 ActionResult Delete(OfflineTestStudentMarksViewModel viewModel) { if (ModelState.IsValid) { var result = _offlineTestStudentMarksService.Delete(viewModel.OfflineTestStudentMarksId); if (result.Success) { Success(result.Results.FirstOrDefault().Message); ModelState.Clear(); } else { _logger.Warn(result.Results.FirstOrDefault().Message); Warning(result.Results.FirstOrDefault().Message, true); } } return(RedirectToAction("Index")); }
public ActionResult Edit(OfflineTestStudentMarksViewModel viewModel) { if (ModelState.IsValid) { var offlineMarks = _repository.Project <OfflineTestStudentMarks, bool>(offlineStudentMarks => (from offline in offlineStudentMarks where offline.OfflineTestStudentMarksId == viewModel.OfflineTestStudentMarksId select offline).Any()); if (!offlineMarks) { _logger.Warn(string.Format("Offline Test Marks does not exists '{0}'.", viewModel.Title)); Danger(string.Format("Offline Test Marks does not exists '{0}'.", viewModel.Title)); } 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 result = _offlineTestStudentMarksService.Update(new OfflineTestStudentMarks { OfflineTestStudentMarksId = viewModel.OfflineTestStudentMarksId, ObtainedMarks = viewModel.MarksObtained }); if (result.Success) { string subject = "Student Test Marks Updated"; result = SendNotificationToStudent(viewModel, subject); var messages = ""; foreach (var message in result.Results) { messages += message.Message + "<br />"; } Success(messages); ModelState.Clear(); return(RedirectToAction("Index")); } else { _logger.Warn(result.Results.FirstOrDefault().Message); Warning(result.Results.FirstOrDefault().Message, true); } } } return(View(viewModel)); }
public bool SendEmail(OfflineTestStudentMarksViewModel viewModel, string subject) { string userRole = ""; var roleUserId = User.Identity.GetUserId(); bool isBranchAdmin = false; var roles = _aspNetRolesService.GetCurrentUserRole(roleUserId); if (roles == "BranchAdmin") { var branchAdmin = _branchAdminService.GetBranchAdminById(roleUserId); userRole = branchAdmin.BranchName; isBranchAdmin = true; } else { userRole = User.Identity.GetUserName() + "(" + "Master Admin" + ")"; } string body = string.Empty; using (StreamReader reader = new StreamReader(Server.MapPath("~/MailDesign/NotificationMailDesign.html"))) { body = reader.ReadToEnd(); } body = body.Replace("{BranchName}", userRole); body = body.Replace("{NotificationMessage}", "<br/> Title : " + viewModel.Title + "<br/>Class Name : " + viewModel.ClassName + "<br/>Subject Name : " + viewModel.SubjectName + "<br/>Batch Name : " + viewModel.BatchName + "<br/> Total Marks : " + viewModel.TotalMarks.ToString() + "<br/> Student Marks : " + viewModel.MarksObtained.ToString()); body = body.Replace("{UserName}", viewModel.StudentName); var emailMessage = new MailModel { Body = body, Subject = subject, To = viewModel.StudentEmail, IsBranchAdmin = isBranchAdmin }; _emailService.Send(emailMessage); return(true); }
public CMSResult SendNotificationToStudent(OfflineTestStudentMarksViewModel viewModel, string subject) { var cmsResult = new CMSResult(); if (viewModel.StudentEmail != null) { var result = SendEmail(viewModel, subject); if (result == true) { cmsResult.Results.Add(new Result { Message = "Email sent successfully.", IsSuccessful = true }); } else { cmsResult.Results.Add(new Result { Message = "Something went wrong to send email.", IsSuccessful = false }); } } if (viewModel.SMS) { if (viewModel.StudentContact != null) { var smsModel = new SmsModel { Message = "Offline Test Title : " + viewModel.Title + " " + "....check your Mail for more details", SendTo = viewModel.StudentContact }; var result = _smsService.SendMessage(smsModel); if (result.Success) { cmsResult.Results.Add(new Result { Message = result.Results[0].Message, IsSuccessful = true }); } else { cmsResult.Results.Add(new Result { Message = result.Results[0].Message, IsSuccessful = false }); } } } #region appNotification //if (viewModel.AppNotification) //{ // var response = SendAppNotification(viewModel.Title, listOfPlayerId); // if (response.Success) // { // cmsResult.Results.Add(new Result { Message = response.Results[0].Message, IsSuccessful = true }); // } // else // { // cmsResult.Results.Add(new Result { Message = response.Results[0].Message, IsSuccessful = false }); // } //} #endregion return(cmsResult); }