Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
        public ActionResult DeleteConfirmed(int id)
        {
            RequestApprovalMessage requestapprovalmessage = db.RequestApprovalMessage.Find(id);

            db.RequestApprovalMessage.Remove(requestapprovalmessage);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 3
0
        //
        // GET: /RequestApprovalMessage/Details/5

        public ActionResult Details(int id = 0)
        {
            RequestApprovalMessage requestapprovalmessage = db.RequestApprovalMessage.Find(id);

            if (requestapprovalmessage == null)
            {
                return(HttpNotFound());
            }
            return(View(requestapprovalmessage));
        }
Esempio n. 4
0
        //
        // 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));
        }
Esempio n. 5
0
 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));
 }
Esempio n. 6
0
        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));
        }
Esempio n. 7
0
        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"));
        }
Esempio n. 8
0
        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));
        }