public ActionResult CreateResponseApprovalMessage(int requestApprovalMessageId, int senderId, int receiverId, string messageText, string response) { BaseMessage baseMessage = new BaseMessage(); baseMessage.SenderID = senderId; baseMessage.RecieverID = receiverId; baseMessage.MessageText = messageText; baseMessage.MessageSendDate = DateTime.Now; ResponseApprovalMessage responseMessage = new ResponseApprovalMessage(); responseMessage.RequestApprovalMessageID = requestApprovalMessageId; responseMessage.BaseMessage = baseMessage; responseMessage.Response = Convert.ToBoolean(response); db.ResponseApprovalMessage.Add(responseMessage); RequestApprovalMessage existingRequestMessage = db.RequestApprovalMessage.Find(requestApprovalMessageId); BaseMessage existingBaseMessage = db.BaseMessage.Where(b => b.BaseMessageID == existingRequestMessage.BaseMessageID).FirstOrDefault(); // BaseMessage existingRequestMessage = db.BaseMessage.Find(requestApprovalMessageId); existingBaseMessage.MessageReadDate = DateTime.Now; db.Entry(existingRequestMessage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { RequestApprovalMessage requestapprovalmessage = db.RequestApprovalMessage.Find(id); db.RequestApprovalMessage.Remove(requestapprovalmessage); db.SaveChanges(); return(RedirectToAction("Index")); }
// // GET: /RequestApprovalMessage/Details/5 public ActionResult Details(int id = 0) { RequestApprovalMessage requestapprovalmessage = db.RequestApprovalMessage.Find(id); if (requestapprovalmessage == null) { return(HttpNotFound()); } return(View(requestapprovalmessage)); }
// // GET: /RequestApprovalMessage/Edit/5 public ActionResult Edit(int id = 0) { RequestApprovalMessage requestapprovalmessage = db.RequestApprovalMessage.Find(id); if (requestapprovalmessage == null) { return(HttpNotFound()); } ViewBag.BaseMessageID = new SelectList(db.BaseMessage, "BaseMessageID", "MessageText", requestapprovalmessage.BaseMessageID); ViewBag.CourseOccurrenceID = new SelectList(db.CourseOccurrence, "CourseOccurrenceID", "Year", requestapprovalmessage.CourseOccurrenceID); return(View(requestapprovalmessage)); }
public ActionResult Edit(RequestApprovalMessage requestapprovalmessage) { if (ModelState.IsValid) { db.Entry(requestapprovalmessage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.BaseMessageID = new SelectList(db.BaseMessage, "BaseMessageID", "MessageText", requestapprovalmessage.BaseMessageID); ViewBag.CourseOccurrenceID = new SelectList(db.CourseOccurrence, "CourseOccurrenceID", "Year", requestapprovalmessage.CourseOccurrenceID); return(View(requestapprovalmessage)); }
public ActionResult CreateRequestApprovalMessage(int courseOccurrenceID, int[] approvalMessageSelection) { // Make sure that at least one teacher is selected when sending a message if (approvalMessageSelection != null) { string currentYear = GetCurrentEducationalYear(); // Creating multiple messages, one for each selected teacher foreach (int receiverID in approvalMessageSelection) { // Checking if there are previous undread messages that are about the same course occurrence sent to the same teacher List <RequestApprovalMessage> requestApprovalMessageList = db.RequestApprovalMessage.Where(m => m.CourseOccurrenceID == courseOccurrenceID && m.CourseOccurrence.Year == currentYear && m.BaseMessage.RecieverID == receiverID).ToList(); foreach (RequestApprovalMessage message in requestApprovalMessageList) { // If the messages are unread then they get removed if (message.BaseMessage.MessageReadDate == null) { message.BaseMessage.MessageDeletionDate = DateTime.Now; } } BaseMessage baseMessage = new BaseMessage(); baseMessage.SenderID = GetTeacherId(); baseMessage.RecieverID = receiverID; int currentHours = db.CourseTeacher.Where(c => c.TeacherId == receiverID && c.CourseOccurrenceId == courseOccurrenceID && c.CourseOccurrence.Year == currentYear).Select(c => c.Hours).FirstOrDefault(); baseMessage.MessageText = "You need to approve or reject the changes that have been made to the course " + db.CourseOccurrence.Find(courseOccurrenceID).Course.CourseName + ". Your hours are now " + currentHours.ToString() + "."; int courseResponsibleID = Convert.ToInt32(db.CourseOccurrence.Where(c => c.CourseOccurrenceID == courseOccurrenceID && c.Year == currentYear).Select(c => c.CourseResponsibleID).FirstOrDefault()); // Case if the reciever is responsible for the course if (receiverID == courseResponsibleID) { baseMessage.MessageText += " You are also the course responsible for this course."; } baseMessage.MessageSendDate = DateTime.Now; RequestApprovalMessage requestMessage = new RequestApprovalMessage(); requestMessage.CourseOccurrenceID = courseOccurrenceID; requestMessage.BaseMessage = baseMessage; db.RequestApprovalMessage.Add(requestMessage); } db.SaveChanges(); } return(RedirectToAction("Details/" + courseOccurrenceID)); }
public ActionResult DeleteApprovalMessage(int deleteApprovalMessageId) { RequestApprovalMessage existingRequestMessage = db.RequestApprovalMessage.Find(deleteApprovalMessageId); BaseMessage existingBaseMessage = db.BaseMessage.Where(b => b.BaseMessageID == existingRequestMessage.BaseMessageID).FirstOrDefault(); // BaseMessage existingRequestMessage = db.BaseMessage.Find(requestApprovalMessageId); if (string.IsNullOrEmpty(existingBaseMessage.MessageReadDate.ToString())) { existingBaseMessage.MessageReadDate = DateTime.Now; } existingBaseMessage.MessageDeletionDate = DateTime.Now; db.Entry(existingRequestMessage).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteCourseTeacher(int cid, int tid, string removeButton) { CourseOccurrence courseOccurrence = db.CourseOccurrence.Where(c => c.CourseOccurrenceID == cid).FirstOrDefault(); CourseTeacher courseteacher = db.CourseTeacher.Where(c => c.CourseOccurrenceId == cid && c.TeacherId == tid).FirstOrDefault(); db.CourseTeacher.Remove(courseteacher); if (removeButton == "Remove & Notify") { // Create message BaseMessage baseMessage = new BaseMessage(); baseMessage.SenderID = GetTeacherId(); baseMessage.RecieverID = tid; baseMessage.MessageText = "You have now been removed from the course " + courseOccurrence.Course.CourseName + ". Sorry for the inconvenience."; baseMessage.MessageSendDate = DateTime.Now; RequestApprovalMessage requestMessage = new RequestApprovalMessage(); requestMessage.CourseOccurrenceID = cid; requestMessage.BaseMessage = baseMessage; db.RequestApprovalMessage.Add(requestMessage); } db.SaveChanges(); return(RedirectToAction("Details/" + courseteacher.CourseOccurrenceId)); }