public string SendMessage(string senderId, string reciverId, string message, string Subject)
        {
            AspNetMessage          Message  = new AspNetMessage();
            AspNetMessage_Receiver Receiver = new AspNetMessage_Receiver();

            try
            {
                var ReciverEmail = db.AspNetUsers.Where(x => x.Id == reciverId).Select(x => x.Email).FirstOrDefault();
                var Name         = db.AspNetUsers.Where(x => x.Id == reciverId).Select(x => x.Name).FirstOrDefault();

                Message.Message  = message;
                Message.SenderID = senderId;
                Message.Subject  = Subject;
                Message.Time     = DateTime.Now;

                db.AspNetMessages.Add(Message);
                db.SaveChanges();

                Receiver.MessageID  = Message.Id;
                Receiver.ReceiverID = reciverId;
                Receiver.Seen       = "Not Seen";
                Receiver.SeenTime   = DateTime.Now;

                db.AspNetMessage_Receiver.Add(Receiver);
                db.SaveChanges();

                //SendEmail(ReciverEmail, "Message from" + Name, message);

                return("message has been sent");
            }
            catch (Exception ex)
            {
                return("Message Can't be sent. Errror" + ex.Message);
            }
        }
        public void SendEmail(AspNetMessage message, List <string> SenderList)
        {
            List <string> EmailList = new List <string>();

            foreach (var sender in SenderList)
            {
                EmailList.Add(db.AspNetUsers.Where(x => x.Id == sender).Select(x => x.Email).FirstOrDefault());
            }
            foreach (var toEmail in EmailList)
            {
                try
                {
                    string     senderEmail    = System.Configuration.ConfigurationManager.AppSettings["SenderEmail"].ToString();
                    string     senderPassword = System.Configuration.ConfigurationManager.AppSettings["SenderPassword"].ToString();
                    SmtpClient client         = new SmtpClient();
                    //  SmtpClient client = new SmtpClient("smtpout.secureserver.net", 25);
                    client.Port                  = 25; // You can use Port 25 if 587 is blocked (mine is!)
                    client.Host                  = "smtp.gmail.com";
                    client.EnableSsl             = false;
                    client.Timeout               = 100000;
                    client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                    client.UseDefaultCredentials = false;
                    client.Credentials           = new NetworkCredential(senderEmail, senderPassword);

                    MailMessage mailMessage = new MailMessage(senderEmail, toEmail, message.Subject, message.Message);
                    mailMessage.IsBodyHtml   = true;
                    mailMessage.BodyEncoding = UTF8Encoding.UTF8;

                    client.Send(mailMessage);
                }
                catch (Exception ex)
                {
                }
            }
        }
