Ejemplo n.º 1
0
        public async Task <List <PrivateMessageEntity> > GetPrivateMessages(int page)
        {
            var privateMessageEntities = new List <PrivateMessageEntity>();
            var url = Constants.PRIVATE_MESSAGES;

            if (page > 0)
            {
                url = Constants.PRIVATE_MESSAGES + string.Format(Constants.PAGE_NUMBER, page);
            }

            HtmlDocument doc = (await _webManager.GetData(url)).Document;

            HtmlNode forumNode =
                doc.DocumentNode.Descendants("tbody").FirstOrDefault();


            foreach (
                HtmlNode threadNode in
                forumNode.Descendants("tr"))
            {
                var threadEntity = new PrivateMessageEntity();
                threadEntity.Parse(threadNode);
                privateMessageEntities.Add(threadEntity);
            }
            return(privateMessageEntities);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Populates the page with content passed during navigation. Any saved state is also
        /// provided when recreating a page from a prior session.
        /// </summary>
        /// <param name="sender">
        /// The source of the event; typically <see cref="NavigationHelper"/>
        /// </param>
        /// <param name="e">Event data that provides both the navigation parameter passed to
        /// <see cref="Frame.Navigate(Type, Object)"/> when this page was initially requested and
        /// a dictionary of state preserved by this page during an earlier
        /// session. The state will be null the first time a page is visited.</param>
        private async void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
        {
            var stringJson = (String)e.NavigationParameter;

            _privateMessageEntity = JsonConvert.DeserializeObject <PrivateMessageEntity>(stringJson);
            PrivateMessageWebView.NavigateToString(await _privateMessageManager.GetPrivateMessageHtml(_privateMessageEntity.MessageUrl));
        }
 private void Thread_OnClick(object sender, ItemClickEventArgs e)
 {
     var clickedItem = (PrivateMessageEntity)e.ClickedItem;
     _lastSelectedItem = clickedItem;
     Locator.ViewModels.PrivateMessageVm.NavigateToPrivateMessagePageCommand.Execute(e);
     if (AdaptiveStates.CurrentState == NarrowState)
     {
         // Use "drill in" transition for navigating from master list to detail view
         App.RootFrame.Navigate(typeof(PrivateMessagePage), null, new DrillInNavigationTransitionInfo());
     }
     else
     {
         // Play a refresh animation when the user switches detail items.
         //EnableContentTransitions();
     }
 }
        private void Thread_OnClick(object sender, ItemClickEventArgs e)
        {
            var clickedItem = (PrivateMessageEntity)e.ClickedItem;

            _lastSelectedItem = clickedItem;
            Locator.ViewModels.PrivateMessageVm.NavigateToPrivateMessagePageCommand.Execute(e);
            if (AdaptiveStates.CurrentState == NarrowState)
            {
                // Use "drill in" transition for navigating from master list to detail view
                App.RootFrame.Navigate(typeof(PrivateMessagePage), null, new DrillInNavigationTransitionInfo());
            }
            else
            {
                // Play a refresh animation when the user switches detail items.
                //EnableContentTransitions();
            }
        }
        public async Task AddMessageAsync(ChatMessage chatMessage)
        {
            var chat = await _messageEntityRepository.Query().FirstOrDefaultAsync(r => r.PrivatChatId == chatMessage.ChatID);

            if (chat.Equals(null))
            {
                var newMessage = new PrivateMessageEntity
                {
                    PrivatChatId = new Guid(),
                    Content      = chatMessage.Message,
                    PrivateChat  = new PrivateChatEntity
                    {
                        FirstUserInfoId  = new Guid(chatMessage.FirstUserId),
                        SecondUserInfoId = new Guid(chatMessage.SecondUserId)
                    },
                };
                await _messageEntityRepository.InsertAsync(newMessage);
            }

            chat.Content = chatMessage.Message;

            await _messageEntityRepository.InsertAsync(chat);
        }
Ejemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!HttpContext.Current.User.Identity.IsAuthenticated)
            {
                FormsAuthentication.RedirectToLoginPage();
            }

            var userId = Request.Cookies["SmacCookie"]["UserId"];

            this.userRole.Value    = Database.Helpers.GetUserRole(userId).ToString();
            this.newMessages.Value = PrivateMessageEntity.CheckForNewMessages(userId).ToString();


            if (Session["UpdateCookie"] != null && Session["UpdateCookie"].ToString() == "yes")
            {
                FormsAuthenticationTicket tkt;
                string     cookiestr;
                HttpCookie ck;
                tkt       = new FormsAuthenticationTicket(1, Session["UserName"].ToString(), DateTime.Now, DateTime.Now.AddMinutes(60), false, "");
                cookiestr = FormsAuthentication.Encrypt(tkt);
                ck        = new HttpCookie("SmacCookie", cookiestr);


                StringBuilder sb = new StringBuilder();

                var genders = GenderEntity.GetGenders();

                genders.ForEach(t => sb.Append(t.GenderType.ToString() + ":"));
                sb.Remove(sb.Length - 1, 1);

                ck.Values.Add("UserId", Session["UserId"].ToString());
                ck.Values.Add("FirstName", Session["FirstName"].ToString());
                ck.Values.Add("MiddleName", Session["MiddleName"].ToString());
                ck.Values.Add("LastName", Session["LastName"].ToString());
                ck.Values.Add("PhoneNumber", Session["PhoneNumber"].ToString());
                ck.Values.Add("Email", Session["Email"].ToString());
                ck.Values.Add("UserName", Session["UserName"].ToString());
                ck.Values.Add("Gender", Session["Gender"].ToString());
                ck.Values.Add("SchoolName", Session["SchoolName"].ToString());
                ck.Values.Add("SchoolId", Session["SchoolId"].ToString());
                ck.Values.Add("Genders", sb.ToString());

                Response.Cookies.Add(ck);
                Session["UpdateCookie"] = "no";
            }
            else
            {
                Session["UserId"]      = Request.Cookies["SmacCookie"]["UserId"];
                Session["FirstName"]   = Request.Cookies["SmacCookie"]["FirstName"];
                Session["MiddleName"]  = Request.Cookies["SmacCookie"]["MiddleName"];
                Session["LastName"]    = Request.Cookies["SmacCookie"]["LastName"];
                Session["PhoneNumber"] = Request.Cookies["SmacCookie"]["PhoneNumber"];
                Session["Email"]       = Request.Cookies["SmacCookie"]["Email"];
                Session["UserName"]    = Request.Cookies["SmacCookie"]["UserName"];
                Session["Gender"]      = Request.Cookies["SmacCookie"]["Gender"];
                Session["SchoolName"]  = Request.Cookies["SmacCookie"]["SchoolName"];
                Session["SchoolId"]    = Request.Cookies["SmacCookie"]["SchoolId"];
                Session["Genders"]     = Request.Cookies["SmacCookie"]["Genders"];

                if (Session["SchoolName"] != null)
                {
                    schoolBanner.Visible   = true;
                    schoolBanner.InnerHtml = Request.Cookies["SmacCookie"]["SchoolName"];
                }
            }
        }
