Exemple #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            AspNetAnnouncement aspNetAnnouncement = db.AspNetAnnouncements.Find(id);

            db.AspNetAnnouncements.Remove(aspNetAnnouncement);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #2
0
 public ActionResult Edit([Bind(Include = "Id,Title,Description,Date")] AspNetAnnouncement aspNetAnnouncement)
 {
     if (ModelState.IsValid)
     {
         db.Entry(aspNetAnnouncement).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(aspNetAnnouncement));
 }
        public ActionResult Create([Bind(Include = "Id,Title,Description")] AspNetAnnouncement aspNetAnnouncement)
        {
            string subjects = Request.Form["subjects"];
            IEnumerable <string> selectedsubjects = subjects.Split(',');

            if (ModelState.IsValid)
            {
                //var context = new BloggingContext();
                var dbContextTransaction = db.Database.BeginTransaction();
                try
                {
                    //TransactionScope ts = new TransactionScope();
                    // announcement.SubjectID=
                    db.AspNetAnnouncements.Add(aspNetAnnouncement);
                    db.SaveChanges();
                    int        announcementID = db.AspNetAnnouncements.Max(item => item.Id);
                    List <int> SubjectIDs     = new List <int>();
                    foreach (var item in selectedsubjects)
                    {
                        int subjectID = Convert.ToInt32(item);
                        SubjectIDs.Add(subjectID);
                    }
                    foreach (var item in SubjectIDs)
                    {
                        AspNetAnnouncement_Subject ann_sub = new AspNetAnnouncement_Subject();
                        ann_sub.SubjectID      = item;
                        ann_sub.AnnouncementID = announcementID;
                        db.AspNetAnnouncement_Subject.Add(ann_sub);
                        db.SaveChanges();
                    }
                    List <string> student = db.AspNetStudent_Subject.Where(x => SubjectIDs.Contains(x.SubjectID)).Select(s => s.StudentID).ToList();
                    foreach (var item in student)
                    {
                        AspNetStudent_Announcement stu_ann = new AspNetStudent_Announcement();
                        stu_ann.StudentID      = item;
                        stu_ann.AnnouncementID = announcementID;
                        stu_ann.Seen           = false;
                        db.AspNetStudent_Announcement.Add(stu_ann);
                        db.SaveChanges();
                    }
                    dbContextTransaction.Commit();
                    //ts.Complete();
                }
                catch (Exception)
                {
                    dbContextTransaction.Dispose();
                }

                return(RedirectToAction("Index"));
            }

            return(View(aspNetAnnouncement));
        }
Exemple #4
0
        // GET: AspNetAnnouncement/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AspNetAnnouncement aspNetAnnouncement = db.AspNetAnnouncements.Find(id);

            if (aspNetAnnouncement == null)
            {
                return(HttpNotFound());
            }
            return(View(aspNetAnnouncement));
        }
 public ActionResult Edit([Bind(Include = "Id,Title,Description")] AspNetAnnouncement aspNetAnnouncement)
 {
     if (ModelState.IsValid)
     {
         var dbContextTransaction = db.Database.BeginTransaction();
         try
         {
             db.Entry(aspNetAnnouncement).State = EntityState.Modified;
             db.SaveChanges();
             dbContextTransaction.Commit();
         }
         catch (Exception)
         {
             dbContextTransaction.Dispose();
         }
         return(RedirectToAction("Index"));
     }
     return(View(aspNetAnnouncement));
 }