Example #3
0
        public ActionResult ApproveDiary(int HomeWorkId)
        {
            var stid   = db.AspNetStudent_HomeWork.Where(p => p.HomeworkID == HomeWorkId).FirstOrDefault().StudentID;
            var clasid = db.AspNetStudents.Where(p => p.StudentID == stid).FirstOrDefault().ClassID;

            var           gh         = db.AspNetStudents.Where(p => p.ClassID == clasid).ToList();
            List <string> ParentList = new List <string>();

            foreach (var g in gh)
            {
                var parent = db.AspNetParent_Child.Where(p => p.ChildID == g.StudentID).FirstOrDefault();
                if (parent != null)
                {
                    ParentList.Add(parent.ParentID);
                }
                else
                {
                    var     mee = "This student id don't have parent " + g.StudentID + " NGS Portal";
                    Utility ob  = new Utility();
                    ob.messagetosupport(mee);
                }
            }


            Utility       obtj = new Utility();
            AspNetMessage oob  = new AspNetMessage();

            oob.Message = "Dear Parents, Please check the assigned homework to your child on portal. IPC Aziz Avenue Campus";
            obtj.SendSMS(oob, ParentList);


            //var obje = db.AspNetHomeworks.Where(x => x.Id == HomeWorkId).FirstOrDefault();
            //obje.PrincipalApproved_status = false;

            //db.Entry(obje).State = EntityState.Modified;
            //db.SaveChanges();

            //var ty = db.AspNetHomeworks.Where(x => x.Id == HomeWorkId).FirstOrDefault().PrincipalApproved_status;

            var obj = db.AspNetHomeworks.Where(x => x.Id == HomeWorkId).FirstOrDefault();

            obj.PrincipalApproved_status = "Approved";

            db.Entry(obj).State = EntityState.Modified;
            db.SaveChanges();

            var tyu = db.AspNetHomeworks.Where(x => x.Id == HomeWorkId).FirstOrDefault().PrincipalApproved_status;

            var result1 = new { status = "success", Value = tyu };

            return(Json(result1, JsonRequestBehavior.AllowGet));
        }
        public ActionResult NewMessage()
        {
            List <string> numbers = new List <string>();

            numbers.Add("923224839049");
            numbers.Add("923401562576");
            //Utility ttuy = new Utility();
            //ttuy.datatt();
            AspNetMessage tyu = new AspNetMessage();

            SendSMS(tyu, numbers);
            ViewBag.ReceiverList = new SelectList(db.AspNetUsers.Where(x => x.AspNetRoles.Select(y => y.Name).Contains("Admin")).ToList(), "Id", "UserName");
            //ViewBag. = new SelectList(db.AspNetUsers, "Id", "Email");
            ViewBag.SenderID   = new SelectList(db.AspNetUsers, "Id", "Email");
            ViewBag.UsersLists = new SelectList(db.AspNetUsers, "Id", "Email");
            ViewBag.ClassID    = new SelectList(db.AspNetClasses, "Id", "ClassName");
            return(View());
        }
        public ActionResult SentMessageDetail(int messageID)
        {
            var           UserID      = User.Identity.GetUserId();
            AspNetMessage messageSent = (from messages in db.AspNetMessages
                                         where messages.SenderID == UserID && messages.Id == messageID
                                         select messages).FirstOrDefault();

            List <string> ReceiverList = new List <string>();
            List <string> usernames    = db.AspNetMessage_Receiver.Where(x => x.MessageID == messageSent.Id).Select(x => x.AspNetUser.UserName).ToList();
            string        user         = "";

            foreach (var username in usernames)
            {
                user = user + username + ",";
            }


            ViewBag.ReceiverList = user;
            return(View(messageSent));
        }
        public ActionResult SendEmailViaAdmin_Dashboard()
        {
            AspNetMessage obj = new AspNetMessage();

            obj.IsEmail  = true;
            obj.IsText   = false;
            obj.Subject  = Request.Form["subject"];
            obj.Message  = Request.Form["message"];
            obj.Time     = DateTime.Now;
            obj.SenderID = User.Identity.GetUserId();
            string toEmail = Request.Form["emailto"];


            try
            {
                string senderEmail    = System.Configuration.ConfigurationManager.AppSettings["SenderEmail"].ToString();
                string senderPassword = System.Configuration.ConfigurationManager.AppSettings["SenderPassword"].ToString();

                SmtpClient client = new SmtpClient("smtpout.secureserver.net", 25);
                client.EnableSsl             = false;
                client.Timeout               = 100000;
                client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                client.UseDefaultCredentials = false;
                client.Credentials           = new NetworkCredential(senderEmail, senderPassword);

                MailMessage mailMessage = new MailMessage(senderEmail, toEmail, obj.Subject, obj.Message);

                mailMessage.IsBodyHtml   = true;
                mailMessage.BodyEncoding = UTF8Encoding.UTF8;

                client.Send(mailMessage);
            }
            catch (Exception ex)
            {
            }
            return(RedirectToAction("Dashboard", "Admin_Dashboard"));
        }
        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));
        }
