コード例 #1
0
        public ActionResult SuspendSubjectCreate([Bind(Include = "FormID,StudentPhone,SubjectName,SubjectCode,SemesterName,Reason")] SuspendSubjectForm suspendSubjectForm, Form form,
                                                 FormCollection collection)
        {
            if (ModelState.IsValid)
            {
                //Form form = new Form();
                form.Type        = "Suspend Subject";
                form.Date        = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time"));
                form.CurrentDesk = "Academic-Staff";
                form.Flow        = "Academic-Staff,";
                form.FormDetails = "Suspend Subject: " + suspendSubjectForm.SubjectName + " (" + suspendSubjectForm.SubjectCode + ")";

                ArrayList UserDetails = DAL.Users.GetUser();
                form.StudentRollNo = Users.GetStudentRollNo(UserDetails[0].ToString(), UserDetails[1].ToString());
                form.StudentEmail  = UserDetails[2].ToString();
                form.StudentName   = UserDetails[0].ToString();
                form.Status        = "New";
                db.Forms.Add(form);
                db.SaveChanges();
                suspendSubjectForm.FormID = form.ID;
                if (suspendSubjectForm.Reason.Equals("Other"))
                {
                    suspendSubjectForm.Reason = "Other: " + collection["displayFor"];
                }
                db.SuspendSubjectForms.Add(suspendSubjectForm);
                db.SaveChanges();
                return(RedirectToAction("Index", "Student"));
            }

            ViewBag.FormID = new SelectList(db.Forms, "ID", "Type", suspendSubjectForm.FormID);
            DateTime today = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time"));

            ViewBag.SemesterName = new SelectList(db.Semesters.Where(s => s.EndDate > today), "Name", "Name");
            return(View(suspendSubjectForm));
        }
コード例 #2
0
        // GET: SuspendSubjectForms/Details/5
        public ActionResult SuspendSubjectDetails(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SuspendSubjectForm suspendSubjectForm = db.SuspendSubjectForms.Find(id);

            if (suspendSubjectForm == null)
            {
                return(HttpNotFound());
            }
            ViewBag.FormID = new SelectList(db.Forms, "ID", "Type", suspendSubjectForm.FormID);
            return(View(suspendSubjectForm));
        }
コード例 #3
0
        // GET: SuspendSubjectForms/Delete/5
        public ActionResult SuspendSubjectDelete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SuspendSubjectForm suspendSubjectForm = db.SuspendSubjectForms.Find(id);
            Form form = db.Forms.Find(id);

            if (!form.Status.Equals("New"))
            {
                return(RedirectToAction("Details", new { id = id }));
            }
            if (suspendSubjectForm == null)
            {
                return(HttpNotFound());
            }
            return(View(suspendSubjectForm));
        }
