コード例 #1
0
        IEnumerable<Models.Message> vPlanTestData()
        {
            var froms = new[]
            {
                "Lenny Pedersen",
                "Nisse Nilsson",
                "Denna Härsson",
                "Vemvet Intejagson",
                "Jack Jackie",
                "Blopp Blipp",
                "Spock Jabba",
                "Administrator",
                "Management",
                "Teamleader"
            };

            var subjects = new[]
            {
                "Do that thing!",
                "Personalrapport",
                "Uppdatering av Arbetsplatser",
                "Korrigera scheman i tid!!",
                "Bla blagdish",
                "Nya funktioner",
                "Ajabaja moster maja!",
                "Träffas?",
                "Intranät",
                "BugTester...."
            };

            var bodys = new[]
            {
                "Variables don't; constants aren't.",
                "The bogosity meter just pegged.",
                "First study the enemy. Seek weakness",
                "Uncontrolled power will turn even saints into savages. And we can all be counted on to live down to our lowest impulses",
                "If you can't convince them, confuse them.",
                "Do Lipton Tea employees take coffee breaks?",
                "Oh, so there you are! ",
                "Hackers of the world, unite! ",
                "fortune: No such file or directory",
                "Those who can't write, write manuals."
            };

            for(int i = 0; i < 10; i++)
            {
                var message = new Models.Message
                {
                    mId = Guid.NewGuid().ToString(),
                    mDate = DateTime.Now.Subtract(TimeSpan.FromDays(_random.Next(0, 10))),
                    mSubject = subjects[i],
                    mBody = bodys[i],
                    mFrom = froms[i],
                    mTo = "vPlan Dev"
                };

                yield return message;
            }
        }
コード例 #2
0
 IEnumerable<Models.Message> SampleData()
 {
     var froms = new[] {
         "Jonathan Archer",
         "T'Pol Main",
         "Charles 'Trip' Tucker III",
         "Malcolm Reed",
         "Hoshi Sato Main",
         "Travis Mayweather",
         "Phlox",
         "Thy'lek Shran",
         "Maxwell Forrest",
         "Matt Winston"
     };
     var subjects = new[] {
         "Oak is strong and also gives shade.",
         "Cats and dogs each hate the other.",
         "The pipe began to rust while new.",
         "Open the crate but don't break the glass.",
         "Add the sum to the product of these three.",
         "Thieves who rob friends deserve jail.",
         "The ripe taste of cheese improves with age.",
         "Act on these orders with great speed.",
         "The hog crawled under the high fence.",
         "Move the vat over the hot fire."
     };
     var bodys = new[] {
         "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ullamcorper arcu nulla, vitae congue risus ullamcorper non. Maecenas id velit turpis. In vehicula vulputate ante non venenatis. Nam euismod, ex id congue laoreet, massa libero commodo nulla, pellentesque dictum leo sem feugiat lacus. Nulla eu mi eu purus convallis rhoncus vel quis quam. Quisque quis odio non purus interdum iaculis quis vitae mi. Aliquam dapibus sed ex ut posuere. Mauris commodo quam purus, quis dignissim arcu rhoncus eget. Donec lorem lorem, ornare at felis id, accumsan blandit ex. Donec hendrerit est velit, sed malesuada justo fermentum at. Nulla egestas lacus orci, sed tincidunt dolor congue vitae.",
         "Phasellus euismod massa massa, porta dictum ipsum pulvinar et. Vestibulum mollis nisi id neque maximus porta sed tincidunt ligula. Proin mollis nulla eu ex consectetur, vel pretium ipsum gravida. Nam nec ipsum bibendum elit accumsan pretium. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam pulvinar, neque nec aliquet luctus, diam lacus sollicitudin justo, sit amet maximus diam sem in urna. In at dolor dapibus libero hendrerit tincidunt in auctor tortor. Mauris imperdiet consequat nunc, vel auctor libero dignissim ut. Nullam eget orci sit amet dolor accumsan tincidunt accumsan sed turpis.",
         "Nullam eu nibh augue. Nullam accumsan lorem sit amet tortor placerat dignissim ut dapibus massa. Suspendisse ante tortor, aliquet eu ipsum et, rutrum pulvinar leo. In hac habitasse platea dictumst. Suspendisse sit amet efficitur dolor. Donec orci massa, consectetur non est sed, tempus dictum libero. Morbi porttitor consectetur magna mollis iaculis. Cras eros libero, pellentesque ac rhoncus non, convallis sit amet ipsum. Quisque mattis vitae libero vitae laoreet. Aenean cursus ullamcorper lectus sit amet vehicula. Vivamus id ligula et risus laoreet vehicula. Fusce purus dolor, mollis a felis id, fringilla aliquet elit. Morbi porta lorem accumsan augue laoreet aliquam vel id ex. Curabitur sodales facilisis ligula non dictum. Etiam pharetra, elit at aliquam pellentesque, sapien justo congue eros, sed porta orci augue eget velit.",
         "Duis auctor, dolor ut aliquet commodo, ligula quam malesuada leo, in aliquet nunc massa ac lorem. Quisque volutpat ultrices lacus a imperdiet. Sed nisi sem, aliquet ut gravida a, fermentum sit amet massa. Praesent tincidunt sapien ac nisi pellentesque mattis quis ac lorem. Phasellus iaculis, dui sed dictum dapibus, ipsum dolor volutpat tellus, sed ultricies arcu eros in dui. Suspendisse blandit congue venenatis. Mauris quis mauris lectus. Pellentesque at massa bibendum, mattis urna non, vulputate tortor. Pellentesque pellentesque semper lectus a porttitor.",
         "Mauris volutpat diam lacus, id imperdiet orci tempus id. Aenean mollis non turpis sed lacinia. Nullam nisi mauris, rutrum sit amet libero a, aliquam pretium est. Vivamus a justo at dolor convallis accumsan. Donec eget pellentesque elit. Ut ullamcorper et libero nec pretium. Fusce lacinia enim orci, sed accumsan justo blandit id. Morbi magna turpis, placerat eget vehicula quis, tristique non metus. Donec efficitur pellentesque egestas. Fusce at nunc eros. Morbi finibus velit vitae dui dictum, eget scelerisque ante tincidunt.",
         "Praesent gravida tortor id ipsum vulputate tempus. Phasellus posuere arcu eget felis suscipit, sed condimentum tortor imperdiet. Duis quam turpis, iaculis a odio eget, auctor aliquet dui. Duis aliquet cursus rhoncus. Aliquam aliquet ex id rhoncus mattis. Vivamus in sagittis nibh, eu aliquam purus. Phasellus vel leo in est imperdiet mattis vitae a orci. Nullam risus purus, imperdiet at nisl at, sollicitudin ullamcorper enim. Duis eleifend nisi nibh, eget ultrices elit ullamcorper ac. Morbi leo justo, tempus sit amet lorem et, blandit sodales diam. Morbi viverra leo quis lacus tempus posuere. Ut sed orci augue.",
         "Curabitur porttitor nunc libero, vel sodales enim viverra consectetur. Duis interdum ligula ex, id eleifend urna egestas in. Duis pellentesque egestas odio, nec consequat orci mollis efficitur. Nulla quis diam pellentesque, semper ante eget, hendrerit nibh. Quisque venenatis, nibh non facilisis convallis, diam orci aliquet sem, vitae cursus nulla nunc sed quam. Praesent sit amet magna at velit posuere ornare. In sagittis condimentum ligula, sed porttitor felis vestibulum nec. Nullam a malesuada ante. Aliquam suscipit sed orci quis accumsan. Aenean rhoncus libero libero, eu aliquam elit vehicula id. Maecenas et enim at velit luctus efficitur. Praesent a nulla lorem. Donec non turpis sed urna volutpat scelerisque. Mauris tristique dolor eget libero placerat rutrum non non massa. Cras sagittis, libero sed tempor congue, justo est vehicula magna, tincidunt fringilla metus tellus ut enim.",
         "Proin venenatis ipsum neque, at vehicula risus ullamcorper lacinia. Ut justo justo, placerat in tempor at, tristique id enim. Sed ut diam placerat nibh tincidunt consequat. In non volutpat erat. Maecenas nec purus hendrerit, accumsan mi quis, porttitor nibh. Donec ultrices tempor hendrerit. Vivamus dictum erat eleifend, lobortis justo vel, fermentum risus. Nam vitae nibh odio. Donec lacinia rhoncus augue nec mollis. Curabitur a sapien nisl.",
         "Aliquam sit amet mi a lacus vehicula iaculis. Curabitur lacinia commodo tellus, eget varius nisl feugiat non. Vivamus sit amet sem venenatis, sollicitudin dolor ultricies, mattis felis. Nulla imperdiet lacinia varius. Nullam ut mauris tortor. Nam ac congue mauris. Pellentesque et pretium leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Cras fermentum felis nibh, vitae pretium velit sodales vel. Cras blandit arcu et porta vehicula. Fusce pulvinar ligula mi, eget vestibulum turpis tincidunt et. Morbi facilisis facilisis felis, eu interdum felis tempor vel. Praesent in turpis porta erat aliquet ultricies interdum sit amet massa.",
         "XDonec rutrum magna a turpis pharetra, sit amet commodo sapien consequat. Duis dictum ante nunc, eu sollicitudin lacus imperdiet quis. Donec vel est eget ligula mollis venenatis ut quis metus. Vivamus gravida, ligula vitae rhoncus mattis, magna est venenatis lectus, ut viverra dui est et massa.Quisque faucibus a diam at porta. Nam sit amet consequat dui.Ut elementum leo orci, eget dictum diam rutrum eget. Aliquam ac mattis libero. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean mattis enim vel tincidunt fermentum. Fusce in imperdiet ipsum. "
     };
     for (int i = 0; i < 10; i++)
     {
         var message = new Models.Message
         {
             Id = Guid.NewGuid().ToString(),
             Date = DateTime.Now.Subtract(TimeSpan.FromDays(_random.Next(0, 10))),
             Subject = subjects[i],
             Body = bodys[i],
             From = froms[i],
             To = "Jerry Nixon"
         };
         yield return message;
     }
 }
