コード例 #1
0
        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);
            }
        }
コード例 #2
0
        public ActionResult ReceiveMessageDetail(int messageID)
        {
            var UserID = User.Identity.GetUserId();
            AspNetMessage_Receiver messageReceiver = (from receiveMessage in db.AspNetMessage_Receiver
                                                      where receiveMessage.ReceiverID == UserID && receiveMessage.MessageID == messageID
                                                      select receiveMessage).FirstOrDefault();

            messageReceiver.Seen = "Seen";
            db.SaveChanges();
            return(View(messageReceiver));
        }
コード例 #3
0
        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"));
        }