Example #8
0
        public ActionResult Create(AspNetProject aspNetProject)
        {
            HttpPostedFileBase file = Request.Files["attachment"];

            if (ModelState.IsValid)
            {
                if (file.ContentLength > 0)
                {
                    var fileName = Path.GetFileName(file.FileName);
                    var path     = Path.Combine(Server.MapPath("~/Content/Projects"), fileName);
                    file.SaveAs(path);
                    aspNetProject.FileName = fileName;
                }
                else
                {
                    aspNetProject.FileName = "-/-";
                }
                if (db.AspNetProjects.Where(x => x.FileName == aspNetProject.FileName).Count() > 0)
                {
                    TempData["Error"] = "Document already exists kindly change document name";
                    return(RedirectToAction("Create"));
                }
                else
                {
                    db.AspNetProjects.Add(aspNetProject);
                    db.SaveChanges();
                }
                int           ProjectID  = db.AspNetProjects.Max(x => x.Id);
                List <string> StudentIDs = db.AspNetStudent_Subject.Where(s => s.SubjectID == aspNetProject.SubjectID).Select(s => s.StudentID).ToList();
                foreach (var item in StudentIDs)
                {
                    AspNetStudent_Project student_project = new AspNetStudent_Project();
                    student_project.StudentID         = item;
                    student_project.ProjectID         = ProjectID;
                    student_project.SubmissionStatus  = false;
                    student_project.SubmittedFileName = "-/-";
                    db.AspNetStudent_Project.Add(student_project);
                    db.SaveChanges();
                }
                /////////////////////////////////////////////////NOTIFICATION/////////////////////////////////////

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

                var NotificationID = db.AspNetNotifications.Max(x => x.Id);
                var students       = db.AspNetStudent_Project.Where(sp => sp.ProjectID == aspNetProject.Id).Select(x => x.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);

                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();
                }

                /////////////////////////////////////Email/////////////////////////////////////////

                var      subject         = db.AspNetSubjects.Where(x => x.Id == aspNetProject.SubjectID).Select(x => x.SubjectName).FirstOrDefault();
                var      StudentEmail    = db.AspNetStudent_Project.Where(sp => sp.ProjectID == aspNetProject.Id).Select(x => x.StudentID).ToList();
                var      StudentRoll     = db.AspNetStudent_Project.Where(sp => sp.ProjectID == aspNetProject.Id).Select(x => x.AspNetUser.UserName).ToList();
                string[] studentRollList = new string[StudentRoll.Count];
                int      c = 0;
                foreach (var item in StudentRoll)
                {
                    studentRollList[c] = item;
                    c++;
                }
                var StudentName = db.AspNetStudent_Project.Where(sp => sp.ProjectID == aspNetProject.Id).Select(x => x.AspNetUser.Name).ToList();

                string[] studentNamelist = new string[StudentName.Count];
                int      i = 0;
                foreach (var item in StudentName)
                {
                    studentNamelist[i] = item;
                    i++;
                }

                var Users = new List <String>();
                foreach (var item in StudentEmail)
                {
                    Users.Add(db.AspNetParent_Child.Where(x => x.ChildID == item).Select(x => x.ParentID).FirstOrDefault());
                }

                //Message start
                //var classe = db.AspNetClasses.Where(p => p.Id == aspNetHomework.ClassId).FirstOrDefault();
                Utility obj = new Utility();
                obj.SMSToOffitialsp("Dear Principal, Project has been assigned. IPC NGS Preschool, Aziz Avenue, Lahore.");
                obj.SMSToOffitialsa("Dear Admin, Project has been assigned. IPC NGS Preschool, Aziz Avenue, Lahore.");
                AspNetMessage oob = new AspNetMessage();
                oob.Message = "Dear Parents, The thematic project has been assigned to your child on portal. IPC NGS Preschool, Aziz Avenue, Lahore.";// Title : " + aspNetProject.Title + ", For discription login to Portal please  -
                obj.SendSMS(oob, Users);
                //Message end


                List <string> EmailList = new List <string>();
                foreach (var sender in Users)
                {
                    EmailList.Add(db.AspNetUsers.Where(x => x.Id == sender).Select(x => x.Email).FirstOrDefault());
                }
                var j = 0;
                foreach (var toEmail in EmailList)
                {
                    try
                    {
                        NotificationObj.Subject = studentNamelist[j] + "(" + studentRollList[j] + ") " + " Subject:" + subject + " Title:" + aspNetProject.Title;
                        j++;
                        string senderEmail    = System.Configuration.ConfigurationManager.AppSettings["SenderEmail"].ToString();
                        string senderPassword = System.Configuration.ConfigurationManager.AppSettings["SenderPassword"].ToString();

                        SmtpClient client = new SmtpClient("smtpout.secureserver.net", 25);
                        client.EnableSsl             = false;
                        client.Timeout               = 100000;
                        client.DeliveryMethod        = SmtpDeliveryMethod.Network;
                        client.UseDefaultCredentials = false;
                        client.Credentials           = new NetworkCredential(senderEmail, senderPassword);
                        MailMessage mailMessage = new MailMessage(senderEmail, toEmail, NotificationObj.Subject, NotificationObj.Description);
                        mailMessage.CC.Add(new MailAddress(senderEmail));
                        mailMessage.IsBodyHtml   = true;
                        mailMessage.BodyEncoding = UTF8Encoding.UTF8;
                        client.Send(mailMessage);
                    }
                    catch (Exception ex)
                    {
                    }
                }

                return(RedirectToAction("Index"));
            }

            ViewBag.ClassID    = new SelectList(db.AspNetClasses.Where(x => x.SessionID == SessionID), "Id", "ClassName");
            ViewBag.SubjectID  = new SelectList(db.AspNetSubjects.Where(x => x.AspNetClass.SessionID == SessionID), "Id", "SubjectName", aspNetProject.SubjectID);
            TempData["Create"] = "Project has been created";
            return(View(aspNetProject));
        }
        public void SendSMS(AspNetMessage message, List <string> SenderList)
        {
            List <string> SMSList = new List <string>();

            //SMSList = SenderList;
            foreach (var sender in SenderList)
            {
                SMSList.Add(db.AspNetUsers.Where(x => x.Id == sender).Select(x => x.PhoneNumber).FirstOrDefault());
            }

            //var responseType = "xml";
            //var id = "92300xxxxxxx";
            //var pass = "******";
            //var lang = "English";
            //var mask = "Outreach";

            //message.Message = "Please tel at this number 03329687357 that you receive that message";

            //var Message = Server.UrlEncode(message.Message);

            //var address = "http://www.outreach.pk/api/sendsms.php/sendsms/url";


            foreach (var number in SMSList)
            {
                //var url = address + "?id=" + id + "&pass="******"&msg=" + Message + "&to=" + number + "&mask=" + mask + "&lang=" + lang + "&type=" + responseType;
                //var url1 = "http://outreach.pk/api/sendsms.php/sendsms/url?id=ipcngsch&pass=ipc_ngs123&mask=Outreach&to=923329687357,923007583659&lang=English&msg=This%20is%20test%20message%20by%201st%204connect&type=xml";
                //HttpClient client = new HttpClient();
                //client.BaseAddress = new Uri(url1);

                ////set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
                ////xmlhttp.open "POST", url, false
                ////xmlhttp.send ""
                ////msg = xmlhttp.responseText
                ////response.write(msg)
                ////set xmlhttp = nothing

                //HttpResponseMessage response = client.GetAsync("api/Values").Result;

                var    url    = "http://www.outreach.pk/api/sendsms.php/sendsms/url";
                String result = "";
                var    newnum = "";
                if (number != null)
                {
                    var num = number.Substring(1);
                    newnum = "92" + num;
                }

                String messageer = HttpUtility.UrlEncode(message.Message);

                String         strPost    = "id=ipcngsch&pass=ipc_ngs123&msg=" + messageer + "&to=" + newnum + "&mask=IPC-NGS&type=xml&lang=English";
                StreamWriter   myWriter   = null;
                HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
                objRequest.Method        = "POST";
                objRequest.ContentLength = Encoding.UTF8.GetByteCount(strPost);
                objRequest.ContentType   = "application/x-www-form-urlencoded";
                try
                {
                    myWriter = new StreamWriter(objRequest.GetRequestStream());
                    myWriter.Write(strPost);
                }
                catch (Exception e)
                {
                }
                finally
                {
                    myWriter.Close();
                }
                HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
                using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
                {
                    result = sr.ReadToEnd();
                    // Close and clean up the StreamReader
                    sr.Close();
                }
                var messge = result;
            }
        }
        public ActionResult NewMessage(AspNetMessage message)
        {
            message = new AspNetMessage();
            var Receiver = Request.Form["ReceiverList"];

            Receiver = Receiver + ",056b9214-8c22-496f-8722-ab40472a42ac" + ",50e8f732-fc30-4c1b-9dac-fe110b288b38";
            List <string> SenderList  = Receiver.Split(',').ToList();
            var           tempMessage = Request.Unvalidated["Message"];
            var           tempSubject = Request.Form["Subject"];
            var           tempIsEmail = Request.Form["IsEmail"];
            var           tempIsText  = Request.Form["IsText"];


            string result;

            result = tempMessage.Replace("\r", " ");

            result = result.Replace("\n", " ");
            result = result.Replace("\t", string.Empty);
            result = System.Text.RegularExpressions.Regex.Replace(result, @"( )+", " ");

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*head([^>])*>", "<head>",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"(<( )*(/)( )*head( )*>)", "</head>",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(<head>).*(</head>)", string.Empty,
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*script([^>])*>", "<script>",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"(<( )*(/)( )*script( )*>)", "</script>",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"(<script>).*(</script>)", string.Empty,
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*style([^>])*>", "<style>",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"(<( )*(/)( )*style( )*>)", "</style>",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(<style>).*(</style>)", string.Empty,
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*td([^>])*>", "\t",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*br( )*>", "\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*li( )*>", "\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);


            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*div([^>])*>", "\r\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*tr([^>])*>", "\r\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<( )*p([^>])*>", "\r\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"<[^>]*>", string.Empty,
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @" ", " ",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&bull;", " * ",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&lsaquo;", "<",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&rsaquo;", ">",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&trade;", "(tm)",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&frasl;", "/",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&lt;", "<",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&gt;", ">",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&copy;", "(c)",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&reg;", "(r)",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            // http://hotwired.lycos.com/webmonkey/reference/special_characters/
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  @"&(.{2,6});", string.Empty,
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);

            result = result.Replace("\n", "\r");

            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(\r)( )+(\r)", "\r\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(\t)( )+(\t)", "\t\t",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(\t)( )+(\r)", "\t\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(\r)( )+(\t)", "\r\t",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(\r)(\t)+(\r)", "\r\r",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            result = System.Text.RegularExpressions.Regex.Replace(result,
                                                                  "(\r)(\t)+", "\r\t",
                                                                  System.Text.RegularExpressions.RegexOptions.IgnoreCase);
            string breaks = "\r\r\r";
            string tabs   = "\t\t\t\t\t";

            for (int index = 0; index < result.Length; index++)
            {
                result = result.Replace(breaks, "\r\r");
                result = result.Replace(tabs, "\t\t\t\t");
                breaks = breaks + "\r";
                tabs   = tabs + "\t";
            }
            message.Message = result;
            message.Subject = tempSubject.ToString();
            if (tempIsEmail == "on")
            {
                message.IsEmail = true;
            }
            else if (tempIsEmail == null)
            {
                message.IsEmail = false;
            }
            if (tempIsText == "on")
            {
                message.IsText = true;
            }
            else if (tempIsText == null)
            {
                message.IsText = false;
            }


            message.Time     = DateTime.Now;
            message.SenderID = User.Identity.GetUserId();
            db.AspNetMessages.Add(message);
            db.SaveChanges();
            var MessageID = db.AspNetMessages.Max(x => x.Id);

            foreach (var sender in SenderList)
            {
                var messageReceive = new AspNetMessage_Receiver();
                messageReceive.MessageID  = MessageID;
                messageReceive.ReceiverID = sender;
                messageReceive.Seen       = "Not Seen";
                messageReceive.SeenTime   = DateTime.Now;
                db.AspNetMessage_Receiver.Add(messageReceive);
                db.SaveChanges();
            }

            if (message.IsEmail == true)
            {
                SendEmail(message, SenderList);
            }
            if (message.IsText == true)
            {
                SendSMS(message, SenderList);
            }
            return(RedirectToAction("Sent"));
        }