コード例 #3
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "application/json";

            //Accept Only POST requests
            //validate Parameters
            if (context.Request.HttpMethod.ToUpper().Equals("POST"))
            {
                var parameters = context.Request.Params;
                var sender = parameters.Get("SenderUserName");
                var senderPhoneNumber  = parameters.Get("SenderPhoneNumber");
                var receiver = parameters.Get("ReceiverUserName");
                var receiverPhoneNumber = parameters.Get("ReceiverPhoneNumber");
                var messageData = parameters.Get("MessageData");

                //check for null values
                if (String.IsNullOrEmpty(sender))
                {
                    context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'SenderUserName'" }));
                    return;
                }
                if (String.IsNullOrEmpty(receiver))
                {
                    context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'ReceiverUserName'" }));
                    return;
                }
                if (String.IsNullOrEmpty(messageData))
                {
                    context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a parameter with key value 'MessageData'" }));
                    return;
                }

                SampleAspServer.Models.Message m = new Models.Message();
                m.senderUserName = sender;
                m.senderPhoneNumber = senderPhoneNumber;
                m.receiverUserName = receiver;
                m.receiverPhoneNumber = receiverPhoneNumber;
                m.messageData = messageData;

                SampleAspServer.Models.SampleChatDBEntities db = new Models.SampleChatDBEntities();
                db.Messages.Add(m);
                db.SaveChanges();
                context.Response.Write(JsonConvert.SerializeObject(new { error = false , message = "Message Sent !" }));
                return;
            }
            else
            {
                context.Response.Write(JsonConvert.SerializeObject(new { error = true, message = "Please send a POST request instead of " + context.Request.HttpMethod }));
            }
        }
コード例 #4
0
        private DashboardViewModels CreateDashboard_Pack21ViewModel(Models.Message deviceMessage)
        {
            DashboardViewModels dashboard = new DashboardViewModels();

            dashboard.DeviceId    = deviceMessage.DeviceId;
            dashboard.Name        = deviceMessage.Device.Name;
            dashboard.Package     = deviceMessage.Data;
            dashboard.TypePackage = deviceMessage.TypePackage;
            dashboard.Date        = deviceMessage.Date;
            dashboard.Country     = deviceMessage.Country;
            dashboard.Lqi         = deviceMessage.Lqi;
            dashboard.Bits        = deviceMessage.Bits;

            var _entradaAnalogica = FromFloatSafe(deviceMessage.EntradaAnalogica);
            var _saidaAnalogica   = FromFloatSafe(deviceMessage.SaidaAnalogica);

            dashboard.EntradaAnalogica = String.Format("{0:0.0}", _entradaAnalogica);
            dashboard.SaidaAnalogica   = String.Format("{0:0.0}", _saidaAnalogica);

            return(dashboard);
        }
