public JsonResult sendmessage([FromBody] sendmessage message, string sessionid)
        {
            try
            {
                if (!string.IsNullOrEmpty(sessionid) && message != null)
                {
                    Patient lpatient = IPatient.GetPatientBySessionID(sessionid);
                    User    luser    = lIUserRepository.getUser(message.message.UserId);
                    if (lpatient != null)
                    {
                        if (luser != null)
                        {
                            if (((message.message.UserType == ConstantsVar.PatientAdministrator && lpatient.Paid == message.message.UserId) || (message.message.UserType == ConstantsVar.Therapist && lpatient.Therapistid == message.message.UserId) || (message.message.UserType == ConstantsVar.Provider && lpatient.ProviderId == message.message.UserId) || message.message.UserType == ConstantsVar.Support))
                            {
                                DateTime mdatetime = Convert.ToDateTime(Utilities.ConverTimetoServerTimeZone(Convert.ToDateTime(message.message.Datetime), message.timezoneOffset));
                                Messages lmessage  = MessageExtension.MessageViewToMessage(message.message);
                                lmessage.PatientId = lpatient.PatientLoginId;
                                lmessage.Datetime  = mdatetime;
                                int res = lIMessageRepository.InsertMessage(lmessage);
                                if (res > 0)
                                {
                                    string content = "Patient has sent a message.<br><a href='" + ConfigVars.NewInstance.url + "?ruserid=" + Utilities.EncryptText(luser.UserId) + "&rtype=" + Utilities.EncryptText(luser.Type.ToString()) + "&rpage=" + Utilities.EncryptText("meg") + "'> Click to view</a>";
                                    Smtp.SendGridEmail(luser.Email, "Messages", content);
                                    return(Json(new { Status = (int)HttpStatusCode.OK, result = "success", MessageHeaderID = lmessage.MsgHeaderId }));
                                }
                                else
                                {
                                    return(Json(new { Status = (int)HttpStatusCode.OK, result = "not inserted" }));
                                }
                            }
                            else
                            {
                                return(Json(new { Status = (int)HttpStatusCode.Forbidden, result = "patient and user is not mapping", TimeZone = DateTime.UtcNow.ToString("s") }));
                            }
                        }
                        else
                        {
                            return(Json(new { Status = (int)HttpStatusCode.Forbidden, result = "user is not configured", TimeZone = DateTime.UtcNow.ToString("s") }));
                        }
                    }
                    else
                    {
                        return(Json(new { Status = (int)HttpStatusCode.Forbidden, result = "patient is not configured", TimeZone = DateTime.UtcNow.ToString("s") }));
                    }
                }
                else
                {
                    return(Json(new { Status = (int)HttpStatusCode.Forbidden, result = "input is not valid", TimeZone = DateTime.UtcNow.ToString("s") }));
                }
            }
            catch (Exception ex)
            {
                logger.LogDebug("Get Rx Error: " + ex);

                return(Json(new { Status = (int)HttpStatusCode.InternalServerError, result = "getting messages failed" }));
            }
        }
Example #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            var o = new sendmessage
            {
                // we should show our primary name
                // first name is the primary for now
                myname = this.webServerComponent1.Configuration[0].Locals[0].Name,
                // how do we know what IP are we on?
                ip = "0.0.0.0",
                // the message is clear to us atleast
                message = this.textBox4.Text,
            };

            this.textBox4.Text = "";

            AddTextMessageAndUpdate(o);

            this.outgoingMessages1.SendCommand(
                this.textBox3.Text.ToMessageFromArray(),
                o
                );
        }
Example #3
0
        async void clicked(object sender, EventArgs e)
        {
            string           uniqueCode = "";
            List <MockUsers> mockDetailsDB;
            HttpClient       client = new HttpClient();

            client.BaseAddress = new Uri("https://myrez.herokuapp.com/");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            //GET Method
            HttpResponseMessage response = await client.GetAsync("mockUsers");

            if (response.IsSuccessStatusCode)
            {
                mockDetailsDB = await response.Content.ReadAsAsync <List <MockUsers> >();
            }
            else
            {
                mockDetailsDB = null;
                Console.WriteLine("Internal server Error");
            }

            for (int i = 0; i < mockDetailsDB.Count; i++)
            {
                if (string.Equals("+1" + mockDetailsDB[i].phone, "+12084062637"))
                {
                    uniqueCode = mockDetailsDB[i].uniqueID;
                    sendmessage sendmessage = new sendmessage(mockDetailsDB[i].uniqueID);
                }
            }
            if ((code.Text.ToLower()).Equals(uniqueCode))
            {
                Application.Current.Properties["IsLoggedIn"] = true;
                await Application.Current.SavePropertiesAsync();

                Application.Current.MainPage = new NavigationPage(new MenuPageAdmin());
            }
        }
