Exemple #1
0
        private async void GetChannelMessages(MessagesPageViewModel vm)
        {
            if (vm.ChannelId != 0 && vm.currentChannel != null)
            {
                ChatChannel channel = await messageService.GetChannel(vm.ChannelId);

                vm.currentChannel     = channel;
                messagesPageViewModel = vm;
            }
            else
            {
                messagesPageViewModel = vm;
            }



            if (messagesPageViewModel.ChannelId != 0 && messagesPageViewModel.currentChannel != null)
            {
                if (messagesPageViewModel.PlayerAdvert != null)
                {
                    opponentAdvert = null;
                    playerAdvert   = messagesPageViewModel.PlayerAdvert;
                }
                else if (messagesPageViewModel.OpponentAdvert != null)
                {
                    opponentAdvert = messagesPageViewModel.OpponentAdvert;
                    playerAdvert   = null;
                }
            }
            else // CHANNEL BOŞ GELMİŞSE
            {
                if (messagesPageViewModel.PlayerAdvert != null)
                {
                    //receiverEmail.Text = model.channelUser1.Email;
                    playerAdvert   = messagesPageViewModel.PlayerAdvert;
                    opponentAdvert = null;
                }
                else
                {
                    //receiverEmail.Text = model.channelUser1.Email;
                    playerAdvert   = null;
                    opponentAdvert = messagesPageViewModel.OpponentAdvert;
                }
            }

            if (messagesPageViewModel.PlayerAdvert != null && messagesPageViewModel.OpponentAdvert == null)
            {
                lblAdvertFirstLine.Text  = messagesPageViewModel.PlayerAdvert.City + " / " + messagesPageViewModel.PlayerAdvert.Town;
                lblAdvertSecondLine.Text = messagesPageViewModel.DateAndTime;
            }
            else if (messagesPageViewModel.PlayerAdvert == null && messagesPageViewModel.OpponentAdvert != null)
            {
                lblAdvertFirstLine.Text  = messagesPageViewModel.OpponentAdvert.City + " şehrinde rakip ilanı";
                lblAdvertSecondLine.Text = "";
            }



            // HEM DB HEM sıgnalr ile ilgili

            CheckProperAdvert();
            if (messagesPageViewModel.currentChannel != null)
            {
                if (messagesPageViewModel.currentChannel.Id != 0)
                {
                    mainChannel = messagesPageViewModel.currentChannel;
                    if (mainChannel.ChatChannelUsers.Count > 0)
                    {
                        if (mainChannel.ChatChannelUsers[1].ChatMessages.Count > 0 || mainChannel.ChatChannelUsers[0].ChatMessages.Count > 0)
                        {
                            List <ChatPageViewModel> tempModel = new List <ChatPageViewModel>();



                            foreach (ChatMessage msg in mainChannel.ChatChannelUsers[0].ChatMessages)
                            {
                                //allMessages.Add(msg);
                                if (mainChannel.ChatChannelUsers[0].UserId == currentUser.Id) // EĞER 0 INDEXLI CHATCHANNELUSER BEN İSEM;
                                {
                                    tempModel.Add(new ChatPageViewModel()
                                    {
                                        Message             = msg.Text,
                                        isMyMessage         = true,
                                        SenderUser          = messagesPageViewModel.currentUser,
                                        isUserChangingPoint = false,
                                        SendingTime         = msg.CreatedOn
                                    });
                                }
                                else
                                {
                                    tempModel.Add(new ChatPageViewModel()
                                    {
                                        Message             = msg.Text,
                                        isMyMessage         = false, // BEN OWNER DEĞİLİM
                                        SenderUser          = messagesPageViewModel.OtherUser,
                                        isUserChangingPoint = false,
                                        SendingTime         = msg.CreatedOn
                                    });
                                }
                                //modelList.Add(new SignalrUser() { message = msg.Text, username = "******" });
                            }
                            foreach (ChatMessage msg in mainChannel.ChatChannelUsers[1].ChatMessages)
                            {
                                //allMessages.Add(msg);
                                //modelList.Add(new SignalrUser() { message = msg.Text, username = "******" });
                                if (mainChannel.ChatChannelUsers[1].UserId == currentUser.Id) // EĞER 1 INDEXLI CHATCHANNELUSER  BEN İSEM;
                                {
                                    tempModel.Add(new ChatPageViewModel()
                                    {
                                        Message             = msg.Text,
                                        isMyMessage         = true,
                                        SenderUser          = messagesPageViewModel.currentUser,
                                        isUserChangingPoint = false,
                                        SendingTime         = msg.CreatedOn
                                    });
                                }
                                else
                                {
                                    tempModel.Add(new ChatPageViewModel()
                                    {
                                        Message             = msg.Text,
                                        isMyMessage         = false,
                                        SenderUser          = messagesPageViewModel.OtherUser,
                                        isUserChangingPoint = false,
                                        SendingTime         = msg.CreatedOn
                                    });
                                }
                            }
                            ChatPageViewModels = tempModel.OrderBy(x => x.SendingTime).ToList();
                            LastMessageOwnerId = ChatPageViewModels[0].SenderUser.Id;
                            ChatPageViewModels[0].isUserChangingPoint = true;
                            foreach (ChatPageViewModel chatPageViewModel in ChatPageViewModels)
                            {
                                if (chatPageViewModel.SenderUser.Id != LastMessageOwnerId)
                                {
                                    chatPageViewModel.isUserChangingPoint = true;
                                    LastMessageOwnerId = chatPageViewModel.SenderUser.Id;
                                }
                            }
                            colMessages.ItemsSource = ChatPageViewModels;
                            colMessages.VerticalScrollBarVisibility = ScrollBarVisibility.Never;
                            colMessages.ScrollTo(ChatPageViewModels.Last(), -1, ScrollToPosition.End, true);
                        }
                    }
                }
            }
            else
            {
                mainChannel = null;
            }
            activityControl.MakeUnVisible(ActivityLayout, activity);
            layoutMain.IsVisible = true;



            return;
        }