コード例 #5
0
ファイル: Account.cs プロジェクト: jochemstoel/EPONS
        public List <Data.Models.Message> GetMessagesByUsername(string username, string patientId = null)
        {
            return(Execute(context =>
            {
                Guid accountId = context.Accounts.Single(a => a.Username.ToLower() == username).AccountId;

                var allUserMessages = context.Messages.Where(m => (m.FromAccountId == accountId && !m.Archived) || m.MessageRecipients.Count(mr => mr.RecipientAccountId == accountId && !mr.Archived) > 0).ToList().Select(m =>
                {
                    Models.Message result = (Models.Message)m;
                    result.IsRead = !result.IsMessageUnread(username);
                    return result;
                }).ToList();

                if (!string.IsNullOrWhiteSpace(patientId))
                {
                    allUserMessages = allUserMessages.Where(m => m.PatientId == patientId).ToList();
                }

                return allUserMessages;
            }));
        }
コード例 #6
0
        public ActionResult WriteMessage(Models.Message message)
        {
            //Validation
            if (TryValidateModel(message))
            {
                try
                {
                    //Create BLL instance
                    BLL.MessageService mesServ = new BLL.MessageService();

                    //Add message and return its hash link
                    string hashLink = mesServ.AddNewMessage(
                        message.Text,
                        message.TimesToShow,
                        DateTime.Now.AddMinutes(message.Minutes),
                        System.Web.Configuration.WebConfigurationManager.AppSettings["password"]);

                    //Debug LOCALHOST with port link
#if DEBUG
                    ViewBag.Link = Request.Url.Host + ":" + Request.Url.Port + "/" + hashLink;

                    //Release link version
#else
                    ViewBag.Link = Request.Url.Host + "/" + hashLink;
#endif
                    return(View());
                }
                catch (Exception ex)
                {
                    ViewBag.Error = ex.InnerException.InnerException.Message != null ?
                                    ex.InnerException.InnerException.Message
                        : "Ошибка";
                    return(View("ErrorPage"));
                }
            }
            else
            {
                return(View("Index", message));
            }
        }
コード例 #7
0
        private void SeedDb()
        {
            this.TruncateCategoriesTable();
            this.TruncateMessagesTable();
            this.TruncatePostsTable();
            this.TruncateUsersTable();

            ForumUser user, secondUser;

            SeedUsers(out user, out secondUser);

            for (int i = 0; i < 5; i++)
            {
                var message = new Models.Message
                {
                    Description = TestsConstants.ValidTestMessageDescription,
                    Id          = Guid.NewGuid().ToString(),
                    Author      = user,
                    AuthorId    = user.Id,
                    Reciever    = secondUser,
                    RecieverId  = secondUser.Id,
                    CreatedOn   = DateTime.UtcNow.AddDays(i)
                };
                var secondMessage = new Models.Message
                {
                    Description = TestsConstants.ValidTestMessageDescription,
                    Id          = Guid.NewGuid().ToString(),
                    Author      = secondUser,
                    AuthorId    = secondUser.Id,
                    Reciever    = user,
                    RecieverId  = user.Id,
                    CreatedOn   = DateTime.UtcNow.AddDays(i)
                };

                this.dbService.DbContext.Messages.Add(message);
                this.dbService.DbContext.Messages.Add(secondMessage);
                this.dbService.DbContext.SaveChanges();
            }
        }
コード例 #8
0
        public void OnDataChange(DataSnapshot snapshot)
        {
            if (snapshot.Value != null)
            {
                var child = snapshot.Children.ToEnumerable <DataSnapshot>();
                messages.Clear();
                foreach (DataSnapshot messageData in child)
                {
                    Models.Message message = new Models.Message(false);
                    message.ID      = messageData.Key;
                    message.Sender  = messageData.Child("sender").Value.ToString();
                    message.Content = messageData.Child("content").Value.ToString();
                    message.Time    = messageData.Child("time").Value.ToString();
                    message.Date    = messageData.Child("date").Value.ToString();
                    messages.Add(message);
                }

                messageRetrieved?.Invoke(this, new MessageEventArgs {
                    messages = this.messages
                });
            }
        }
コード例 #9
0
        public ActionResult Index(Models.Message model, List <HttpPostedFileBase> files)
        {
            string EmailId       = ConfigurationManager.AppSettings["EmailId"];
            string EmailPassword = ConfigurationManager.AppSettings["EmailPassword"];

            try
            {
                using (MailMessage mail = new MailMessage(EmailId, model.To))
                {
                    mail.Subject = model.Subject;
                    mail.Body    = PopulateBody(model.Body);
                    foreach (HttpPostedFileBase file in files)
                    {
                        if (file != null)
                        {
                            string fileName = Path.GetFileName(file.FileName);
                            mail.Attachments.Add(new Attachment(file.InputStream, fileName));
                        }
                    }
                    mail.IsBodyHtml = true;
                    SmtpClient smtp = new SmtpClient
                    {
                        Host      = "smtp.gmail.com",
                        EnableSsl = true,
                        Port      = 587
                    };
                    NetworkCredential networkCredential = new NetworkCredential(EmailId, EmailPassword);
                    smtp.UseDefaultCredentials = true;
                    smtp.Credentials           = networkCredential;
                    smtp.Port = 587;
                    smtp.Send(mail);
                }
            }
            catch (Exception ex)
            {
                MailLog(ex);
            }
            return(View());
        }
