예제 #1
0
        public DBMessage NaxamAutoMessage()
        {
            Random rd = new Random();

            DBMessage message = new DBMessage
            {
                chatId            = "RCMessageKit",
                objectId          = "Naxam" + rd.Next(999999),
                senderId          = "Naxam",
                senderName        = "Naxam",
                senderInitials    = "Naxam",
                senderPicture     = "NaxamAvatar.png",
                recipientId       = "Me",
                recipientName     = "Me",
                recipientInitials = "Me",
                recipientPicture  = "UserAvatar.png",
                type      = "text",
                text      = write[rd.Next(0, 100) % write.Length],
                status    = "New",
                createdAt = DateTime.Now.Ticks,
                updatedAt = DateTime.Now.Ticks
            };

            return(message);
        }
예제 #2
0
        public DBMessage UserMessage(string m_type, string m_text, string m_imagePath)
        {
            Random rd = new Random();

            DBMessage message = new DBMessage
            {
                chatId            = "RCMessageKit",
                objectId          = "Me" + rd.Next(999999),
                senderId          = "Me",
                senderName        = "Me",
                senderInitials    = "Me",
                senderPicture     = "UserAvatar.png",
                recipientId       = "Naxam",
                recipientName     = "Naxam",
                recipientInitials = "Naxam",
                recipientPicture  = "NaxamAvatar.png",
                type           = m_type,
                text           = m_text != null ? m_text : "",
                picture        = m_imagePath,
                picture_width  = 320,
                picture_height = 210,
                video_path     = "http://techslides.com/demos/sample-videos/small.mp4",
                video_image    = UIImage.FromFile("ImageVideo.jpg"),
                video_duration = 5000,
                latitude       = 21.0040095,
                longitude      = 105.8476571,
                status         = "New",
                createdAt      = DateTime.Now.Ticks,
                updatedAt      = DateTime.Now.Ticks
            };

            return(message);
        }
예제 #3
0
        public override void visit(DBMessage obj, bool visitSubNodes)
        {
            obj.setMessageOrder(0);
            obj.setMessageType(acceptor.DBMessageType.aEUROBALISE);

            base.visit(obj, visitSubNodes);
        }
예제 #4
0
        public DBMessage[] Start()
        {
            List <DBMessage> lst = new List <DBMessage>();

            DBMessage message = NaxamAutoMessage();

            lst.Add(message);
            return(lst.ToArray());
        }
예제 #5
0
    private void fillMessage()
    {
        string    Error  = "";
        DBMessage msgObj = new DBMessage();
        DataTable table  = msgObj.getAllMessage(ref Error);

        GridViewMessage.DataSource = table;
        GridViewMessage.DataBind();
    }
예제 #6
0
        public override RCMessage Rcmessage(NSIndexPath indexPath)
        {
            DBMessage dbmessage = MyDBMessage(indexPath);

            string messageId = dbmessage.objectId;

            System.Diagnostics.Debug.WriteLine($"{indexPath.Section}: {messageId}");
            if (rcmessages[messageId] == null)
            {
                RCMessage rcmessage = new RCMessage();

                bool incoming = dbmessage.senderId.Equals("Naxam");

                if (dbmessage.type.Equals("text"))
                {
                    rcmessage = new RCMessage(dbmessage.text, incoming);
                }

                if (dbmessage.type.Equals("picture"))
                {
                    NSUrl myUrl = new NSUrl(dbmessage.picture);

                    rcmessage        = new RCMessage(null, dbmessage.picture_width, dbmessage.picture_height, incoming);
                    rcmessage.Status = (int)MessageStatus.Succeed;

                    NSUrlSession.SharedSession.CreateDataTaskAsync(myUrl)
                    .ContinueWith(t =>
                    {
                        if (t.IsFaulted)
                        {
                            return;
                        }

                        rcmessage.Picture_image = UIImage.LoadFromData(t.Result.Data);
                    });
                }

                if (dbmessage.type.Equals("video"))
                {
                    rcmessage = new RCMessage(dbmessage.video_path, dbmessage.video_duration, incoming);
                    rcmessage.Video_thumbnail = dbmessage.video_image;
                    rcmessage.Status          = (int)MessageStatus.Succeed;
                }

                if (dbmessage.type.Equals("location"))
                {
                    rcmessage = new RCMessage(dbmessage.latitude, dbmessage.longitude, incoming, HandleAction);
                }

                rcmessages[messageId] = rcmessage;
            }

            return((RCMessage)rcmessages[messageId]);
        }
예제 #7
0
        public override string TextSectionHeader(NSIndexPath indexPath)
        {
            if (indexPath.Section % 3 == 0)
            {
                DBMessage dbmessage = MyDBMessage(indexPath);
                DateTime  date      = new DateTime(dbmessage.createdAt);
                return(date.ToString("g"));
            }

            return(null);
        }
예제 #8
0
        public override string TextSectionFooter(NSIndexPath indexPath)
        {
            RCMessage rcmessage = Rcmessage(indexPath);

            if (rcmessage.Outgoing)
            {
                DBMessage dbmessage = MyDBMessage(indexPath);
                return((dbmessage.createdAt > lastRead) ? dbmessage.status : "Read");
            }

            return(null);
        }