Example #4
0
 private void AddTextMessageAndUpdate(sendmessage e)
 {
     this.History.AppendLine(e.myname + " said: " + e.message);
     this.UpdateText();
 }
Example #5
0
        public void PollerGotDataLine(string path, string myname)
        {
            var sendname    = new sendname();
            var findname    = new findname();
            var asknames    = new asknames();
            var sendmessage = new sendmessage();


            findname.BeforeInvoke =
                delegate
            {
                // let the discovery service know
                // that somebody wants that name


                // if we do we should let the poor sap know about it!

                if (findname.name == this.Nickname)
                {
                    if (findname.myname == this.Pseudoname)
                    {
                        // we swallow our own question!
                    }
                    else
                    {
                        this.AppendTextLine(findname.name + " is registered to me!");

                        ahmanize(
                            new ChatRequest.Requests.sendname(
                                // to whom?
                                findname.myname,
                                // from whom?
                                Nickname,
                                // name we know about
                                Nickname,
                                "0"
                                )
                            );
                    }

                    return;
                }

                var r = default(FriendStatus);
                foreach (FriendStatus item in this.FriendStatusList)
                {
                    if (item.Name == sendmessage.myname)
                    {
                        r = item;
                    }
                }
                if (r != null)
                {
                    if (r.IsOnline)
                    {
                        this.AppendTextLine(findname.name + " is registered to a friend!");

                        ahmanize(
                            new ChatRequest.Requests.sendname(
                                // to whom?
                                findname.myname,
                                // from whom?
                                r.Name,
                                // name we know about
                                r.Name,
                                "0"
                                )
                            );
                    }
                }
            };

            sendname.BeforeInvoke =
                delegate
            {
                if (sendname.name == Nickname)
                {
                    this.AppendTextLine("*** Nickname " + Nickname + " already taken! Better luck next time!");
                    this.RegistrationTimeout.Enabled = false;
                    this.Poller.Enabled = false;
                    return;
                }
            };

            sendmessage.BeforeInvoke =
                delegate
            {
                EncodedMessage m = sendmessage.message;

                m.Sender = sendmessage.myname;

                if (m.Message == Message_SeeYouLater)
                {
                    this.AppendTextLine("*** " + m.Sender + " has left the chat!");

                    var r = default(FriendStatus);
                    foreach (FriendStatus item in this.FriendStatusList)
                    {
                        if (item.Name == sendmessage.myname)
                        {
                            r = item;
                        }
                    }
                    if (r != null)
                    {
                        this.FriendStatusList.Remove(r);
                    }

                    return;
                }

                if (m.Message == Message_Ping)
                {
                    var x = new EncodedMessage {
                        Message = Message_Pong
                    };

                    ahmanize(
                        new ChatRequest.Requests.sendmessage(
                            sendmessage.myname,
                            Nickname,
                            "0",
                            x.ToString(),
                            "100"
                            )
                        );

                    var r = default(FriendStatus);
                    foreach (FriendStatus item in this.FriendStatusList)
                    {
                        if (item.Name == sendmessage.myname)
                        {
                            r = item;
                        }
                    }
                    if (r == null)
                    {
                        this.FriendStatusList.Add(new FriendStatus {
                            Name = sendmessage.myname
                        });
                    }

                    return;
                }

                if (m.Message == Message_Pong)
                {
                    foreach (FriendStatus item in this.FriendStatusList)
                    {
                        if (item.Name == sendmessage.myname)
                        {
                            item.LastSeen = DateTime.Now.Ticks;
                        }
                    }
                    return;
                }

                if (m.Message == Message_Catchup)
                {
                    this.AppendTextLine("*** " + m.Sender + " wants to catch up...");

                    foreach (EncodedMessage mm in this.Messages)
                    {
                        var xx = new EncodedMessage {
                            Time = mm.Time, Sender = Nickname, Message = mm.Sender + " said " + mm.Message
                        };

                        BroadcastMessage(xx, new[] { m.Sender });
                    }

                    return;
                }

                AppendMessage(m);
            };

            path.Chop("/chat").GetArguments().AsParametersTo(
                sendname.Invoke,
                findname.Invoke,
                asknames.Invoke,
                sendmessage.Invoke
                );
        }