コード例 #10
0
        public async Task <ActionResult> Create(Models.Booking b)
        {
            Models.Message      m             = new Models.Message();
            string              bookingJson   = JsonConvert.SerializeObject(b);
            HttpContent         stringContent = new StringContent(bookingJson, Encoding.UTF8, "application/json");
            HttpResponseMessage response      = await _httpClient.PostAsync(("api/Bookings"), stringContent);

            try
            {
                response.EnsureSuccessStatusCode();

                m.Content = "Réservation effectué";

                return(View("ShowMessage", m));
            }
            catch
            {
                m.Content = await response.Content.ReadAsStringAsync();

                return(View("ShowMessage", m));
            }
        }
コード例 #11
0
ファイル: SurveyorTask.cs プロジェクト: chouteau/sitesurveyor
        public void Execute(ExecutionContext context)
        {
            var currentPath = System.IO.Path.GetDirectoryName(this.GetType().Assembly.Location);
            var fileName = System.IO.Path.Combine(currentPath, "urltomonitor.json");

            if (!System.IO.File.Exists(fileName))
            {
                return;
            }

            var content = System.IO.File.ReadAllText(fileName);
            var urlList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.UrlToMonitor>>(content);

            foreach (var item in urlList)
            {
                System.Diagnostics.Trace.WriteLine(string.Format("Check url : {0}", item.Url), "info");
                if (IsDown(item.Url))
                {
                    System.Diagnostics.Trace.TraceError(string.Format("error url : {0}", item.Url), "error");

                    var smsService = new SmsService();
                    var message = new Models.Message();
                    message.Content = string.Format("site [{0}] is down !", item.Url);
                    foreach (var phone in item.PhoneNumberList)
                    {
                        message.MobileNumber = phone;
                        smsService.SendSMS(message);

                        m_HistoryList.Add(new Models.History()
                        {
                            LastSentErrorDate = DateTime.Now,
                            PhoneNumber = phone,
                            Url = item.Url,
                        });
                    }
                }
            }
        }
コード例 #12
0
        private DashboardViewModels CreateDashboard_Pack22_23ViewModel(Models.Message deviceMessageType22, Models.Message deviceMessageType23)
        {
            DashboardViewModels dashboard = new DashboardViewModels();

            dashboard.DeviceId           = deviceMessageType22.DeviceId;
            dashboard.Name               = deviceMessageType22.Device.Name;
            dashboard.Package            = $"{deviceMessageType22.Data};{deviceMessageType23.Data}";
            dashboard.TypePackage        = $"{deviceMessageType22.TypePackage};{deviceMessageType23.TypePackage}";
            dashboard.Date               = deviceMessageType22.Date;
            dashboard.Country            = deviceMessageType22.Country;
            dashboard.Lqi                = deviceMessageType22.Lqi;
            dashboard.Bits               = deviceMessageType22.Bits;
            dashboard.Level              = deviceMessageType22.Level;
            dashboard.Light              = deviceMessageType22.Light;
            dashboard.Temperature        = deviceMessageType22.Temperature;
            dashboard.Moisture           = deviceMessageType22.Moisture;
            dashboard.OxigenioDissolvido = deviceMessageType22.OxigenioDissolvido;
            dashboard.Ph                 = deviceMessageType23.Ph;
            dashboard.Condutividade      = deviceMessageType23.Condutividade;
            dashboard.PeriodoTransmissao = deviceMessageType23.PeriodoTransmissao;
            dashboard.BaseT              = deviceMessageType23.BaseT;

            // set location on dashboard of device
            DeviceLocation deviceLocation = GetDeviceLocationByDeviceId(dashboard.DeviceId);

            if (deviceLocation != null)
            {
                dashboard.Latitude  = deviceLocation.Latitude.ToString();
                dashboard.Longitude = deviceLocation.Longitude.ToString();
                dashboard.Radius    = deviceLocation.Radius;

                dashboard.LatitudeConverted  = LocationDecimalToDegrees((decimal)deviceLocation.Latitude, "S");
                dashboard.LongitudeConverted = LocationDecimalToDegrees((decimal)deviceLocation.Longitude, "W");
                dashboard.RadiusConverted    = RadiusFormated(deviceLocation.Radius);
            }

            return(dashboard);
        }
コード例 #13
0
        public ActionResult Send(Models.Message message)
        {
            try
            {
                var body = Encoding.UTF8.GetBytes(message.Text);

                var ampqUri = Environment.GetEnvironmentVariable("rabbitmq:client:uri");

                var connectionFactory = new ConnectionFactory {
                    Uri = new Uri(ampqUri)
                };

                using (var connection = connectionFactory.CreateConnection())
                {
                    using (var channel = connection.CreateModel())
                    {
                        channel.QueueDeclare(queue: QueueName,
                                             durable: false,
                                             exclusive: false,
                                             autoDelete: false,
                                             arguments: null);

                        channel.BasicPublish(exchange: "",
                                             routingKey: QueueName,
                                             basicProperties: null,
                                             body: body);
                    }
                }

                ViewData["Status"] = "Message sent successfully.";
            }
            catch (Exception ex)
            {
                ViewData["Status"] = ex.Message;
            }

            return(View());
        }
コード例 #14
0
        public async Task <MessageWithReply> GetChanelMessages(string messageId)
        {
            Models.Message data = await _data.GetChannelMessages(messageId);

            ReplyMessage replyData = await _data.GetReplyMessages(messageId);

            var hostData = new HostMessage {
                CreatedDateTime = data.CreatedDateTime, HostUserId = data.From.User.Id
            };
            IEnumerable <ReplyMessageData> reply = replyData.Value.Select(s =>
            {
                return(new ReplyMessageData
                {
                    CreatedDateTime = s.CreatedDateTime,
                    Content = s.Body.Content,
                    UserId = s.From.User.Id
                });
            }).OrderBy(o => o.CreatedDateTime);

            return(new MessageWithReply {
                Message = hostData, ReplyMessage = reply
            });
        }
コード例 #15
0
        public async Task <ActionResult> Create(Models.Passenger p)
        {
            Models.Message m = new Models.Message();
            try
            {
                string              flightJson    = JsonConvert.SerializeObject(p);
                HttpContent         stringContent = new StringContent(flightJson, Encoding.UTF8, "application/json");
                HttpResponseMessage response      = await _httpClient.PostAsync("api/Passengers", stringContent);

                response.EnsureSuccessStatusCode();
                string data = await response.Content.ReadAsStringAsync();

                m.Content = data;


                return(View("ShowMessage", m));
            }
            catch (Exception e)
            {
                m.Content = e.Message;
                return(View("ShowMessage", m));
            }
        }