예제 #9
0
        internal static Message FromDBRecord(DBMessage dbMsg)
        {
            var result = new Message();

            result.Timestamp = DateTime.FromBinary(dbMsg.timestamp);
            result.Text      = dbMsg.msg_text;
            result.Status    = (MessageStatus)dbMsg.flags;

            result.Sender   = dbMsg.sender;
            result.Receiver = dbMsg.receiver;

            return(result);
        }
예제 #10
0
        internal DBMessage ToDBRecord()
        {
            var result = new DBMessage();

            result.timestamp = Timestamp.ToBinary();
            result.msg_text  = Text;
            result.flags     = (int)Status;

            result.sender   = Sender;
            result.receiver = Receiver;

            return(result);
        }
예제 #11
0
        public override UIImage AvatarImage(NSIndexPath indexPath)
        {
            DBMessage dbmessage = MyDBMessage(indexPath);

            UIImage imgAvatar = new UIImage();

            if (avatarImages[dbmessage.senderId] == null)
            {
                imgAvatar = UIImage.FromFile(dbmessage.senderPicture);
            }

            return(imgAvatar);
        }
예제 #12
0
    protected void ButtonDelete_Click(object sender, EventArgs e)
    {
        int       MessageID = Convert.ToInt32(Session["MessageID"]);
        string    Error     = "";
        DBMessage msgObj    = new DBMessage();

        msgObj.deleteMessage(MessageID, ref Error);
        if (Error != "")
        {
            Response.Write(Error);
        }
        else
        {
            Response.Redirect("~/Admin/AdminInquiry.aspx");
        }
    }
예제 #13
0
    protected void GridViewMessage_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int       MessageID = Int32.Parse(GridViewMessage.DataKeys[e.RowIndex].Value.ToString());
        string    Error     = "";
        DBMessage msgObj    = new DBMessage();

        msgObj.deleteMessage(MessageID, ref Error);
        if (Error != "")
        {
            Response.Write(Error);
        }
        else
        {
            fillMessage();
        }
    }
예제 #14
0
    protected void ButtonSend_Click(object sender, EventArgs e)
    {
        int       HotelId = Convert.ToInt32(Session["HotelID"]);
        string    Error   = "";
        DBMessage msgObj  = new DBMessage();

        msgObj.addMessage(HotelId, TextBoxName.Text, TextBoxEmail.Text, TextBoxPhone.Text, TextBoxMessage.Text, ref Error);
        if (Error != "")
        {
            Response.Write(Error);
        }
        else
        {
            Response.Redirect("~/DisplayHotel.aspx");
        }
    }
예제 #15
0
        public override void ActionTapBubble(NSIndexPath indexPath)
        {
            DBMessage dbmessage = MyDBMessage(indexPath);
            RCMessage rcmessage = Rcmessage(indexPath);

            if (rcmessage.Type == (int)MessageType.Picture)
            {
                var storyboard = UIStoryboard.FromName("Main", NSBundle.MainBundle).InstantiateViewController("PictureView") as PictureView;
                storyboard.pathImage = rcmessage.Picture_image;
                this.NavigationController.PushViewController(storyboard, true);
            }

            if (rcmessage.Type == (int)MessageType.Video)
            {
                var storyboard = UIStoryboard.FromName("Main", NSBundle.MainBundle).InstantiateViewController("VideoView") as VideoView;
                storyboard.pathVideo = rcmessage.Video_path;
                this.NavigationController.PushViewController(storyboard, true);
            }
        }
예제 #16
0
    private void fillMessage()
    {
        int       MessageID = Convert.ToInt32(Session["MessageID"]);
        string    Error     = "";
        DBMessage msgObj    = new DBMessage();
        DataTable table     = msgObj.getMessageData(MessageID, ref Error);

        if (Error != "")
        {
            Response.Write(Error);
        }
        else
        {
            DataRow row = table.Rows[0];
            TextBoxName.Text      = row["SenderName"].ToString();
            TextBoxPhone.Text     = row["SenderPhone"].ToString();
            TextBoxMessage.Text   = row["Message"].ToString();
            TextBoxEmail.Text     = row["SenderEmail"].ToString();
            TextBoxHotelName.Text = row["HotelName"].ToString();
        }
    }
예제 #17
0
 public void OnMessage(DBMessage m) => Message?.Invoke(this, m);
예제 #18
0
        public override string AvatarInitials(NSIndexPath indexPath)
        {
            DBMessage dbmessage = MyDBMessage(indexPath);

            return(dbmessage.senderInitials);
        }
예제 #19
0
 /// <summary>
 ///     Merges two DBmessages
 /// </summary>
 /// <param name="other"></param>
 public void Merge(DBMessage other)
 {
     if (getMessageOrder() == other.getMessageOrder() && getMessageType() == other.getMessageType())
     {
         setGuid(other.getGuid());
         int cnt = 0;
         foreach (DBField field in Fields)
         {
             if (cnt < other.Fields.Count)
             {
                 field.Merge((DBField) other.Fields[cnt]);
             }
             cnt = cnt + 1;
         }
     }
 }