public ActionResult DeleteConfirmed(int id) { AspNetAnnouncement aspNetAnnouncement = db.AspNetAnnouncements.Find(id); db.AspNetAnnouncements.Remove(aspNetAnnouncement); db.SaveChanges(); return(RedirectToAction("Index")); }
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)); }
// 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)); }
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)); }