コード例 #16
0
ファイル: ChatController.cs プロジェクト: stalin2789/Angular
        public MyResponse Add([FromBody] MessageViewModel model)
        {
            MyResponse response = new MyResponse();

            try
            {
                Models.Message message = new Models.Message();
                message.Name           = model.Name;
                message.MessageContent = model.MessageContent;

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

                response.Success = 1;
            }
            catch (Exception ex)
            {
                response.Success = 0;
                response.Message = "Ocurrio un error: " + ex.Message;
            }

            return(response);
        }
コード例 #17
0
        public async Task <bool> Handle(CreateSentMessageCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var sentMessage = new Models.Message
                {
                    Id        = request.Id,
                    Seen      = request.Seen,
                    Text      = request.Text,
                    TicketId  = request.TicketId,
                    TimeStamp = request.TimeStamp,
                    UserId    = request.UserId
                };

                _eventBus.PublishEvent(new MessageSentEvent(sentMessage));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            return(await Task.FromResult(true));
        }
コード例 #18
0
        private DashboardViewModels CreateDashboard_Pack10ViewModel(Models.Message deviceMessage)
        {
            DashboardViewModels dashboard = new DashboardViewModels();

            dashboard.DeviceId    = deviceMessage.DeviceId;
            dashboard.Name        = deviceMessage.Device.Name;
            dashboard.Package     = deviceMessage.Data;
            dashboard.TypePackage = deviceMessage.TypePackage;
            dashboard.Date        = deviceMessage.Date;
            dashboard.Country     = deviceMessage.Country;
            dashboard.Lqi         = deviceMessage.Lqi;
            dashboard.Bits        = deviceMessage.Bits;

            // set location on dashboard of device
            DeviceLocation deviceLocation = GetDeviceLocationByDeviceId(dashboard.DeviceId);

            if (deviceLocation != null)
            {
                dashboard.Latitude  = deviceLocation.Latitude.ToString();
                dashboard.Longitude = deviceLocation.Longitude.ToString();
                dashboard.Radius    = deviceLocation.Radius;

                dashboard.LatitudeConverted  = LocationDecimalToDegrees((decimal)deviceLocation.Latitude, "S");
                dashboard.LongitudeConverted = LocationDecimalToDegrees((decimal)deviceLocation.Longitude, "W");
                dashboard.RadiusConverted    = RadiusFormated(deviceLocation.Radius);
            }

            dashboard.Temperature        = (decimal.Parse(deviceMessage.Temperature) * 100).ToString();
            dashboard.Temperature        = dashboard.Temperature.ToString().Substring(0, dashboard.Temperature.Length - 2);
            dashboard.Envio              = deviceMessage.Envio;
            dashboard.PeriodoTransmissao = deviceMessage.PeriodoTransmissao;
            dashboard.Alimentacao        = $"{deviceMessage.Alimentacao},0";
            dashboard.AlimentacaoMinima  = $"{deviceMessage.AlimentacaoMinima},0";

            return(dashboard);
        }
コード例 #19
0
ファイル: SurveyorTask.cs プロジェクト: chouteau/sitesurveyor
        private void SendSMS(Models.UrlToMonitor item, string errorMessage)
        {
            if (item.PhoneNumberList == null ||
                item.PhoneNumberList.Count == 0)
            {
                return;
            }
            var smsService = new SmsService();
            var message    = new Models.Message();

            message.Content = $"[{item.Url}] down detected from [{System.Environment.MachineName}] ! {errorMessage}";
            foreach (var phone in item.PhoneNumberList)
            {
                message.MobileNumber = phone;
                smsService.SendSMS(message);

                m_HistoryList.Add(new Models.History()
                {
                    LastSentErrorDate = DateTime.Now,
                    PhoneNumber       = phone,
                    Url = item.Url,
                });
            }
        }
コード例 #20
0
        public Models.Message GetMessageXML(DateTime Time, string Location)
        {
            Models.Message XMLMessage = null;

            DeliverySupport.Models.IMessageModel message = null;

            //_logger.LogInformation($"Checking for message with Time { Time}  and Location { Location}");


            // need to find a better way of doing this
            Task.Run(async() =>
            {
                message = await _messageDataService.GetByTimeLocation(Time, Location);
            }).Wait();


            if (message != null)
            {
                XMLMessage = dataFactory.MakeXMLMessage(message);
                //  _logger.LogInformation($"Receieve Msg with Name {XMLMessage.Name} and Time of {XMLMessage.Time}");
            }

            return(XMLMessage);
        }
コード例 #21
0
        public ActionResult Create(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here
                Models.Message newMessage = new Models.Message
                {
                    sender    = int.Parse(Session["person_id"].ToString()),
                    receiver  = id,
                    message1  = collection["message1"],
                    timestamp = DateTime.Now.ToString(),
                    read      = "Not read"
                };

                db.Messages.Add(newMessage);
                db.SaveChanges();

                return(RedirectToAction("Index", new { id = id }));
            }
            catch
            {
                return(View());
            }
        }
コード例 #22
0
ファイル: MeshLogic.cs プロジェクト: kdanni-bme-dotnet/hw-win
        public void handleChatMessage(string message, string mac_hash)
        {
            if (message == null || mac_hash == null)
                return;

            var peer = Mesh[mac_hash];

            if (peer == null)
                return;

            var messageObject = new Models.Message()
            {
                Chatter = peer.Chatter,
                TextMessage = message,
                Type = MessageType.Public,
                UtcTimestamp = DateTime.UtcNow
            };

            Action addAction = () => ChatViewModel.MessageFlow.Add(messageObject);
            ChatViewModel.InvokeDispatcher(addAction);
        }