Exemple #2
0
        private async void FillReqs()
        {
            activityControl.MakeVisible(ActivityLayout1, activity1);
            reqModel = await service.GetMyRequests();

            if (reqModel.AdvertRequestPlayers.Count == 0 && reqModel.AdvertRequestOpponents.Count == 0)
            {
                noOpenRequest.IsVisible = true;
            }
            else
            {
                DateTime nowT  = DateTime.Now;
                DateTime today = new DateTime(nowT.Year, nowT.Month, nowT.Day);

                foreach (AdvertRequestPlayer advertReq in reqModel.AdvertRequestPlayers)
                {
                    PlayerAdvert advert  = advertReq.PlayerAdvert;
                    DateTime     thatDay = new DateTime(advert.Year, advert.Month, advert.Day);
                    if (today <= thatDay)
                    {
                        requestsModelListCurrent.Add(new MixedRequestsViewModel()
                        {
                            PlayerAdvert        = advert,
                            Type                = "Oyuncu İlanı",
                            AdvertRequestPlayer = advertReq
                        });
                    }
                    else
                    {
                        requestsModelListPast.Add(new MixedRequestsViewModel()
                        {
                            PlayerAdvert        = advert,
                            Type                = "Oyuncu İlanı",
                            AdvertRequestPlayer = advertReq
                        });
                    }
                }
                foreach (AdvertRequestOpponent opponentReq in reqModel.AdvertRequestOpponents)
                {
                    OpponentAdvert opponentAdvert = opponentReq.OpponentAdvert;
                    DateTime       thatDay        = new DateTime(opponentAdvert.Year, opponentAdvert.Month, opponentAdvert.Day);
                    if (today <= thatDay)
                    {
                        requestsModelListCurrent.Add(new MixedRequestsViewModel()
                        {
                            OpponentAdvert        = opponentAdvert,
                            Type                  = "Rakip İlanı",
                            AdvertRequestOpponent = opponentReq
                        });
                    }
                    else
                    {
                        requestsModelListPast.Add(new MixedRequestsViewModel()
                        {
                            OpponentAdvert        = opponentAdvert,
                            Type                  = "Rakip İlanı",
                            AdvertRequestOpponent = opponentReq
                        });
                    }
                }

                collectionView1.ItemsSource = requestsModelListCurrent;
            }

            activityControl.MakeUnVisible(ActivityLayout1, activity1);

            //DataTemplate tmp = new DataTemplate();
            //collectionView0.ItemTemplate.Values
        }
Exemple #3
0
 public DeleteAdvertPage(string type, PlayerAdvert playerAdvert, OpponentAdvert opponentAdvert)
 {
     InitializeComponent();
     mainPlayerAdvert   = playerAdvert;
     mainOpponentAdvert = opponentAdvert;
 }