コード例 #4
0
        public ActionResult SuspendSubjectDeleteConfirmed(int id)
        {
            SuspendSubjectForm suspendSubjectForm = db.SuspendSubjectForms.Find(id);

            db.SuspendSubjectForms.Remove(suspendSubjectForm);
            Form form = db.Forms.Find(id);

            db.Forms.Remove(form);
            db.SaveChanges();
            if (DAL.UserInfo.Role.Equals("Student"))
            {
                return(RedirectToAction("Index", "Student"));
            }
            else if (DAL.UserInfo.Role.Contains("Staff"))
            {
                return(RedirectToAction("Index", "Staff"));
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
コード例 #5
0
        public ActionResult SuspendSubjectEdit([Bind(Include = "FormID,StudentPhone,SubjectName,SubjectCode,SemesterName,Reason")] SuspendSubjectForm suspendSubjectForm, Form form,
                                               FormCollection collection)
        {
            if (ModelState.IsValid)
            {
                form             = db.Forms.Find(suspendSubjectForm.FormID);
                form.Type        = "Suspend Subject";
                form.Date        = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time"));
                form.CurrentDesk = "Academic-Staff";
                form.Flow        = "Academic-Staff,";
                form.FormDetails = "Suspend Subject: " + suspendSubjectForm.SubjectName + " (" + suspendSubjectForm.SubjectCode + ")";

                if (suspendSubjectForm.Reason.Equals("Other"))
                {
                    suspendSubjectForm.Reason = "Other: " + collection["displayFor"];
                }
                db.Entry(suspendSubjectForm).State = EntityState.Modified;
                db.Entry(form).State = EntityState.Modified;
                db.SaveChanges();
                if (DAL.UserInfo.Role.Equals("Student"))
                {
                    return(RedirectToAction("Index", "Student"));
                }
                else if (DAL.UserInfo.Role.Contains("Staff"))
                {
                    return(RedirectToAction("Index", "Staff"));
                }
                else
                {
                    return(RedirectToAction("Index", "Home"));
                }
            }
            DateTime today = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time"));

            ViewBag.SemesterName = new SelectList(db.Semesters.Where(s => s.EndDate > today), "Name", "Name");
            ViewBag.FormID       = new SelectList(db.Forms, "ID", "Type", suspendSubjectForm.FormID);
            return(View(suspendSubjectForm));
        }
コード例 #6
0
        public ActionResult SuspendSubjectEndorsement(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SuspendSubjectForm suspendSubjectForm = db.SuspendSubjectForms.Find(id);

            AllFormModel allFormModels = new AllFormModel()
            {
                Form = db.Forms.Find(id),
                SuspendSubjectForm = db.SuspendSubjectForms.Find(id)
            };


            if (suspendSubjectForm == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Comment = new List <FormComment>(db.FormComments.Where(fc => fc.FormID == id));
            ViewBag.FormID  = new SelectList(db.Forms, "ID", "Type", suspendSubjectForm.FormID);
            return(View(suspendSubjectForm));
        }
コード例 #7
0
        // GET: SuspendSubjectForms/Edit/5
        public ActionResult SuspendSubjectEdit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            SuspendSubjectForm suspendSubjectForm = db.SuspendSubjectForms.Find(id);
            Form form = db.Forms.Find(id);

            if (!form.Status.Equals("New"))
            {
                return(RedirectToAction("Details", new { id = id }));
            }
            if (suspendSubjectForm == null)
            {
                return(HttpNotFound());
            }
            DateTime today = TimeZoneInfo.ConvertTime(DateTime.Now, TimeZoneInfo.FindSystemTimeZoneById("SE Asia Standard Time"));

            ViewBag.SemesterName = new SelectList(db.Semesters.Where(s => s.EndDate > today), "Name", "Name");
            ViewBag.FormID       = new SelectList(db.Forms, "ID", "Type", suspendSubjectForm.FormID);
            return(View(suspendSubjectForm));
        }
コード例 #8
0
        public async Task <ActionResult> SuspendSubjectEndorsement([Bind(Include = "FormID,NotAllSubject,IsWeekBefore")]
                                                                   SuspendSubjectForm suspendSubjectForm, FormCollection collection)
        {
            string             ForwardTo     = collection["ForwardTo"] + "";
            string             FormStatus    = collection["FormStatus"] + "";
            string             IsWeekBefore  = collection["IsWeekBefore"] + "";
            string             NotAllSubject = collection["NotAllSubject"] + "";
            string             formComment   = collection["formComment"] + "";
            SuspendSubjectForm ssf           = db.SuspendSubjectForms.Find(suspendSubjectForm.FormID);
            Form        f  = db.Forms.Find(suspendSubjectForm.FormID);
            FormComment fC = new FormComment();

            if (!formComment.Equals(""))
            {
                fC.FormID  = suspendSubjectForm.FormID;
                fC.Comment = formComment;
                fC.RoleID  = Helper.Help.GetRoleId(DAL.UserInfo.Role);
                db.FormComments.Add(fC);
            }
            if (FormStatus.Equals(""))
            {
                f.Status = "Inprogress";
            }
            else
            {
                f.Status = FormStatus;
            }
            string getCurrentDesk = "";

            if (ForwardTo != "")
            {
                getCurrentDesk = Helper.Help.GetCurrentDesk(Int32.Parse(ForwardTo));
            }
            if (getCurrentDesk.Equals("Student"))
            {
                //send mail to notify student
                string notifyMessage = "<p>Please provide more information like: </p>"
                                       + "<p>====================================</p>" + fC.Comment;
                await SendNotification(notifyMessage, DAL.UserInfo.Email, f.StudentEmail);

                //Set status To new
                f.Status      = "New";
                f.CurrentDesk = "Student";
                f.Flow        = f.Flow + "Student,";
            }
            else if (getCurrentDesk.Length > 4)
            {
                f.CurrentDesk = getCurrentDesk;
                f.Flow        = f.Flow + f.CurrentDesk + ",";
            }

            if (IsWeekBefore != null)
            {
                if (IsWeekBefore.Equals("on"))
                {
                    ssf.IsWeekBefore = true;
                }
                else
                {
                    ssf.IsWeekBefore = false;
                }
            }

            if (NotAllSubject != null)
            {
                if (NotAllSubject.Equals("on"))
                {
                    ssf.NotAllSubject = true;
                }
                else
                {
                    ssf.NotAllSubject = false;
                }
            }
            db.Entry(ssf).State = EntityState.Modified;
            db.SaveChanges();
            if (f.Status.Equals("Approved") || f.Status.Equals("Rejected"))
            {
                f.ApprovalDate = DateTime.Now.ToString();
                f.ApprovalBy   = DAL.UserInfo.Role;
                Helper.Notify notify = new Helper.Notify();

                string notifyMessage = "<p>Your form:       " + f.Type + "</p> "
                                       + "<p>Student Name:   " + f.StudentName + "</p>"
                                       + "<p>Student RollNo: " + f.StudentRollNo + "</p>"
                                       + "<p>Student Email:  " + f.StudentEmail + "</p>"
                                       + "<p>Student Phone:  " + f.StudentPhone + "</p>"
                                       + "<p>Subject Name:   " + ssf.SubjectName + " " + ssf.SubjectCode + "</p>"
                                       + "<p>Reason:         " + ssf.Reason + "</p>"
                                       + " has been <b>" + f.Status + "</b>";
                await SendNotification(notifyMessage, DAL.UserInfo.Email, f.StudentEmail);
            }
            return(RedirectToAction("Index", "Staff"));
        }