コード例 #23
0
        private FirmwareViewModels CreateDashboard_Pack51_52ViewModel(Models.Message deviceMessage_51, Models.Message deviceMessage_52)
        {
            FirmwareViewModels firmwareViewModels = new FirmwareViewModels();

            firmwareViewModels.Pacotes = $"{deviceMessage_51.Data} / {deviceMessage_52.Data}";

            firmwareViewModels.DataCompilacao   = deviceMessage_51.DataCompilacao;
            firmwareViewModels.SerieDispositivo = deviceMessage_51.SerieDispositivo;
            firmwareViewModels.Hardware         = $"{deviceMessage_51.VersaoHardware}.{deviceMessage_51.RevisaoHardware}";
            firmwareViewModels.Firmware         = $"{deviceMessage_51.VersaoFirmware}.{deviceMessage_51.RevisaoFirmware}";

            firmwareViewModels.Proc   = deviceMessage_52.Proc;
            firmwareViewModels.Placa  = deviceMessage_52.Placa;
            firmwareViewModels.VPlaca = deviceMessage_52.VPlaca;
            firmwareViewModels.NAplic = deviceMessage_52.NAplic;

            return(firmwareViewModels);
        }
コード例 #24
0
 private void ShowMessage(Models.Message mess)
 {
     MessageBox.Show(mess.Note, mess.Title);
 }
コード例 #25
0
 // GET api/values/5
 /// <summary>
 /// Accepts a simple integer parameter, which is written back to the
 /// response in the form of a simple message.
 /// </summary>
 /// <param name="id">Integer value that gets returned in the response
 /// message.</param>
 /// <returns>Returns: "This is message #{id}"</returns>
 
 public Models.Message Get(int id)
 {
     var msg = new Models.Message();
     msg.Text = "This is messsage #" + id.ToString();
     return msg;
 }
コード例 #26
0
 public void SendMessage(Models.Message message)
 {
     this.queueHandler.QueueMessage(message);
 }
コード例 #27
0
        public Models.Message[] GetMessages(ISharedPreferences sharedPref, User SelectedFriend, SessionStore sessionStore,
                                            PreKeyStore preKeyStore, SignedPreKeyStore signedPreKeyStore, IdentityKeyStore identityStore, SignalProtocolAddress SelectedFriendAddress)
        {
            // send the server the user name
            // server side does the selection and return the messages and store it in a message array.
            //Send the login username and password to the server and get response
            string apiUrl    = "https://ycandgap.me/api_server2.php";
            string apiMethod = "getMessage";

            //Login_Request has two properties:username and password
            Login_Request myLogin_Request = new Login_Request();

            Models.Message recieveMessage = new Models.Message();

            //get the login username from previow login page.
            recieveMessage.MessageReceiverRegisID = Convert.ToUInt32(sharedPref.GetString("RegistrationId", string.Empty));
            recieveMessage.MessageSenderRegisID   = SelectedFriend.RegisterationID;
            myLogin_Request.message = recieveMessage;
            UserID = myLogin_Request.RegistrationID;


            // make http post request
            string response = Http.Post(apiUrl, new NameValueCollection()
            {
                { "api_method", apiMethod },
                { "api_data", JsonConvert.SerializeObject(myLogin_Request) }
            });

            // decode json string to dto object
            API_Response2 r = JsonConvert.DeserializeObject <API_Response2>(response);

            // check response
            if (r != null)
            {
                if (!r.IsError && !string.IsNullOrEmpty(r.MessageText))
                {
                    SessionCipher sessionCipher = new SessionCipher(sessionStore, preKeyStore, signedPreKeyStore, identityStore, SelectedFriendAddress);
                    byte[]        decipherMessage;
                    if (!sessionStore.ContainsSession(SelectedFriendAddress))
                    {
                        decipherMessage = sessionCipher.decrypt(new PreKeySignalMessage((JsonConvert.DeserializeObject <byte[]>(r.MessageText))));
                    }
                    else
                    {
                        decipherMessage = sessionCipher.decrypt(new SignalMessage((JsonConvert.DeserializeObject <byte[]>(r.MessageText))));
                    }
                    string checkMessage = Encoding.UTF8.GetString(decipherMessage);

                    SelectedFriend.SelectedUserMessages.Add(new Models.Message
                    {
                        MessageID              = r.MessageID,
                        MessageSenderRegisID   = r.MessageSenderRegisID,
                        MessageReceiverRegisID = r.MessageReceiverRegisID,
                        MessageText            = checkMessage,
                        MessageTimestamp       = r.MessageTimestamp
                    });

                    return(SelectedFriend.SelectedUserMessages.ToArray());
                }
                else
                {
                    //if login fails, pop up an alert message. Wrong username or password or a new user
                    AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
                    if (!string.IsNullOrEmpty(r.ErrorMessage))
                    {
                        dialogBuilder.SetMessage(r.ErrorMessage);
                    }
                    else
                    {
                        dialogBuilder.SetMessage("No new messages");
                    }
                    //dialogBuilder.SetPositiveButton("Ok", null);
                    dialogBuilder.Show();
                    return(null);
                }
            }
            else
            {
                if (!sessionStore.ContainsSession(SelectedFriendAddress))
                {
                    // Instantiate a SessionBuilder for a remote recipientId + deviceId tuple.
                    SessionBuilder sessionBuilder = new SessionBuilder(sessionStore, preKeyStore, signedPreKeyStore,
                                                                       identityStore, SelectedFriendAddress);
                    RetrievedPreKey preKeyPublic = RetrieveSelectedFriendPublicPreKey(SelectedFriend);
                    IdentityKey     SelectedFriendSignedPreKey = new IdentityKey(JsonConvert.DeserializeObject <byte[]>(SelectedFriend.SignedPreKey), 0);
                    PreKeyBundle    retrievedPreKey            = new PreKeyBundle(SelectedFriend.RegisterationID, 1, preKeyPublic.PrekeyID, preKeyPublic.PublicPreKey.getPublicKey()
                                                                                  , SelectedFriend.SignedPreKeyID, SelectedFriendSignedPreKey.getPublicKey(), JsonConvert.DeserializeObject <byte[]>(SelectedFriend.SignedPreKeySignature)
                                                                                  , new IdentityKey(JsonConvert.DeserializeObject <byte[]>(SelectedFriend.IdentityKey), 0));
                    // Build a session with a PreKey retrieved from the server.
                    sessionBuilder.process(retrievedPreKey);
                }
                return(null);
            }
        }
コード例 #28
0
 public void Handled(Models.Message message)
 {
 }