Exemple #6
0
        public ActionResult Create([Bind(Include = "Id,Title,Description")] AspNetAnnouncement aspNetAnnouncement)
        {
            string subjects = Request.Form["subjects"];
            IEnumerable <string> selectedsubjects = subjects.Split(',');

            if (ModelState.IsValid)
            {
                var dbContextTransaction = db.Database.BeginTransaction();
                try
                {
                    aspNetAnnouncement.Date = DateTime.Now;
                    db.AspNetAnnouncements.Add(aspNetAnnouncement);
                    db.SaveChanges();
                    int        announcementID = db.AspNetAnnouncements.Max(item => item.Id);
                    List <int> SubjectIDs     = new List <int>();
                    foreach (var item in selectedsubjects)
                    {
                        int subjectID = Convert.ToInt32(item);
                        SubjectIDs.Add(subjectID);
                    }
                    foreach (var item in SubjectIDs)
                    {
                        AspNetAnnouncement_Subject ann_sub = new AspNetAnnouncement_Subject();
                        ann_sub.SubjectID      = item;
                        ann_sub.AnnouncementID = announcementID;
                        db.AspNetAnnouncement_Subject.Add(ann_sub);
                        db.SaveChanges();
                    }
                    List <string> student = db.AspNetStudent_Subject.Where(x => SubjectIDs.Contains(x.SubjectID)).Select(s => s.StudentID).ToList();
                    foreach (var item in student)
                    {
                        AspNetStudent_Announcement stu_ann = new AspNetStudent_Announcement();
                        stu_ann.StudentID      = item;
                        stu_ann.AnnouncementID = announcementID;
                        stu_ann.Seen           = false;
                        db.AspNetStudent_Announcement.Add(stu_ann);
                        db.SaveChanges();
                        /////////////////////////////////////////////////////Push Notifications Module////////////////////////////////////////////////////////////

                        //var pushNotificationObj = new AspNetPushNotification();
                        //pushNotificationObj.Message = "New Announcement: " + aspNetAnnouncement.Title + ", Description: " + aspNetAnnouncement.Description;
                        //pushNotificationObj.UserID = item;
                        //pushNotificationObj.IsOpenParent = false;
                        //pushNotificationObj.IsOpenStudent = false;
                        //pushNotificationObj.Time = DateTime.Now;
                        //db.AspNetPushNotifications.Add(pushNotificationObj);
                        //db.SaveChanges();
                    }
                    ////////////////////////////////////////////////NOTIFICATION///////////////////////////////////////////////////////////////////


                    var NotificationObj = new AspNetNotification();
                    NotificationObj.Description = aspNetAnnouncement.Description;
                    NotificationObj.Subject     = aspNetAnnouncement.Title;
                    NotificationObj.SenderID    = User.Identity.GetUserId();
                    NotificationObj.Time        = DateTime.Now;
                    NotificationObj.Url         = "/AspNetAnnouncement/details/" + aspNetAnnouncement.Id;
                    NotificationObj.SessionID   = SessionID;
                    db.AspNetNotifications.Add(NotificationObj);
                    db.SaveChanges();

                    var           NotificationID = db.AspNetNotifications.Max(x => x.Id);
                    List <string> students       = db.AspNetStudent_Subject.Where(x => SubjectIDs.Contains(x.SubjectID)).Select(s => s.StudentID).ToList();


                    var users = new List <String>();

                    foreach (var item in students)
                    {
                        var parentID = db.AspNetParent_Child.Where(x => x.ChildID == item).Select(x => x.ParentID).FirstOrDefault();
                        users.Add(parentID);
                    }

                    var allusers = users.Union(students);

                    //Message start
                    //var classe = db.AspNetClasses.Where(p => p.Id == aspNetHomework.ClassId).FirstOrDefault();
                    //Utility obj = new Utility();
                    //obj.SMSToOffitialsp("Dear Principal, Announcement has been made with Title: " + aspNetAnnouncement.Title + "- IPC NGS Preschool, Aziz Avenue, Lahore.");
                    //obj.SMSToOffitialsa("Dear Admin, Announcement has been made with Title: " + aspNetAnnouncement.Title + "- IPC NGS Preschool, Aziz Avenue, Lahore.");
                    //AspNetMessage oob = new AspNetMessage();
                    //oob.Message = "Dear Parents, Announcement has been made with Title: " + aspNetAnnouncement.Title + "For discription login to Portal please  - IPC NGS Preschool, Aziz Avenue, Lahore.";
                    //obj.SendSMS(oob, users);
                    //Message end

                    foreach (var receiver in allusers)
                    {
                        var notificationRecieve = new AspNetNotification_User();
                        notificationRecieve.NotificationID = NotificationID;
                        notificationRecieve.UserID         = Convert.ToString(receiver);
                        notificationRecieve.Seen           = false;
                        db.AspNetNotification_User.Add(notificationRecieve);
                        db.SaveChanges();
                    }

                    dbContextTransaction.Commit();
                    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                    var        UserNameLog = User.Identity.Name;
                    AspNetUser a           = db.AspNetUsers.First(x => x.UserName == UserNameLog);
                    string     UserIDLog   = a.Id;
                    var        classObjLog = Request.Form["ClassID"];
                    var        logMessage  = "A new Announcement Added, Topic: " + aspNetAnnouncement.Title + ", Description: " + aspNetAnnouncement.Description + ", ClassIDs: " + classObjLog;

                    var LogControllerObj = new AspNetLogsController();
                    LogControllerObj.CreateLogSave(logMessage, UserIDLog);

                    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                }
                catch (Exception)
                {
                    dbContextTransaction.Dispose();
                }

                return(RedirectToAction("Teacher_Announcement", "Teacher_Dashboard"));
            }

            return(View(aspNetAnnouncement));
        }
        public ActionResult Create([Bind(Include = "Id,Title,Description,Date,Time,Status")] AspNetParentTeacherMeeting aspNetParentTeacherMeeting, AspNetAnnouncement aspNetAnnouncement)
        {
            if (ModelState.IsValid)
            {
                var transactionObj = db.Database.BeginTransaction();
                try
                {
                    var Session = db.AspNetSessions.Where(x => x.Status == "Active").FirstOrDefault().Id;
                    aspNetParentTeacherMeeting.SessionID = Session;

                    db.AspNetParentTeacherMeetings.Add(aspNetParentTeacherMeeting);
                    db.SaveChanges();
                    int        MeetingID     = db.AspNetParentTeacherMeetings.Max(x => x.Id);
                    List <int> SubjectIDs    = db.AspNetSubjects.Where(x => x.AspNetClass.SessionID == Session).Select(x => x.Id).ToList();
                    var        parentSubject = (from parentchild in db.AspNetParent_Child
                                                join studentsubject in db.AspNetStudent_Subject on parentchild.ChildID equals studentsubject.StudentID
                                                where SubjectIDs.Contains(studentsubject.SubjectID)
                                                select new { parentchild.ParentID, studentsubject.SubjectID }).ToList();
                    foreach (var parentsubject in parentSubject)
                    {
                        AspNetPTMAttendance PTMAttendace = new AspNetPTMAttendance();
                        PTMAttendace.ParentID  = parentsubject.ParentID;
                        PTMAttendace.SubjectID = parentsubject.SubjectID;
                        PTMAttendace.Status    = "Absent";
                        PTMAttendace.Rating    = -1;
                        PTMAttendace.MeetingID = MeetingID;
                        db.AspNetPTMAttendances.Add(PTMAttendace);
                        db.SaveChanges();

                        int        PTMAttendaceID    = db.AspNetPTMAttendances.Max(x => x.Id);
                        List <int> ParentQuestionIDs = db.AspNetFeedBackForms.Where(x => x.AspNetPTMFormRole.RoleName == "Parent" && x.SessionID == Session).Select(x => x.Id).ToList();
                        foreach (var questionID in ParentQuestionIDs)
                        {
                            AspNetPTM_ParentFeedback PTM_ParentFeedback = new AspNetPTM_ParentFeedback();
                            PTM_ParentFeedback.PTMID     = PTMAttendaceID;
                            PTM_ParentFeedback.HeadingID = questionID;
                            db.AspNetPTM_ParentFeedback.Add(PTM_ParentFeedback);
                            db.SaveChanges();
                        }
                        List <int> TeacherQuestionIDs = db.AspNetFeedBackForms.Where(x => x.AspNetPTMFormRole.RoleName == "Teacher" && x.SessionID == Session).Select(x => x.Id).ToList();
                        foreach (var questionID in TeacherQuestionIDs)
                        {
                            AspNetPTM_TeacherFeedback PTM_TeacherFeedback = new AspNetPTM_TeacherFeedback();
                            PTM_TeacherFeedback.PTMID     = PTMAttendaceID;
                            PTM_TeacherFeedback.HeadingID = questionID;
                            db.AspNetPTM_TeacherFeedback.Add(PTM_TeacherFeedback);
                            db.SaveChanges();
                            ///////////////////////////////////////////////////////////////////////////////////////////
                        }
                    }


                    var NotificationObj = new AspNetNotification();
                    NotificationObj.Description = aspNetParentTeacherMeeting.Description;
                    NotificationObj.Subject     = aspNetParentTeacherMeeting.Title;
                    NotificationObj.SenderID    = User.Identity.GetUserId();
                    NotificationObj.Time        = DateTime.Now;
                    NotificationObj.SessionID   = Session;
                    db.AspNetNotifications.Add(NotificationObj);
                    db.SaveChanges();

                    var NotificationID = db.AspNetNotifications.Max(x => x.Id);
                    var receiverId     = (from teacher in db.AspNetUsers.Where(x => x.Status != "False" && x.AspNetUsers_Session.Any(y => y.SessionID == Session))
                                          where teacher.AspNetRoles.Select(y => y.Name).Contains("Teacher") ||
                                          teacher.AspNetRoles.Select(y => y.Name).Contains("Student") ||
                                          teacher.AspNetRoles.Select(y => y.Name).Contains("Parent")

                                          select new { teacher.Id }).ToList();

                    List <string> obled = new List <string>();

                    foreach (var sender in receiverId)
                    {
                        var notificationRecieve = new AspNetNotification_User();
                        notificationRecieve.NotificationID = NotificationID;
                        notificationRecieve.UserID         = sender.Id;
                        notificationRecieve.Seen           = false;
                        db.AspNetNotification_User.Add(notificationRecieve);
                        db.SaveChanges();



                        obled.Add(sender.Id);
                    }

                    //Message start
                    //var classe = db.AspNetClasses.Where(p => p.Id == aspNetHomework.ClassId).FirstOrDefault();
                    Utility obj = new Utility();
                    obj.SMSToOffitialsp("Dear Principal, Parent Teacher Meeting is scheduled on" + aspNetParentTeacherMeeting.Date + " at " + aspNetParentTeacherMeeting.Time + "., Title : " + aspNetParentTeacherMeeting.Title + " IPC NGS Preschool, Aziz Avenue, Lahore.");
                    obj.SMSToOffitialsa("Dear Admin, Parent Teacher Meeting is scheduled on " + aspNetParentTeacherMeeting.Date + " at " + aspNetParentTeacherMeeting.Time + "., Title : " + aspNetParentTeacherMeeting.Title + " IPC NGS Preschool, Aziz Avenue, Lahore.");
                    AspNetMessage oob = new AspNetMessage();
                    oob.Message = "Dear Parent, The Parent Teacher Meeting is scheduled on " + aspNetParentTeacherMeeting.Date + " at " + aspNetParentTeacherMeeting.Time + ". Your regularity and punctuality will be appreciated. IPC NGS Preschool, Aziz Avenue, Lahore.";
                    //oob.Message = "Parent Teacher Meeting is arranged,  Title : " + aspNetParentTeacherMeeting.Title + "For discription login to Portal please";
                    obj.SendSMS(oob, obled);
                    //Message end



                    var PTMNOTIFICATIOn = new AspNetNotificationController();
                    PTMNOTIFICATIOn.PTMNotification();
                    db.SaveChanges();
                    transactionObj.Commit();
                }

                catch (Exception ex)
                {
                    transactionObj.Dispose();
                }
                return(RedirectToAction("Index"));
            }

            return(View(aspNetParentTeacherMeeting));
        }