Ejemplo n.º 7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            var userId = Request.Cookies["SmacCookie"]["UserId"];

            if (!IsPostBack)
            {
                if (Request.QueryString["msgId"] == null)
                {
                    var msgs = PrivateMessageEntity.GetLatestPrivateMessages(userId, 1, 20);

                    var list = new List <string> {
                        "Id", "Name", "Date", "LastMessage", "UnRead"
                    };

                    DataTable table = new DataTable();

                    foreach (var item in list)
                    {
                        table.Columns.Add(item, typeof(string));
                    }

                    //Now add some rows(which will be repeated in the ItemTemplate)
                    foreach (var msg in msgs)
                    {
                        table.Rows.Add(
                            msg.PrivateMessageId,
                            msg.ToUser == userId ? msg.SenderFN + " " + msg.SenderLN : msg.ReceiverFN + " " + msg.ReceiverLN,
                            msg.DateSent,
                            msg.Content,
                            msg.DateRead == null && msg.ToUser == userId ? "true" : "false");
                    }

                    messageListView.DataSource = table;
                    messageListView.DataBind();
                }
                else
                {
                    var origMsg = PrivateMessageEntity.GetPrivateMessage(int.Parse(Request.QueryString["msgId"]));
                    var msgs    = PrivateMessageEntity.GetPrivateMessageThread(origMsg.ToUser, origMsg.FromUser);

                    var toUser = userId == origMsg.ToUser ? origMsg.FromUser : origMsg.ToUser;
                    this.toUserId.Value = toUser;

                    var toUserName = toUser != origMsg.FromUser ? origMsg.UserSentTo.FirstName + " " + origMsg.UserSentTo.LastName :
                                     origMsg.UserSentFrom.FirstName + " " + origMsg.UserSentFrom.LastName;

                    this.threadTitle.Text = "Conversation between you and " + toUserName;

                    PrivateMessageEntity.MarkAllConvosAsRead(userId, toUser);

                    var list = new List <string> {
                        "Date", "Author", "Content"
                    };

                    DataTable table = new DataTable();

                    foreach (var item in list)
                    {
                        table.Columns.Add(item, typeof(string));
                    }

                    //Now add some rows(which will be repeated in the ItemTemplate)
                    foreach (var msg in msgs)
                    {
                        table.Rows.Add(
                            msg.DateSent,
                            msg.FromUser == userId ? "You" : msg.UserSentFrom.FirstName + " " + msg.UserSentFrom.LastName,
                            msg.Content
                            );
                    }

                    convoListView.DataSource = table;
                    convoListView.DataBind();
                }
            }
        }