コード例 #29
0
        /// <summary>
        /// Sends an SMS from a Flowroute long code or toll-free phone number to another valid phone number.
        /// </summary>
        /// <param name="body">Required parameter: The SMS or MMS message to send.</param>
        /// <return>Returns the string response from the API call</return>
        public async Task <string> CreateSendAMessageAsync(Models.Message body)
        {
            //the base uri for api requests
            string _baseUri = Configuration.BaseUri;

            //prepare query string for API call
            StringBuilder _queryBuilder = new StringBuilder(_baseUri);

            _queryBuilder.Append("/v2.1/messages");


            //validate and preprocess url
            string _queryUrl = APIHelper.CleanUrl(_queryBuilder);

            //append request with appropriate headers and parameters
            var _headers = new Dictionary <string, string>()
            {
                { "user-agent", "Flowroute SDK v3.0" },
                { "content-type", "application/vnd.api+json" }
            };

            //append body params
            var _body = APIHelper.JsonSerialize(body);

            Console.WriteLine("Body is : {0} ", _body);

            //prepare the API call request to fetch the response
            HttpRequest _request = ClientInstance.PostBody(_queryUrl, _headers, _body, Configuration.BasicAuthUserName, Configuration.BasicAuthPassword);

            //invoke request and get response
            HttpStringResponse _response = (HttpStringResponse)await ClientInstance.ExecuteAsStringAsync(_request).ConfigureAwait(false);

            HttpContext _context = new HttpContext(_request, _response);

            //Error handling using HTTP status codes
            if (_response.StatusCode == 401)
            {
                throw new ErrorException(@"Unauthorized – There was an issue with your API credentials.", _context);
            }

            if (_response.StatusCode == 403)
            {
                throw new ErrorException(@"Forbidden – You don't have permission to access this resource.", _context);
            }

            if (_response.StatusCode == 404)
            {
                throw new ErrorException(@"The specified resource was not found", _context);
            }

            if (_response.StatusCode == 422)
            {
                throw new ErrorException(@"Unprocessable Entity - You tried to enter an incorrect value.", _context);
            }

            //handle errors defined at the API level
            base.ValidateResponse(_response, _context);

            try
            {
                return(_response.Body);
            }
            catch (Exception _ex)
            {
                throw new APIException("Failed to parse the response: " + _ex.Message, _context);
            }
        }
コード例 #30
0
 public override string Encode(Models.Message message)
 {
     return(String.Empty);
 }
コード例 #31
0
        // Implement SendMessage method
        public async Task <Models.Message> SendMessage(Models.Message message)
        {
            await Sleep();

            return(message);
        }
コード例 #32
0
 public void Post([FromBody] Models.Message message)
 {
     messageRepository.Insert(message);
 }
コード例 #33
0
        public ChatPageViewModel()
        {
            MessageAppearingCommand    = new Command <Models.Message>(OnMessageAppearing);
            MessageDisappearingCommand = new Command <Models.Message>(OnMessageDisappearing);

            if (!Storage.IsChatBot)
            {
                ResultObj result = MessageLog.GetMessages(Storage.User.Id, Storage.Friend.Id);
                if (result.Messages != null)
                {
                    foreach (Message message in result.Messages)
                    {
                        Messages.Insert(0, new Models.Message()
                        {
                            User = message.Id,
                            Text = message.Text,
                            Time = message.Time.ToLongTimeString(),
                            Date = message.Time.ToLongDateString()
                        });
                    }
                }

                OnSendCommand = new Command(() =>
                {
                    if (!string.IsNullOrEmpty(TextToSend))
                    {
                        MessageLog.Add(Storage.User.Id, Storage.Friend.Id, TextToSend.Trim());
                        TextToSend = string.Empty;
                    }
                });

                Device.StartTimer(TimeSpan.FromSeconds(1), () =>
                {
                    result = MessageLog.GetMessages(Storage.User.Id, Storage.Friend.Id);
                    if (result.Messages != null)
                    {
                        if (result.Messages.Count > Messages.Count)
                        {
                            for (int i = Messages.Count; i < result.Messages.Count; i++)
                            {
                                Models.Message message = new Models.Message()
                                {
                                    User = result.Messages[i].Id,
                                    Text = result.Messages[i].Text,
                                    Time = result.Messages[i].Time.ToLongTimeString(),
                                    Date = result.Messages[i].Time.ToLongDateString()
                                };
                                if (LastMessageVisible)
                                {
                                    Messages.Insert(0, message);
                                }
                                else
                                {
                                    DelayedMessages.Enqueue(message);
                                    PendingMessageCount++;
                                }
                            }
                        }
                    }
                    return(Storage.IsChatNow);
                });
            }
            else
            {
                OnSendCommand = new Command(() =>
                {
                    if (!string.IsNullOrEmpty(TextToSend))
                    {
                        Messages.Insert(0, new Models.Message()
                        {
                            Text = TextToSend,
                            User = Storage.User.Id,
                            Date = DateTime.Now.ToLongDateString(),
                            Time = DateTime.Now.ToLongTimeString()
                        });
                        TextToSend = string.Empty;
                    }
                });

                //Code to simulate reveing a new message procces
                Device.StartTimer(TimeSpan.FromSeconds(3), () =>
                {
                    if (LastMessageVisible)
                    {
                        Messages.Insert(0, new Models.Message()
                        {
                            Text = mes[random.Next(mes.Length)],
                            User = -1,
                            Date = DateTime.Now.ToLongDateString(),
                            Time = DateTime.Now.ToLongTimeString()
                        });
                    }
                    else
                    {
                        DelayedMessages.Enqueue(new Models.Message()
                        {
                            Text = mes[random.Next(mes.Length)],
                            User = -1,
                            Date = DateTime.Now.ToLongDateString(),
                            Time = DateTime.Now.ToLongTimeString()
                        });
                        PendingMessageCount++;
                    }
                    return(true);
                });
            }
        }
コード例 #34
0
        void SignalR_NewMessageReceived(object sender, Models.Message message)
        {
            string msg = $"{message.Name} ({message.TimeReceived}) - {message.Text}";

            AddMessage(msg);
        }
コード例 #35
0
        protected override void OnCreate(Bundle bundle)
        {
            // Getting saved data
            ISharedPreferences sharedPref = PreferenceManager.GetDefaultSharedPreferences(this);
            User SelectedFriend           = JsonConvert.DeserializeObject <User>(sharedPref.GetString("SelectedFriend", string.Empty));
            List <Models.Message> SelectedFriendMessageList = new List <Models.Message>();

            SelectedFriendMessageList = JsonConvert.DeserializeObject <List <Models.Message> >(sharedPref.GetString("SelectedFriendMessageList", string.Empty));
            foreach (Models.Message m in SelectedFriendMessageList)
            {
                SelectedFriend.SelectedUserMessages.Add(m);
            }
            InMemorySessionStore sessionStore = JsonConvert.DeserializeObject <InMemorySessionStore>(sharedPref.GetString("SessionStore", string.Empty));
            var allSessions = JsonConvert.DeserializeObject <List <Session> >(sharedPref.GetString("AllSessions", string.Empty));

            foreach (Session item in allSessions)
            {
                sessionStore.StoreSession(item.Name, item.DeviceID, item.array);
            }
            PreKeyStore              preKeyStore       = JsonConvert.DeserializeObject <InMemoryPreKeyStore>(sharedPref.GetString("PreKeyStore", string.Empty));
            SignedPreKeyStore        signedPreKeyStore = JsonConvert.DeserializeObject <InMemorySignedPreKeyStore>(sharedPref.GetString("SignedPreKeyStore", string.Empty));
            InMemoryIdentityKeyStore identityStore     = JsonConvert.DeserializeObject <InMemoryIdentityKeyStore>(sharedPref.GetString("IdentityStore", string.Empty));
            IdentityKeyPair          KeyPair           = new IdentityKeyPair(JsonConvert.DeserializeObject <byte[]>(sharedPref.GetString("IdentityKeyPair", string.Empty)));
            uint RegistrationID = Convert.ToUInt32(sharedPref.GetString("RegistrationId", string.Empty));

            identityStore.PutValues(KeyPair, RegistrationID);
            var allTrustedKeys = JsonConvert.DeserializeObject <List <TrustedKey> >(sharedPref.GetString("AllTrustedKeys", string.Empty));

            foreach (TrustedKey item in allTrustedKeys)
            {
                identityStore.SaveIdentity(item.Name, new IdentityKey(item.Identity, 0));
            }
            SignalProtocolAddress SelectedFriendAddress = new SignalProtocolAddress(SelectedFriend.RegisterationID.ToString(), 1);

            // Get the messages from the server
            base.OnCreate(bundle);
            TheirMessages = GetMessages(sharedPref, SelectedFriend, sessionStore, preKeyStore, signedPreKeyStore, identityStore, SelectedFriendAddress);
            // Set our view from the "ChatList" layout resource
            Title = SelectedFriend.Username;
            SetContentView(Resource.Layout.Message);
            listView = FindViewById <ListView>(Resource.Id.messageList);
            //***display FriendsListItem in ListView using Adapter
            listView.Adapter = adapter = new Adapter(this, TheirMessages, UserID);
            messageText      = FindViewById <EditText>(Resource.Id.messageText);
            sendButton       = FindViewById <Button>(Resource.Id.sendButton);

            // **implement messages sending and receiving here
            //listView.Adapter = adapter = new Adapter(this);

            sendButton.Click += (sender, e) =>
            {
                SessionCipher     sessionCipher = new SessionCipher(sessionStore, preKeyStore, signedPreKeyStore, identityStore, SelectedFriendAddress);
                CiphertextMessage cipherMessage = sessionCipher.encrypt(Encoding.UTF8.GetBytes(messageText.Text));
                SelectedFriend.SelectedUserMessages.Add(new Models.Message()
                {
                    MessageID = 1,
                    MessageReceiverRegisID = SelectedFriend.RegisterationID,
                    MessageSenderRegisID   = RegistrationID,
                    MessageText            = messageText.Text,
                    MessageTimestamp       = DateTime.Now
                });

                // Save stores in local Database
                ISharedPreferences       sharedprefs = PreferenceManager.GetDefaultSharedPreferences(this);
                ISharedPreferencesEditor editor      = sharedprefs.Edit();
                SelectedFriendMessageList.Clear();
                foreach (Models.Message m in SelectedFriend.SelectedUserMessages)
                {
                    SelectedFriendMessageList.Add(m);
                }
                editor.PutString("SelectedFriendMessageList", JsonConvert.SerializeObject(SelectedFriendMessageList));
                editor.PutString("SelectedFriend", JsonConvert.SerializeObject(SelectedFriend));
                editor.PutString("PreKeyStore", JsonConvert.SerializeObject(preKeyStore));
                editor.PutString("SignedPreKeyStore", JsonConvert.SerializeObject(signedPreKeyStore));
                List <Session> AllSessions = sessionStore.GetAllSessions();
                editor.PutString("AllSessions", JsonConvert.SerializeObject(AllSessions));
                editor.PutString("SessionStore", JsonConvert.SerializeObject(sessionStore));
                editor.PutString("IdentityStore", JsonConvert.SerializeObject(identityStore));
                List <TrustedKey> AllTrustedKeys = identityStore.GetAllTrustedKeys();
                editor.PutString("AllTrustedKeys", JsonConvert.SerializeObject(AllTrustedKeys));
                editor.Apply();

                Models.Message message = new Models.Message();
                message.MessageID = 4;
                message.MessageReceiverRegisID = SelectedFriend.RegisterationID;
                message.MessageSenderRegisID   = Convert.ToUInt32(sharedPref.GetString("RegistrationId", string.Empty));
                message.MessageText            = JsonConvert.SerializeObject(cipherMessage.serialize());
                message.MessageTimestamp       = DateTime.Now;

                //  call SendMessage() to send the
                SendMessage(message);
                //  *display the messages in user's own screen using adapter (always display in MyMessageListItem).
                adapter.NotifyDataSetInvalidated();
                listView.SetSelection(adapter.Count);
            };
        }
コード例 #36
0
 public IActionResult Index()
 {
     Models.Message message = new Models.Message("Lorem ipsum dolor sit amet, nec stet rebum offendit ne, ius te nullam postulant. Mel meliore deserunt ne, mei id nullam impetus, porro iracundia temporibus pro in. Sed an eruditi recusabo euripidis, ad nusquam percipitur eam.");
     return(View("index", message));
 }